Show More
@@ -76,18 +76,8 of any file that could be problematic. | |||||
76 | previous build attempts. |
|
76 | previous build attempts. | |
77 |
|
77 | |||
78 |
|
78 | |||
79 |
|
79 | 4. Update the release version number | ||
80 | 4. Run the `tools/build_release` script |
|
80 | ------------------------------------ | |
81 | --------------------------------------- |
|
|||
82 |
|
||||
83 | Running `tools/build_release` does all the file checking and building that |
|
|||
84 | the real release script will do. This makes test installations, checks that |
|
|||
85 | the build procedure runs OK, and tests other steps in the release process. |
|
|||
86 |
|
||||
87 | We encourage creating a test build of the docs as well. |
|
|||
88 |
|
||||
89 | 5. Create and push the new tag |
|
|||
90 | ------------------------------ |
|
|||
91 |
|
81 | |||
92 | Edit `IPython/core/release.py` to have the current version. |
|
82 | Edit `IPython/core/release.py` to have the current version. | |
93 |
|
83 | |||
@@ -98,9 +88,24 Make sure the version number matches pep440, in particular, `rc` and `beta` are | |||||
98 | not separated by `.` or the `sdist` and `bdist` will appear as different |
|
88 | not separated by `.` or the `sdist` and `bdist` will appear as different | |
99 | releases. For example, a valid version number for a release candidate (rc) |
|
89 | releases. For example, a valid version number for a release candidate (rc) | |
100 | release is: ``1.3rc1``. Notice that there is no separator between the '3' and |
|
90 | release is: ``1.3rc1``. Notice that there is no separator between the '3' and | |
101 | the 'r'. |
|
91 | the 'r'. Check the environment variable `$VERSION` as well. | |
102 |
|
92 | |||
103 |
|
|
93 | ||
|
94 | 5. Run the `tools/build_release` script | |||
|
95 | --------------------------------------- | |||
|
96 | ||||
|
97 | Running `tools/build_release` does all the file checking and building that | |||
|
98 | the real release script will do. This makes test installations, checks that | |||
|
99 | the build procedure runs OK, and tests other steps in the release process. | |||
|
100 | ||||
|
101 | The `build_release` script will in particular verify that the version number | |||
|
102 | match PEP 440, in order to avoid surprise at the time of build upload. | |||
|
103 | ||||
|
104 | We encourage creating a test build of the docs as well. | |||
|
105 | ||||
|
106 | 6. Create and push the new tag | |||
|
107 | ------------------------------ | |||
|
108 | ||||
104 | Commit the changes to release.py:: |
|
109 | Commit the changes to release.py:: | |
105 |
|
110 | |||
106 | git commit -am "release $VERSION" |
|
111 | git commit -am "release $VERSION" | |
@@ -116,7 +121,7 Update release.py back to `x.y-dev` or `x.y-maint`, and push:: | |||||
116 | git commit -am "back to development" |
|
121 | git commit -am "back to development" | |
117 | git push origin $BRANCH |
|
122 | git push origin $BRANCH | |
118 |
|
123 | |||
119 |
|
|
124 | 7. Get a fresh clone | |
120 | -------------------- |
|
125 | -------------------- | |
121 |
|
126 | |||
122 | Get a fresh clone of the tag for building the release:: |
|
127 | Get a fresh clone of the tag for building the release:: | |
@@ -124,7 +129,7 Get a fresh clone of the tag for building the release:: | |||||
124 | cd /tmp |
|
129 | cd /tmp | |
125 | git clone --depth 1 https://github.com/ipython/ipython.git -b "$VERSION" |
|
130 | git clone --depth 1 https://github.com/ipython/ipython.git -b "$VERSION" | |
126 |
|
131 | |||
127 |
|
|
132 | 8. Run the release script | |
128 | ------------------------- |
|
133 | ------------------------- | |
129 |
|
134 | |||
130 | Run the `release` script, this step requires having a current wheel, Python >=3.4 and Python 2.7.:: |
|
135 | Run the `release` script, this step requires having a current wheel, Python >=3.4 and Python 2.7.:: | |
@@ -147,7 +152,7 dist/*`) manually to actually upload on PyPI. Unlike setuptools, twine is able | |||||
147 | to upload packages over SSL. |
|
152 | to upload packages over SSL. | |
148 |
|
153 | |||
149 |
|
154 | |||
150 |
|
|
155 | 9. Draft a short release announcement | |
151 | ------------------------------------- |
|
156 | ------------------------------------- | |
152 |
|
157 | |||
153 | The announcement should include: |
|
158 | The announcement should include: | |
@@ -158,8 +163,8 The announcement should include: | |||||
158 |
|
163 | |||
159 | Post the announcement to the mailing list and or blog, and link from Twitter. |
|
164 | Post the announcement to the mailing list and or blog, and link from Twitter. | |
160 |
|
165 | |||
161 |
|
|
166 | 10. Update milestones on GitHub | |
162 | ------------------------------ |
|
167 | ------------------------------- | |
163 |
|
168 | |||
164 | These steps will bring milestones up to date: |
|
169 | These steps will bring milestones up to date: | |
165 |
|
170 | |||
@@ -167,7 +172,7 These steps will bring milestones up to date: | |||||
167 | - open a new milestone for the next release (x, y+1), if the milestone doesn't |
|
172 | - open a new milestone for the next release (x, y+1), if the milestone doesn't | |
168 | exist already |
|
173 | exist already | |
169 |
|
174 | |||
170 |
1 |
|
175 | 11. Update the IPython website | |
171 | ------------------------------ |
|
176 | ------------------------------ | |
172 |
|
177 | |||
173 | The IPython website should document the new release: |
|
178 | The IPython website should document the new release: | |
@@ -176,7 +181,7 The IPython website should document the new release: | |||||
176 | - update current version and download links |
|
181 | - update current version and download links | |
177 | - update links on the documentation page (especially if a major release) |
|
182 | - update links on the documentation page (especially if a major release) | |
178 |
|
183 | |||
179 |
1 |
|
184 | 12. Celebrate! | |
180 | -------------- |
|
185 | -------------- | |
181 |
|
186 | |||
182 | Celebrate the release and please thank the contributors for their work. Great |
|
187 | Celebrate the release and please thank the contributors for their work. Great |
General Comments 0
You need to be logged in to leave comments.
Login now