Skip to content

Commit 217df32

Browse files
committed
tools/build-release.sh: always append version to SHA256SUMS file.
Telling users to rename it is a poor idea, and if you have multiple releases in your release/ dir it will get confusing. So always append -v25.09 and update docs accordingly. Signed-off-by: Rusty Russell <[email protected]>
1 parent 83d8f9c commit 217df32

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

doc/contribute-to-core-lightning/release-checklist.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ Here's a checklist for the release process.
3333
2. Tag it `git pull && git tag -s v<VERSION>rc1`. Note that you should get a prompt to give this tag a 'message'. Make sure you fill this in.
3434
3. Confirm that the tag will show up for builds with `git describe`. We don't push it to GitHub yet, just in case the following steps fail, and more fixes are required!
3535
5. Run the script `contrib/cl-repro.sh` for [Builder image setup](https://docs.corelightning.org/docs/repro#builder-image-setup). This will create the required builder images `cl-repro-<codename>` for the next step.
36-
6. Sign the release locally by running `tools/build-release.sh` which will sign the release contents and create SHA256SUMS and SHA256SUMS.asc in the release folder.
36+
6. Sign the release locally by running `tools/build-release.sh` which will sign the release contents and create `SHA256SUMS-v<VERSION>` and `SHA256SUMS-v<VERSION>.asc` in the release folder.
3737
7. Push the tag to remote `git push --tags` (pushing the tag will kickoff the "Release 🚀" CI action which builds the release targets and a draft release).
3838
8. Compare your release/`c-lightning-<release tag>`.zip on GitHub.
39-
9. Check the generated draft `v<VERSION>rc1` release on Github and check `Set as a pre-release` option. Add the SHA256SUMS.asc from your local release folder to newly drafted release, replacing it.
39+
9. Check the generated draft `v<VERSION>rc1` release on Github and check `Set as a pre-release` option. Add the `SHA256SUMS-v<VERSION>.asc` from your local release folder to newly drafted release, replacing it.
4040
9. Announce rc1 release on core-lightning's release-chat channel on Discord & [BuildOnL2](https://community.corelightning.org/c/general-questions/).
4141
10. Use `devtools/credit --verbose v<PREVIOUS-VERSION>` to get commits, days and contributors data for release note.
4242
11. Prepare release notes draft including information from above step, and share with the team for editing.
@@ -50,7 +50,7 @@ Here's a checklist for the release process.
5050
2. Update the package versions: `make update-versions NEW_VERSION=v<VERSION>rcN`
5151
3. Add a PR with the rcN.
5252
4. Tag it `git pull && git tag -s v<VERSION>rcN && git push --tags`
53-
5. Draft a new `v<VERSION>rcN` pre-release on Github, upload reproducible builds, SHA256SUMS and SHA256SUMS.asc.
53+
5. Draft a new `v<VERSION>rcN` pre-release on Github, upload reproducible builds, `SHA256SUMS-v<VERSION>` and `SHA256SUMS-v<VERSION>.asc`.
5454
5. Announce tagged rc release on core-lightning's release-chat channel on Discord & [BuildOnL2](https://community.corelightning.org/c/general-questions/).
5555
6. Upgrade your personal nodes to the rcN.
5656
7. Confirm that Github actions for PyPI and Docker publishing are working as expected.
@@ -74,14 +74,13 @@ Here's a checklist for the release process.
7474
`sudo chown ${USER}:${USER} *${VERSION}*`
7575
7. Upload the resulting files to github and save as a draft.
7676
(<https://github.com/ElementsProject/lightning/releases/>)
77-
8. Send `SHA256SUMS` & `SHA256SUMS.asc` files to the rest of the team to check and sign the release.
77+
8. Send `SHA256SUMS-v<VERSION>` & `SHA256SUMS-v<VERSION>.asc` files to the rest of the team to check and sign the release.
7878
9. Team members can verify the release with the help of `build-release.sh`:
79-
1. Rename release captain's `SHA256SUMS` to `SHA256SUMS-v${VERSION}` and `SHA256SUMS.asc` to `SHA256SUMS-v${VERSION}.asc`.
80-
2. Copy them in the root folder (`lightning`).
79+
1. Copy the release captain's `SHA256SUMS-v<VERSION>` and `SHA256SUMS-v<VERSION>.asc` into the root folder (`lightning`).
8180
3. Run `tools/build-release.sh --verify`. It will create reproducible images, verify checksums and sign.
82-
4. Send your signatures from `release/SHA256SUMS.new` to release captain.
81+
4. Send your signatures from `release/SHA256SUMS-v<VERSION>.asc` to release captain.
8382
5. Or follow [link](https://docs.corelightning.org/docs/repro#verifying-a-reproducible-build) for manual verification instructions.
84-
10. Append signatures shared by the team into the `SHA256SUMS.asc` file, verify with `gpg --verify SHA256SUMS.asc` and include the file in the draft release.
83+
10. Append signatures shared by the team into the `SHA256SUMS-v<VERSION>.asc` file, verify with `gpg --verify SHA256SUMS-v<VERSION>.asc` and include the file in the draft release.
8584
11. The GitHub action `Publish Python 🐍 distributions 📦 to PyPI and TestPyPI` should upload the pyln modules to pypi.org. However, this can also be done manually by running `make pyln-release`. This process requires keys for each of the `pyln-client`, `pyln-proto`, and `pyln-testing` modules to be accessible to uv. You can set the key as an environment variable and build and publish each pyln release independently:
8685
- `export UV_PUBLISH_TOKEN=<pyln-client token>`
8786
- `make pyln-release-client`
@@ -91,7 +90,7 @@ Here's a checklist for the release process.
9190

9291
## Performing the Release
9392

94-
1. Edit the GitHub draft and include the `SHA256SUMS.asc` file.
93+
1. Edit the GitHub draft and include the `SHA256SUMS-v<VERSION>.asc` file.
9594
2. Publish the release as not a draft.
9695
3. Announce the final release on core-lightning's release-chat channel on Discord & [BuildOnL2](https://community.corelightning.org/c/general-questions/).
9796
4. Send a mail to c-lightning and lightning-dev mailing lists, using the same wording as the Release Notes in GitHub.
@@ -118,9 +117,9 @@ Here's a checklist for the release process.
118117
9. Create a new release draft for `v<VERSION>.<POINT_VERSION>` on GitHub, ensuring to check the `Set as a pre-release` option.
119118
10. Execute the script contrib/cl-repro.sh for the [Builder image setup](https://docs.corelightning.org/docs/repro#builder-image-setup). This will generate the builder images `cl-repro-<codename>` needed for the next step.
120119
11. Run the following script to prepare the required builds `tools/build-release.sh bin-Fedora bin-Ubuntu sign`.
121-
12. Upload the reproducible builds along with `SHA256SUMS` and `SHA256SUMS.asc` files from the release folder to the newly drafted release.
122-
13. Share the `SHA256SUMS` and `SHA256SUMS.asc` files with the team for verification and signing.
123-
14. Append the signatures received from the team to the `SHA256SUMS.asc` file. Verify the file using `gpg --verify SHA256SUMS.asc`. Then re-upload the file.
120+
12. Upload the reproducible builds along with `SHA256SUMS-v<VERSION>` and `SHA256SUMS-v<VERSION>.asc` files from the release folder to the newly drafted release.
121+
13. Share the `SHA256SUMS-v<VERSION>` and `SHA256SUMS-v<VERSION>.asc` files with the team for verification and signing.
122+
14. Append the signatures received from the team to the `SHA256SUMS-v<VERSION>.asc` file. Verify the file using `gpg --verify SHA256SUMS-v<VERSION>.asc`. Then re-upload the file.
124123
15. Finalize and publish the release (change it from draft to public).
125124
16. Ensure that the GitHub Actions for `Publish Python 🐍 distributions 📦 to PyPI and TestPyPI` and `Build and push multi-platform docker images` are functioning correctly. Check that the `PyPI` modules published on `https://pypi.org/project/pyln-*` and that the Docker image has been uploaded to Docker Hub.
126125
17. Announce the hotfix release in the core-lightning release-chat channel on Discord and on [BuildOnL2](https://community.corelightning.org/c/general-questions/).

tools/build-release.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ fi
227227
if [ -z "${TARGETS##* sign *}" ]; then
228228
echo "Signing Release"
229229
cd release/ || exit
230-
sha256sum clightning-"$VERSION"* > SHA256SUMS
231-
gpg -sb --armor -o SHA256SUMS.asc"$(gpgconf --list-options gpg | awk -F: '$1 == "default-key" {print $10}' | tr -d '"')" SHA256SUMS
230+
sha256sum clightning-"$VERSION"* > SHA256SUMS-"$VERSION"
231+
gpg -sb --armor -o SHA256SUMS-"$VERSION".asc "$(gpgconf --list-options gpg | awk -F: '$1 == "default-key" {print $10}' | tr -d '"')" SHA256SUMS-"$VERSION"
232232
cd ..
233233
echo "Release Signed"
234234
fi

0 commit comments

Comments
 (0)