@@ -21,9 +21,9 @@ upstream https://github.com/pydata/xarray (push)
2121 2. Confirm there are no commits on stable that are not yet merged
2222 ([ref](https://github.com/pydata/xarray/pull/4440)):
2323 ` ` ` sh
24- git merge upstream stable
24+ git merge upstream/ stable
2525 ` ` `
26- 2 . Add a list of contributors with:
26+ 3 . Add a list of contributors with:
2727 ` ` ` sh
2828 git log " $( git tag --sort=" v:refname" | sed -n ' x;$p' ) .." --format=%aN | sort -u | perl -pe ' s/\n/$1, /'
2929 ` ` `
@@ -35,9 +35,9 @@ upstream https://github.com/pydata/xarray (push)
3535 ` ` ` sh
3636 git log v{0.X.Y-1}.. --format=%aN | sort -u | wc -l
3737 ` ` `
38- 3 . Write a release summary: ~ 50 words describing the high level features. This
38+ 4 . Write a release summary: ~ 50 words describing the high level features. This
3939 will be used in the release emails, tweets, GitHub release notes, etc.
40- 4 . Look over whats-new.rst and the docs. Make sure " What's New" is complete
40+ 5 . Look over whats-new.rst and the docs. Make sure " What's New" is complete
4141 (check the date! ) and add the release summary at the top.
4242 Things to watch out for:
4343 - Important new features should be highlighted towards the top.
@@ -46,46 +46,48 @@ upstream https://github.com/pydata/xarray (push)
4646 due to a bad merge. Check for these before a release by using git diff,
4747 e.g., ` git diff v{0.X.Y-1} whats-new.rst` where {0.X.Y-1} is the previous
4848 release.
49- 5. If possible, open a PR with the release summary and whatsnew changes.
50- 6. After merging, again ensure your master branch is synced to upstream:
49+ 6. Open a PR with the release summary and whatsnew changes; in particular the
50+ release headline should get feedback from the team on what' s important to include.
51+ 7. After merging, again ensure your master branch is synced to upstream:
5152 ```sh
5253 git pull upstream master
5354 ```
54- 7 . If you have any doubts, run the full test suite one final time!
55+ 8 . If you have any doubts, run the full test suite one final time!
5556 ```sh
5657 pytest
5758 ```
58- 8. Check that the ReadTheDocs build is passing.
59- 9. On the master branch, commit the release in git:
60- ` ` ` sh
61- git commit -am ' Release v{0.X.Y}'
62- ` ` `
59+ 9. Check that the ReadTheDocs build is passing.
636010. Tag the release:
6461 ```sh
6562 git tag -a v{0.X.Y} -m ' v{0.X.Y}'
6663 ```
67- 11. Build source and binary wheels for PyPI :
64+ 11. Ensure the dependencies for building are installed :
6865 ```sh
69- git clean -xdf # this deletes all uncommitted changes!
66+ pip install setuptools-scm twine wheel
67+ ```
68+ 12. Build source and binary wheels for PyPI:
69+ ```sh
70+ git clean -xdf # This removes any untracked files!
71+ git restore -SW . # This removes any tracked changes!
7072 python setup.py bdist_wheel sdist
7173 ```
72- 12 . Use twine to check the package build:
74+ 13 . Use twine to check the package build:
7375 ```sh
7476 twine check dist/xarray-{0.X.Y}*
7577 ```
76- 13 . Use twine to register and upload the release on PyPI. Be careful, you can' t
78+ 14 . Use twine to register and upload the release on PyPI. Be careful, you can' t
7779 take this back!
7880 ` ` ` sh
7981 twine upload dist/xarray-{0.X.Y}*
8082 ` ` `
8183 You will need to be listed as a package owner at
8284 < https://pypi.python.org/pypi/xarray> for this to work.
83- 14 . Push your changes to master:
85+ 15 . Push your changes to master:
8486 ` ` ` sh
8587 git push upstream master
8688 git push upstream --tags
8789 ` ` `
88- 15 . Update the stable branch (used by ReadTheDocs) and switch back to master:
90+ 16 . Update the stable branch (used by ReadTheDocs) and switch back to master:
8991 ` ` ` sh
9092 git switch stable
9193 git rebase master
@@ -95,18 +97,22 @@ upstream https://github.com/pydata/xarray (push)
9597 It' s OK to force push to `stable` if necessary. (We also update the stable
9698 branch with `git cherry-pick` for documentation only fixes that apply the
9799 current released version.)
98- 16 . Add a section for the next release {0.X.Y+1} to doc/whats-new.rst:
100+ 17 . Add a section for the next release {0.X.Y+1} to doc/whats-new.rst:
99101 ```rst
100102 .. _whats-new.{0.X.Y+1}:
101103
102104 v{0.X.Y+1} (unreleased)
103105 ---------------------
104106
107+ New Features
108+ ~~~~~~~~~~~~
109+
110+
105111 Breaking changes
106112 ~~~~~~~~~~~~~~~~
107113
108114
109- New Features
115+ Deprecations
110116 ~~~~~~~~~~~~
111117
112118
@@ -120,20 +126,21 @@ upstream https://github.com/pydata/xarray (push)
120126
121127 Internal Changes
122128 ~~~~~~~~~~~~~~~~
129+
123130 ```
124- 17 . Commit your changes and push to master again:
131+ 18 . Commit your changes and push to master again:
125132 ```sh
126133 git commit -am ' New whatsnew section'
127134 git push upstream master
128135 ```
129136 You' re done pushing to master!
130- 18 . Issue the release on GitHub. Click on "Draft a new release" at
137+ 19 . Issue the release on GitHub. Click on " Draft a new release" at
131138 < https://github.com/pydata/xarray/releases> . Type in the version number
132139 and paste the release summary in the notes.
133- 19 . Update the docs. Login to <https://readthedocs.org/projects/xray/versions/>
140+ 20 . Update the docs. Login to < https://readthedocs.org/projects/xray/versions/>
134141 and switch your new release tag (at the bottom) from " Inactive" to " Active" .
135142 It should now build automatically.
136- 20 . Issue the release announcement to mailing lists & Twitter. For bug fix releases, I
143+ 21 . Issue the release announcement to mailing lists & Twitter. For bug fix releases, I
137144 usually only email
[email protected] . For major/feature releases, I will email a broader
138145 list (no more than once every 3-6 months):
139146
0 commit comments