mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-20 10:39:49 +01:00
04a57ae4af
1. These days we delete the [Unreleased] tag during rcs. 2. Make sure we test the release build process during rc1, since I screwed that up last release. 3. Add a section on rc2, etc. 4. Do final release via a github PR, since I screwed that up on the prior release. 5. Update `tools/build-release.sh` and instructions to show that we now make a reproducible build for Ubuntu 18.04 x86-64. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2.8 KiB
2.8 KiB
Release checklist
Here's a checklist for the release process.
Leading Up To The Release
- Talk to team about whether there are any changes which MUST go in this release which may cause delay.
- Create a milestone for the next release, and go though issues and PR and mark accordingly.
- Ask the most significant contributor who has not already named a release to name the release (use devtools/credit). CC previous namers and team.
Prepering for -rc1
- Check that CHANGELOG.md is well formatted, ordered in areas, covers all signficant changes, and sub-ordered approximately by user impact & coolness.
- Update the CHANGELOG.md with [Unreleased] changed to -rc1.
- Create a PR with the above.
Releasing -rc1
- Merge the PR above.
- Tag it
git pull && git tag -s v<VERSION>rc1 && git push --tags
- Update the /topic on #c-lightning on Freenode.
- Prepare draft release notes (see devtools/credit), and share with team for editing.
- Upgrade your personal nodes to the rc1, to help testing.
- Test
tools/build-release.sh
to build the non-reprodicible images and reproducible zipfile. - Use the zipfile to produce a reproducible build.
Releasing -rc2, etc
- Change rc1 to rc2 in CHANGELOG.md.
- Add a PR with the rc2.
- Tag it
git pull && git tag -s v<VERSION>rc2 && git push --tags
- Update the /topic on #c-lightning on Freenode.
- Upgrade your personal nodes to the rc2.
Tagging the Release
- Update the CHANGELOG.md; remove -rcN in both places, and add an [Unreleased] footnote URL from this new version to HEAD.
- Add a PR with that release.
- Merge the PR, then
git pull && git tag -s v<VERSION> && git push --tags
. - Run
tools/build-release.sh
to build the non-reprodicible images and reproducible zipfile. - Use the zipfile to produce a reproducible build.
- Create the checksums for signing:
sha256sum release/* > release/SHA256SUMS
- Create the first signature with
gpg -sb --armor release/SHA256SUMS
- Upload the files resulting files to github and save as a draft. (https://github.com/ElementsProject/lightning/releases/)
- Ping the rest of the team to check the SHA256SUMS file and have them send their
gpg -sb --armor SHA256SUMS
. - Append the signatures into a file called
SHA256SUMS.asc
, verify withgpg --verify SHA256SUMS.asc
and include the file in the draft release.
Performing the Release
- Edit the GitHub draft and include the
SHA256SUMS.asc
file. - Publish the release as not a draft.
- Update the /topic on #c-lightning on Freenode.
- Send a mail to c-lightning and lightning-dev mailing lists, using the same wording as the Release Notes in github.
Post-release
- Add a new '[Unreleased]' section the CHANGELOG.md with empty headers.
- Look through PRs which were delayed for release and merge them.