3
3
Time required: about an hour.
4
4
5
5
These instructions assume that ` upstream ` refers to the main repository:
6
- ```
6
+
7
+ ``` sh
7
8
$ git remote -v
8
9
{...}
9
10
upstream https://github.com/pydata/xarray (fetch)
10
11
upstream https://github.com/pydata/xarray (push)
11
12
```
12
13
14
+ <!-- markdownlint-disable MD031 -->
15
+
13
16
1 . Ensure your master branch is synced to upstream:
14
17
``` sh
15
18
git pull upstream master
16
19
```
17
- 2. Get a list of contributors with:
20
+ 2. Add a list of contributors with:
18
21
` ` ` sh
19
22
git log " $( git tag --sort=" v:refname" | sed -n ' x;$p' ) .." --format=%aN | sort -u | perl -pe ' s/\n/$1, /'
20
23
` ` `
21
24
or by substituting the _previous_ release in {0.X.Y-1}:
22
25
` ` ` sh
23
26
git log v{0.X.Y-1}.. --format=%aN | sort -u | perl -pe ' s/\n/$1, /'
24
27
` ` `
25
- Add these into ` whats-new.rst` somewhere :)
28
+ This will return the number of contributors:
29
+ ` ` ` sh
30
+ git log v{0.X.Y-1}.. --format=%aN | sort -u | wc -l
31
+ ` ` `
26
32
3. Write a release summary: ~ 50 words describing the high level features. This
27
- will be used in the release emails, tweets, GitHub release notes, etc.
33
+ will be used in the release emails, tweets, GitHub release notes, etc.
28
34
4. Look over whats-new.rst and the docs. Make sure " What's New" is complete
29
35
(check the date! ) and add the release summary at the top.
30
36
Things to watch out for:
@@ -45,7 +51,7 @@ upstream https://github.com/pydata/xarray (push)
45
51
` ` `
46
52
8. Check that the ReadTheDocs build is passing.
47
53
9. On the master branch, commit the release in git:
48
- ` ` ` s
54
+ ` ` ` sh
49
55
git commit -am ' Release v{0.X.Y}'
50
56
` ` `
51
57
10. Tag the release:
@@ -67,7 +73,7 @@ upstream https://github.com/pydata/xarray (push)
67
73
twine upload dist/xarray-{0.X.Y}*
68
74
```
69
75
You will need to be listed as a package owner at
70
- https://pypi.python.org/pypi/xarray for this to work.
76
+ < https://pypi.python.org/pypi/xarray> for this to work.
71
77
14. Push your changes to master:
72
78
```sh
73
79
git push upstream master
@@ -80,11 +86,11 @@ upstream https://github.com/pydata/xarray (push)
80
86
git push --force upstream stable
81
87
git checkout master
82
88
```
83
- It' s OK to force push to ' stable' if necessary. (We also update the stable
84
- branch with ` git cherry-pick` for documentation only fixes that apply the
89
+ It' s OK to force push to ' stable' if necessary. (We also update the stable
90
+ branch with ` git cherry-pick` for documentation only fixes that apply the
85
91
current released version.)
86
92
16. Add a section for the next release {0.X.Y+1} to doc/whats-new.rst:
87
- ` ` `
93
+ ` ` ` rst
88
94
.. _whats-new.{0.X.Y+1}:
89
95
90
96
v{0.X.Y+1} (unreleased)
@@ -116,12 +122,12 @@ upstream https://github.com/pydata/xarray (push)
116
122
` ` `
117
123
You' re done pushing to master!
118
124
18. Issue the release on GitHub. Click on "Draft a new release" at
119
- https://github.com/pydata/xarray/releases. Type in the version number
125
+ < https://github.com/pydata/xarray/releases> . Type in the version number
120
126
and paste the release summary in the notes.
121
- 19. Update the docs. Login to https://readthedocs.org/projects/xray/versions/
127
+ 19. Update the docs. Login to < https://readthedocs.org/projects/xray/versions/>
122
128
and switch your new release tag (at the bottom) from "Inactive" to "Active".
123
129
It should now build automatically.
124
- 20. Issue the release announcement to mailing lists & Twitter. For bug fix releases, I
130
+ 20. Issue the release announcement to mailing lists & Twitter. For bug fix releases, I
125
131
usually only email [email protected] . For major/feature releases, I will email a broader
126
132
list (no more than once every 3-6 months):
127
133
@@ -133,6 +139,8 @@ upstream https://github.com/pydata/xarray (push)
133
139
Google search will turn up examples of prior release announcements (look for
134
140
"ANN xarray").
135
141
142
+ <!-- markdownlint-enable MD013 -->
143
+
136
144
## Note on version numbering
137
145
138
146
We follow a rough approximation of semantic version. Only major releases (0.X.0)
0 commit comments