@ -17,8 +17,7 @@ Here's a checklist for the release process.
1. Check that CHANGELOG.md is well formatted, ordered in areas,
1. Check that CHANGELOG.md is well formatted, ordered in areas,
covers all signficant changes, and sub-ordered approximately by user impact
covers all signficant changes, and sub-ordered approximately by user impact
& coolness.
& coolness.
2. Update the CHANGELOG.md with [Unreleased] changed to -rc1, and add a new
2. Update the CHANGELOG.md with [Unreleased] changed to -rc1.
footnote.
3. Create a PR with the above.
3. Create a PR with the above.
### Releasing -rc1
### Releasing -rc1
@ -28,21 +27,35 @@ Here's a checklist for the release process.
3. Update the /topic on #c -lightning on Freenode.
3. Update the /topic on #c -lightning on Freenode.
4. Prepare draft release notes (see devtools/credit), and share with team for editing.
4. Prepare draft release notes (see devtools/credit), and share with team for editing.
5. Upgrade your personal nodes to the rc1, to help testing.
5. Upgrade your personal nodes to the rc1, to help testing.
6. Test `tools/build-release.sh` to build the non-reprodicible images
and reproducible zipfile.
7. Use the zipfile to produce a [reproducible build ](REPRODUCIBLE.md ).
### Releasing -rc2, etc
1. Change rc1 to rc2 in CHANGELOG.md.
2. Add a PR with the rc2.
3. Tag it `git pull && git tag -s v<VERSION>rc2 && git push --tags`
4. Update the /topic on #c -lightning on Freenode.
5. Upgrade your personal nodes to the rc2.
### Tagging the Release
### Tagging the Release
1. Update the CHANGELOG.md; remove -rc1 in both places, and move the
1. Update the CHANGELOG.md; remove -rcN in both places, and add an
[Unreleased] footnote URL from the previous version to the
[Unreleased] footnote URL from this new version to HEAD.
about-to-be-released version.
2. Add a PR with that release.
2. Commit that, then `git tag -s v<VERSION> && git push --tags` .
3. Merge the PR, then `git pull && git tag -s v<VERSION> && git push --tags` .
3. Run `tools/build-release.sh` to create the images, `SHA256SUMS` and
4. Run `tools/build-release.sh` to build the non-reprodicible images
signatures into release/.
and reproducible zipfile.
4. Upload the files resulting files to github and
5. Use the zipfile to produce a [reproducible build ](REPRODUCIBLE.md ).
6. Create the checksums for signing: `sha256sum release/* > release/SHA256SUMS`
7. Create the first signature with `gpg -sb --armor release/SHA256SUMS`
8. Upload the files resulting files to github and
save as a draft.
save as a draft.
(https://github.com/ElementsProject/lightning/releases/)
(https://github.com/ElementsProject/lightning/releases/)
5. Ping the rest of the team to check the SHA256SUMS file and have them
9 . Ping the rest of the team to check the SHA256SUMS file and have them send their
`gpg -sb --armor SHA256SUMS` .
`gpg -sb --armor SHA256SUMS` .
6 . Append the signatures into a file called `SHA256SUMS.asc` , verify
10 . Append the signatures into a file called `SHA256SUMS.asc` , verify
with `gpg --verify SHA256SUMS.asc` and include the file in the draft
with `gpg --verify SHA256SUMS.asc` and include the file in the draft
release.
release.