Skip to content

Commit 6ba54b8

Browse files
committed
update release procedure to reflect reality
1 parent f2dbe2e commit 6ba54b8

File tree

1 file changed

+29
-70
lines changed

1 file changed

+29
-70
lines changed

docs/release-checklist.rst

Lines changed: 29 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -93,59 +93,36 @@ Create Branch and Apply Updates
9393
- Confirm CI runs successfully on all platforms
9494

9595

96-
Create Release Candidate
97-
````````````````````````
98-
99-
Before "officially" tagging any release, we will make a
100-
release-candidate available. So there will be at least 1.15.0rc0 (for
101-
example). If there are any problems, an rc1 or rc2 etc may also be
102-
released. Anyone can sign these releases (ideally they'd be signed
103-
"officially" as well, but it's better to get them out than to wait for
104-
that).
105-
106-
Typically expert users will be the ones testing release candidates and
107-
they will need to evaluate which contributors' signatures they trust.
108-
109-
- (all steps above are completed)
110-
- sign the release
111-
112-
- git tag -s -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A -m "release Tahoe-LAFS-1.16.0rc0" tahoe-lafs-1.16.0rc0
113-
114-
.. note::
115-
- Replace the key-id above with your own, which can simply be your email if it's attached to your fingerprint.
116-
- Don't forget to put the correct tag message and name. In this example, the tag message is "release Tahoe-LAFS-1.16.0rc0" and the tag name is ``tahoe-lafs-1.16.0rc0``
96+
Create The Release
97+
``````````````````
11798

11899
- build all code locally
119100

120101
- these should all pass:
121102

122-
- tox -e py37,codechecks,docs,integration
103+
- tox -e py311,codechecks,docs,integration
123104

124105
- these can fail (ideally they should not of course):
125106

126107
- tox -e deprecations,upcoming-deprecations
127108

128-
- clone to a clean, local checkout (to avoid extra files being included in the release)
129-
130-
- cd /tmp
131-
- git clone /home/meejah/src/tahoe-lafs
109+
- install build dependencies
132110

133-
- build tarballs
111+
- pip install -e .[build]
134112

135-
- tox -e tarballs
136-
- Confirm that release tarballs exist by runnig:
113+
- build tarball + wheel (should be built into dist/)
137114

138-
- ls dist/ | grep 1.16.0rc0
115+
- hatchling build
139116

140117
- inspect and test the tarballs
141118

142-
- install each in a fresh virtualenv
143-
- run `tahoe` command
119+
- install each in a fresh virtualenv
120+
- run `tahoe` command
144121

145122
- when satisfied, sign the tarballs:
146123

147-
- gpg --pinentry=loopback --armor -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A --detach-sign dist/tahoe_lafs-1.16.0rc0-py2.py3-none-any.whl
148-
- gpg --pinentry=loopback --armor --detach-sign dist/tahoe_lafs-1.16.0rc0.tar.gz
124+
- gpg --pinentry=loopback --armor -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A --detach-sign dist/tahoe_lafs-1.20.0rc0-py2.py3-none-any.whl
125+
- gpg --pinentry=loopback --armor --detach-sign dist/tahoe_lafs-1.20.0rc0.tar.gz
149126

150127

151128
Privileged Contributor
@@ -172,14 +149,14 @@ Sign Git Tag
172149
Upload Artifacts
173150
````````````````
174151

175-
Any release-candidate or actual release plus signature (.asc file)
176-
need to be uploaded to https://tahoe-lafs.org in `~source/downloads`
152+
Any release plus signature (.asc file) need to be uploaded to
153+
https://tahoe-lafs.org in `~source/downloads`
177154

178155
- secure-copy all release artifacts to the download area on the
179156
tahoe-lafs.org host machine. `~source/downloads` on there maps to
180157
https://tahoe-lafs.org/downloads/ on the Web:
181158

182-
- scp dist/*1.15.0* username@tahoe-lafs.org:/home/source/downloads
159+
- scp dist/*1.20.0* username@tahoe-lafs.org:/home/source/downloads
183160

184161
- the following developers have access to do this:
185162

@@ -189,13 +166,13 @@ need to be uploaded to https://tahoe-lafs.org in `~source/downloads`
189166

190167
Push the signed tag to the main repository:
191168

192-
- git push origin tahoe-lafs-1.17.1
169+
- git push origin tahoe-lafs-1.20.0
193170

194171
For the actual release, the tarball and signature files need to be
195172
uploaded to PyPI as well.
196173

197-
- ls dist/*1.19.0*
198-
- twine upload --username __token__ --password `cat SECRET-pypi-tahoe-publish-token` dist/*1.19.0*
174+
- ls dist/*1.20.0*
175+
- twine upload --username __token__ --password `cat SECRET-pypi-tahoe-publish-token` dist/*1.20.0*
199176

200177
The following developers have access to do this:
201178

@@ -204,47 +181,29 @@ The following developers have access to do this:
204181
- exarkun (partial?)
205182

206183

207-
Announcing the Release Candidate
208-
````````````````````````````````
209-
210-
The release-candidate should be announced by posting to the
211-
mailing-list (tahoe-dev@lists.tahoe-lafs.org). For example:
212-
https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2020-October/009978.html
213-
214-
215-
Is The Release Done Yet?
184+
Merge the Release Branch
216185
````````````````````````
217186

218-
If anyone reports a problem with a release-candidate then a new
219-
release-candidate should be made once a fix has been merged to
220-
master. Repeat the above instructions with `rc1` or `rc2` or whatever
221-
is appropriate.
222-
223-
Once a release-candidate has marinated for some time then it can be
224-
made into a the actual release.
225-
226-
The actual release follows the same steps as above, with some differences:
227-
228-
- there is no "-rcX" on the end of release names
229-
- the release is uploaded to PyPI (using Twine)
230-
- the version is tagged in Git (ideally using "the tahoe release key"
231-
but can be done with any of the authorized core developers' personal
232-
key)
233-
- the release-candidate branches must be merged back to master after
234-
the release is official (e.g. causing newsfragments to be deleted on
235-
master, etc)
187+
Once the release has been signed and uploaded the release branch
188+
should be merged to master (thus deleting newsfragments, etc).
236189

237190

238191
Announcing the Release
239-
----------------------
192+
``````````````````````
193+
194+
The release-candidate should be announced by posting to the
195+
mailing-list (tahoe-dev@lists.tahoe-lafs.org).
240196

241197

242198
mailing-lists
243199
`````````````
244200

245201
A new Tahoe release is traditionally announced on our mailing-list
246-
(tahoe-dev@tahoe-lafs.org). The former version of these instructions
247-
also announced the release on the following other lists:
202+
(tahoe-dev@lists.tahoe-lafs.org). For example:
203+
https://lists.tahoe-lafs.org/pipermail/tahoe-dev/2020-October/009978.html
204+
205+
The former version of these instructions also announced the release on
206+
the following other lists:
248207

249208
- tahoe-announce@tahoe-lafs.org
250209
- twisted-python@twistedmatrix.com

0 commit comments

Comments
 (0)