From bd5887d4096f8c8c3f5ee06a324de50422371160 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 15 Oct 2020 14:56:44 -0600 Subject: [PATCH 01/16] news --- newsfragments/3478.minor | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/3478.minor diff --git a/newsfragments/3478.minor b/newsfragments/3478.minor new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/newsfragments/3478.minor @@ -0,0 +1 @@ + From 83f191957a2e1ec9ad04973fe5b7af4af68b9eeb Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 15 Oct 2020 14:56:55 -0600 Subject: [PATCH 02/16] release process --- docs/release-checklist.rst | 151 +++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 docs/release-checklist.rst diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst new file mode 100644 index 000000000..330b50687 --- /dev/null +++ b/docs/release-checklist.rst @@ -0,0 +1,151 @@ +.. -*- coding: utf-8-with-signature -*- + +================= +Release Checklist +================= + +meejah produced this list while making the 1.15.0 release. Many of the +things in the `how_to_make_a_tahoe-lafs_release.org` document aren't +relevant anymore. However, until we are sure that a "new release list" +is correct and works, I don't just want to completely revise it. + +A major difference here is splitting into things that "any +contributer" can do and things that contributers with possibly more +access need to do. + +So, follow *this* list for 1.16.0 and if it seems complete, we should +delete the older checklist after that. + +Any Contributor +--------------- + +Anyone who can create normal PRs should be able to complete this +portion of the release process. + + +Prepare for the Release +``````````````````````` + +The `master` branch should always be releasable. However, it is worth +asking on appropriate channels (IRC, the mailing-list, Nuts and Bolts +meetings) whether there are interesting changes that should be +included (or NOT included) etc. + +- Create a ticket for the release in Trac +- Ticket number needed in next section + + +Create Branch and Apply Updates +``````````````````````````````` + +- Create a branch for release-candidates (e.g. `release-1.15.0.rc0`) +- run `tox -e news` to produce a new NEWS.txt file (this does a commit) +- create the news for the release + - newsfragments/.minor + - commit it +- manually fix NEWS.txt + - proper title for lastest release (instead of "Release ...post1432") + - double-check date + - spot-check the release notes (these come from the newsfragments + files though so don't do heavy editing) + - commit these changes +- update "relnotes.txt" + - update all mentions of 1.14.0 -> 1.15.0 + - update "previous release" statement and date + - summarize major changes + - commit it +- update "CREDITS" + - are there any new contributers in this release? + - one way: git log release-1.14.0.. | grep Author | sort | uniq + - commit it +- update "docs/known_issues.rst" if appropriate +- update "docs/INSTALL.rst" references to the new release +- Push the branch to github +- Create a (draft) PR; this should trigger CI (note that github + doesn't let you create a PR without some changes on the branch so + running + commiting the NEWS.txt file achieves that without changing + any code) +- Confirm CI runs successfully on all platforms + + +Create Release Candidate +```````````````````````` + +Before "officially" tagging any release, we will make a +release-candidate available. So there will be at least 1.15.0rc0 (for +example). If there are any problems, an rc1 or rc2 etc may also be +released. Anyone can sign these releases (ideally they'd be signed +"officially" as well, but it's better to get them out than to wait for +that). + +Typically expert users will be the ones testing release candidates and +they will need to evaluate which contributers' signatures they trust. + +- (all steps above are completed) +- sign the release + - git tag -s -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A -m "release Tahoe-LAFS-1.15.0rc0" tahoe-lafs-1.15.0.rc0 + - (replace the key-id above with your own) +- build all code locally + - these should all pass: + - tox -e py27,codechecks,docs,integration + - these can fail (ideally they should not of course): + - tox -e deprecations,upcoming-deprecations +- build tarballs + - tox -e tarballs + - confirm it at least exists: + - ls dist/ | grep 1.15.0rc0 +- inspect and test the tarballs + - install each in a fresh virtualenv + - run basic tests +- when satisfied, sign the tarballs: + - gpg --pinentry=loopback --armor --sign dist/tahoe_lafs-1.15.0rc0-py2-none-any.whl + - gpg --pinentry=loopback --armor --sign dist/tahoe_lafs-1.15.0rc0.tar.bz2 + - gpg --pinentry=loopback --armor --sign dist/tahoe_lafs-1.15.0rc0.tar.gz + - gpg --pinentry=loopback --armor --sign dist/tahoe_lafs-1.15.0rc0.zip + + +Privileged Contributor +----------------------- + +Steps in this portion require special access to keys or +infrastructure. For example, **access to tahoe-lafs.org** to upload +binaries or edit HTML. + +Hack Tahoe-LAFS +``````````````` + +Did anyone contribute a hack since the last release? If so, then +https://tahoe-lafs.org/hacktahoelafs/ needs to be updated. + + +Upload Artifacts +```````````````` + +Any release-candidate or actual release plus signature (.asc file) +need to be uploaded to https://tahoe-lafs.org in ~source/downloads + +- how to do this? +- who has access to do this? + +For the actual release, the tarball and signature files need to be +uploaded to PyPI. + +- how to do this? +- (original guide says only "twine upload dist/*") +- who has access to do this? + +The actual release and signature also needs to be uploaded to GitHub +so that it appears in "releases", e.g.: + +- https://github.com/tahoe-lafs/tahoe-lafs/releases/tag/tahoe-lafs-1.14.0 + + +Upload Dependencies +``````````````````` + +The original guide says, "upload wheels to +https://tahoe-lafs.org/deps/" which seems to be all the wheels of all +the dependencies. There are no instructions on how to collect these or +where to put them on the tahoe-lafs.org machines. + + From b66f7f13a95acfd792f91bc110d733f1c82b2e6e Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 15 Oct 2020 14:57:08 -0600 Subject: [PATCH 03/16] remove obsolete document --- docs/how_to_make_a_tahoe-lafs_release.org | 110 ---------------------- 1 file changed, 110 deletions(-) delete mode 100644 docs/how_to_make_a_tahoe-lafs_release.org diff --git a/docs/how_to_make_a_tahoe-lafs_release.org b/docs/how_to_make_a_tahoe-lafs_release.org deleted file mode 100644 index b3f2a84d7..000000000 --- a/docs/how_to_make_a_tahoe-lafs_release.org +++ /dev/null @@ -1,110 +0,0 @@ -How to Make a Tahoe-LAFS Release - -Any developer with push priveleges can do most of these steps, but a -"Release Maintainer" is required for some signing operations -- these -steps are marked with (Release Maintainer). Currently, the following -people are Release Maintainers: - - - Brian Warner (https://github.com/warner) - - -* select features/PRs for new release [0/2] - - [ ] made sure they are tagged/labeled - - [ ] merged all release PRs - -* basic quality checks [0/3] - - [ ] all travis CI checks pass - - [ ] all appveyor checks pass - - [ ] all buildbot workers pass their checks - -* freeze master branch [0/1] - - [ ] announced the freeze of the master branch on IRC (i.e. non-release PRs won't be merged until after release) - -* sync documentation [0/7] - - - [ ] NEWS.rst: (run "tox -e news") - - [ ] added final release name and date to top-most item in NEWS.rst - - [ ] updated relnotes.txt (change next, last versions; summarize NEWS) - - [ ] updated CREDITS - - [ ] updated docs/known_issues.rst - - [ ] docs/INSTALL.rst only points to current tahoe-lafs-X.Y.Z.tar.gz source code file - - [ ] updated https://tahoe-lafs.org/hacktahoelafs/ - -* sign + build the tag [0/8] - - - [ ] code passes all checks / tests (i.e. all CI is green) - - [ ] documentation is ready (see above) - - [ ] (Release Maintainer): git tag -s -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A -m "release Tahoe-LAFS-X.Y.Z" tahoe-lafs-X.Y.Z - - [ ] build code locally: - tox -e py27,codechecks,deprecations,docs,integration,upcoming-deprecations - - [ ] created tarballs (they'll be in dist/ for later comparison) - tox -e tarballs - - [ ] release version is reporting itself as intended version - ls dist/ - - [ ] 'git pull' doesn't pull anything - - [ ] pushed tag to trigger buildslaves - git push official master TAGNAME - - [ ] confirmed Dockerhub built successfully: - https://hub.docker.com/r/tahoelafs/base/builds/ - -* sign the release artifacts [0/8] - - - [ ] (Release Maintainer): pushed signed tag (should trigger Buildbot builders) - - [ ] Buildbot workers built all artifacts successfully - - [ ] downloaded upstream tarballs+wheels - - [ ] announce on IRC that master is unlocked - - [ ] compared upstream tarballs+wheels against local copies - - [ ] (Release Maintainer): signed each upstream artifacts with "gpg -ba -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A FILE" - - [ ] added to relnotes.txt: [0/3] - - [ ] prefix with SHA256 of tarballs - - [ ] release pubkey - - [ ] git revision hash - - [ ] GPG-signed the release email with release key (write to - relnotes.txt.asc) Ideally this is a Release Maintainer, but could - be any developer - -* publish release artifacts [0/9] - - - [ ] uploaded to PyPI via: twine upload dist/* - - [ ] uploaded *.asc to org ~source/downloads/ - - [ ] test install works properly: pip install tahoe-lafs - - [ ] copied the release tarballs and signatures to tahoe-lafs.org: ~source/downloads/ - - [ ] moved old release out of ~source/downloads (to downloads/old/?) - - [ ] ensured readthedocs.org updated - - [ ] uploaded wheels to https://tahoe-lafs.org/deps/ - - [ ] uploaded release to https://github.com/tahoe-lafs/tahoe-lafs/releases - -* check release downloads [0/] - - - [ ] test PyPI via: pip install tahoe-lafs - - [ ] https://github.com/tahoe-lafs/tahoe-lafs/releases - - [ ] https://tahoe-lafs.org/downloads/ - - [ ] https://tahoe-lafs.org/deps/ - -* document release in trac [0/] - - - [ ] closed the Milestone on the trac Roadmap - -* unfreeze master branch [0/] - - - [ ] announced on IRC that new PRs will be looked at/merged - -* announce new release [0/] - - - [ ] sent release email and relnotes.txt.asc to tahoe-announce@tahoe-lafs.org - - [ ] sent release email and relnotes.txt.asc to tahoe-dev@tahoe-lafs.org - - [ ] updated Wiki front page: version on download link, News column - - [ ] updated Wiki "Doc": parade of release notes (with rev of NEWS.rst) - - [ ] make an "announcement of new release" on freshmeat (XXX still a thing?) - - [ ] make an "announcement of new release" on launchpad - - [ ] tweeted as @tahoelafs - - [ ] emailed relnotes.txt.asc to below listed mailing-lists/organizations - - [ ] also announce release to (trimmed from previous version of this doc): - - twisted-python@twistedmatrix.com - - liberationtech@lists.stanford.edu - - lwn@lwn.net - - p2p-hackers@lists.zooko.com - - python-list@python.org - - http://listcultures.org/pipermail/p2presearch_listcultures.org/ - - cryptopp-users@googlegroups.com - - (others?) From e549eec5cce7a56017f4fbed3fa0a45feacfbeca Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 15 Oct 2020 14:57:55 -0600 Subject: [PATCH 04/16] whitespace --- docs/release-checklist.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 330b50687..7ba60413e 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -16,6 +16,7 @@ access need to do. So, follow *this* list for 1.16.0 and if it seems complete, we should delete the older checklist after that. + Any Contributor --------------- @@ -111,6 +112,7 @@ Steps in this portion require special access to keys or infrastructure. For example, **access to tahoe-lafs.org** to upload binaries or edit HTML. + Hack Tahoe-LAFS ``````````````` From 3dae92567ebbaa8aec47a8d4aeb0773822618571 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 15 Oct 2020 15:02:50 -0600 Subject: [PATCH 05/16] update upload process --- docs/release-checklist.rst | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 7ba60413e..e42f97b41 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -126,20 +126,23 @@ Upload Artifacts Any release-candidate or actual release plus signature (.asc file) need to be uploaded to https://tahoe-lafs.org in ~source/downloads -- how to do this? -- who has access to do this? +- secure-copy all release artifacts to the download area on the + tahoe-lafs.org host machine. `~source/downloads` on there maps to + https://tahoe-lafs.org/downloads/ on the Web. +- scp dist/*1.15.0* meejah@tahoe-lafs.org:/home/source/downloads +- the following developers have access to do this: + - exarkun + - meejah + - warner For the actual release, the tarball and signature files need to be -uploaded to PyPI. +uploaded to PyPI as well. - how to do this? - (original guide says only "twine upload dist/*") -- who has access to do this? - -The actual release and signature also needs to be uploaded to GitHub -so that it appears in "releases", e.g.: - -- https://github.com/tahoe-lafs/tahoe-lafs/releases/tag/tahoe-lafs-1.14.0 +- the following developers have access to do this: + - exarkun + - warner Upload Dependencies @@ -150,4 +153,4 @@ https://tahoe-lafs.org/deps/" which seems to be all the wheels of all the dependencies. There are no instructions on how to collect these or where to put them on the tahoe-lafs.org machines. - +Is this step still useful? From 738abf96f6488481983e961a1b57261fe2619d36 Mon Sep 17 00:00:00 2001 From: meejah Date: Fri, 16 Oct 2020 22:40:13 -0600 Subject: [PATCH 06/16] get rid of emacs-ism --- docs/release-checklist.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index e42f97b41..ce2fba7a0 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -1,4 +1,3 @@ -.. -*- coding: utf-8-with-signature -*- ================= Release Checklist From 3f4d83d3407ba4561b8c36a2234b27eeff1d5fb9 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 18:50:22 -0600 Subject: [PATCH 07/16] update preamble --- docs/release-checklist.rst | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index ce2fba7a0..706f71f1d 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -3,17 +3,13 @@ Release Checklist ================= -meejah produced this list while making the 1.15.0 release. Many of the -things in the `how_to_make_a_tahoe-lafs_release.org` document aren't -relevant anymore. However, until we are sure that a "new release list" -is correct and works, I don't just want to completely revise it. +These instructions were produced while making the 1.15.0 release. They +are based on the original instructions (in old revisions in the file +`docs/how_to_make_a_tahoe-lafs_release.org`). -A major difference here is splitting into things that "any -contributer" can do and things that contributers with possibly more -access need to do. - -So, follow *this* list for 1.16.0 and if it seems complete, we should -delete the older checklist after that. +Any contributer can do the first part of the release preparation. Only +certain contributers can perform other parts. These are the two main +sections of this checklist (and could be done by different people). Any Contributor From ff1fb29bcc3f08d816b6a791d455acd31d0fadd1 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 18:50:29 -0600 Subject: [PATCH 08/16] formatting --- docs/release-checklist.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 706f71f1d..221af86f0 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -119,12 +119,12 @@ Upload Artifacts ```````````````` Any release-candidate or actual release plus signature (.asc file) -need to be uploaded to https://tahoe-lafs.org in ~source/downloads +need to be uploaded to https://tahoe-lafs.org in `~source/downloads` - secure-copy all release artifacts to the download area on the tahoe-lafs.org host machine. `~source/downloads` on there maps to https://tahoe-lafs.org/downloads/ on the Web. -- scp dist/*1.15.0* meejah@tahoe-lafs.org:/home/source/downloads +- scp dist/*1.15.0* username@tahoe-lafs.org:/home/source/downloads - the following developers have access to do this: - exarkun - meejah From e4ae954ee5e94111ce86e000a13d4ff6a3e81915 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 18:50:44 -0600 Subject: [PATCH 09/16] remove 'upload dependencies', clarify access --- docs/release-checklist.rst | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 221af86f0..cec48681c 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -136,16 +136,6 @@ uploaded to PyPI as well. - how to do this? - (original guide says only "twine upload dist/*") - the following developers have access to do this: - - exarkun - warner - - -Upload Dependencies -``````````````````` - -The original guide says, "upload wheels to -https://tahoe-lafs.org/deps/" which seems to be all the wheels of all -the dependencies. There are no instructions on how to collect these or -where to put them on the tahoe-lafs.org machines. - -Is this step still useful? + - exarkun (partial?) + - meejah (partial?) From 2bcccacc51434eef42b5a2f005e66f2c6344d595 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 18:55:54 -0600 Subject: [PATCH 10/16] different words about asking-about-release --- docs/release-checklist.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index cec48681c..76a292e51 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -22,10 +22,11 @@ portion of the release process. Prepare for the Release ``````````````````````` -The `master` branch should always be releasable. However, it is worth -asking on appropriate channels (IRC, the mailing-list, Nuts and Bolts -meetings) whether there are interesting changes that should be -included (or NOT included) etc. +The `master` branch should always be releasable. + +It may be worth asking (on IRC or mailing-ist) if anything will be +merged imminently (for example, "I will prepare a release this coming +Tuesday if you want to get anything in"). - Create a ticket for the release in Trac - Ticket number needed in next section From dbe71143202220724be8e5b69570b9731308e5b9 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 18:58:19 -0600 Subject: [PATCH 11/16] clarify more --- docs/release-checklist.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 76a292e51..7fa6d463c 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -41,8 +41,8 @@ Create Branch and Apply Updates - newsfragments/.minor - commit it - manually fix NEWS.txt - - proper title for lastest release (instead of "Release ...post1432") - - double-check date + - proper title for lastest release ("Release 1.15.0" instead of "Release ...post1432") + - double-check date (maybe release will be in the future) - spot-check the release notes (these come from the newsfragments files though so don't do heavy editing) - commit these changes From 99bcf43406bc92031fe607b5f1078d4dcb12b720 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 18:58:31 -0600 Subject: [PATCH 12/16] no dot before 'rc' --- docs/release-checklist.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 7fa6d463c..958c19500 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -80,7 +80,7 @@ they will need to evaluate which contributers' signatures they trust. - (all steps above are completed) - sign the release - - git tag -s -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A -m "release Tahoe-LAFS-1.15.0rc0" tahoe-lafs-1.15.0.rc0 + - git tag -s -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A -m "release Tahoe-LAFS-1.15.0rc0" tahoe-lafs-1.15.0rc0 - (replace the key-id above with your own) - build all code locally - these should all pass: From 059a3ecaa5d80873f5f5373f502a3804a6b368bd Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 19:01:26 -0600 Subject: [PATCH 13/16] less vague --- docs/release-checklist.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 958c19500..b52220d36 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -93,7 +93,7 @@ they will need to evaluate which contributers' signatures they trust. - ls dist/ | grep 1.15.0rc0 - inspect and test the tarballs - install each in a fresh virtualenv - - run basic tests + - run `tahoe` command - when satisfied, sign the tarballs: - gpg --pinentry=loopback --armor --sign dist/tahoe_lafs-1.15.0rc0-py2-none-any.whl - gpg --pinentry=loopback --armor --sign dist/tahoe_lafs-1.15.0rc0.tar.bz2 From 5654ea7b4144393a85a1e2a83b6e124b9bd31522 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 19:11:34 -0600 Subject: [PATCH 14/16] spelling and announcing-the-release --- docs/release-checklist.rst | 41 ++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index b52220d36..b3e2bdb4f 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -7,10 +7,12 @@ These instructions were produced while making the 1.15.0 release. They are based on the original instructions (in old revisions in the file `docs/how_to_make_a_tahoe-lafs_release.org`). -Any contributer can do the first part of the release preparation. Only -certain contributers can perform other parts. These are the two main +Any contributor can do the first part of the release preparation. Only +certain contributors can perform other parts. These are the two main sections of this checklist (and could be done by different people). +A final section describes how to announce the release. + Any Contributor --------------- @@ -41,7 +43,7 @@ Create Branch and Apply Updates - newsfragments/.minor - commit it - manually fix NEWS.txt - - proper title for lastest release ("Release 1.15.0" instead of "Release ...post1432") + - proper title for latest release ("Release 1.15.0" instead of "Release ...post1432") - double-check date (maybe release will be in the future) - spot-check the release notes (these come from the newsfragments files though so don't do heavy editing) @@ -52,7 +54,7 @@ Create Branch and Apply Updates - summarize major changes - commit it - update "CREDITS" - - are there any new contributers in this release? + - are there any new contributors in this release? - one way: git log release-1.14.0.. | grep Author | sort | uniq - commit it - update "docs/known_issues.rst" if appropriate @@ -60,7 +62,7 @@ Create Branch and Apply Updates - Push the branch to github - Create a (draft) PR; this should trigger CI (note that github doesn't let you create a PR without some changes on the branch so - running + commiting the NEWS.txt file achieves that without changing + running + committing the NEWS.txt file achieves that without changing any code) - Confirm CI runs successfully on all platforms @@ -76,7 +78,7 @@ released. Anyone can sign these releases (ideally they'd be signed that). Typically expert users will be the ones testing release candidates and -they will need to evaluate which contributers' signatures they trust. +they will need to evaluate which contributors' signatures they trust. - (all steps above are completed) - sign the release @@ -140,3 +142,30 @@ uploaded to PyPI as well. - warner - exarkun (partial?) - meejah (partial?) + + +Announcing the Release +---------------------- + + +mailing-lists +````````````` + +A new Tahoe release is traditionally announced on our mailing-list +(tahoe-dev@tahoe-lafs.org). The former version of these instructions +also announced the release on the following other lists: + +- twisted-python@twistedmatrix.com +- liberationtech@lists.stanford.edu +- lwn@lwn.net +- p2p-hackers@lists.zooko.com +- python-list@python.org +- http://listcultures.org/pipermail/p2presearch_listcultures.org/ +- cryptopp-users@googlegroups.com + + +wiki +```` + +Edit the "News" section of the front page of https://tahoe-lafs.org +with a link to the mailing-list archive of the announcement message. From b394323dc27d09d3f10d9dc2c0873504d33f0aff Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 19:13:01 -0600 Subject: [PATCH 15/16] ticket number --- docs/release-checklist.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index b3e2bdb4f..9823c08d6 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -37,7 +37,7 @@ Tuesday if you want to get anything in"). Create Branch and Apply Updates ``````````````````````````````` -- Create a branch for release-candidates (e.g. `release-1.15.0.rc0`) +- Create a branch for release-candidates (e.g. `XXXX.release-1.15.0.rc0`) - run `tox -e news` to produce a new NEWS.txt file (this does a commit) - create the news for the release - newsfragments/.minor From 1747ca790796531ba7c0185cddb7de9b21d7a453 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 29 Oct 2020 19:23:48 -0600 Subject: [PATCH 16/16] add loop --- docs/release-checklist.rst | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 9823c08d6..be32aea6c 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -143,6 +143,31 @@ uploaded to PyPI as well. - exarkun (partial?) - meejah (partial?) +Announcing the Release Candidate +```````````````````````````````` + +The release-candidate should be announced by posting to the +mailing-list (tahoe-dev@tahoe-lafs.org). For example: +https://tahoe-lafs.org/pipermail/tahoe-dev/2020-October/009995.html + + +Is The Release Done Yet? +```````````````````````` + +If anyone reports a problem with a release-candidate then a new +release-candidate should be made once a fix has been merged to +master. Repeat the above instructions with `rc1` or `rc2` or whatever +is appropriate. + +Once a release-candidate has marinated for some time then it can be +made into a the actual release. + +XXX Write this section when doing 1.15.0 actual release + +(In general, this means dropping the "rcX" part of the release and the +tag, uploading those artifacts, uploading to PyPI, ... ) + + Announcing the Release ---------------------- @@ -155,6 +180,7 @@ A new Tahoe release is traditionally announced on our mailing-list (tahoe-dev@tahoe-lafs.org). The former version of these instructions also announced the release on the following other lists: +- tahoe-announce@tahoe-lafs.org - twisted-python@twistedmatrix.com - liberationtech@lists.stanford.edu - lwn@lwn.net