Skip to content

Commit c03288c

Browse files
doc: Update release instructions
1 parent bc64d92 commit c03288c

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

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

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Here's a checklist for the release process.
4545
1. Update CHANGELOG.md by changing rc(N-1) to rcN. Update the changelog list with information from newly merged PRs also.
4646
2. Update the package versions: `uv run make update-versions NEW_VERSION=v<VERSION>rcN`
4747
3. Add a PR with the rcN.
48-
4. Tag it `git pull && git tag -s v<VERSION>rcN && git push --tags`.
48+
4. Tag it `git pull && git tag -s v<VERSION>rcN && git push origin v<VERSION>rcN`.
4949
5. Pushing the tag automatically starts the "Release 🚀" CI job, creating a draft pre-release and uploading reproducible builds with their `SHA256SUMS` files signed by the project key.
5050
6. Set up the reproducible build environment by running the script `contrib/cl-repro.sh` to generate the necessary builder images.
5151
7. Use the command `tools/build-release.sh bin-Fedora bin-Ubuntu sign` to locally rebuild the release and generate a personal signature file for the checksums.
@@ -56,13 +56,14 @@ Here's a checklist for the release process.
5656

5757
## Tagging the Release
5858

59-
1. Update the CHANGELOG.md; remove -rcN in both places, update the date and add title and namer.
60-
2. Update the contrib/pyln package versions: `uv run make update-versions NEW_VERSION=v<VERSION>`
61-
3. Add a PR with that release.
62-
4. Merge the PR, then:
63-
- `git pull`
64-
- `VERSION=23.05; git tag -a -s v$VERSION -m v$VERSION`
65-
- `git push --tags`
59+
1. Update CHANGELOG.md: remove -rcN in both places, update the date, and add the title and namer.
60+
2. Update project-wide package versions: `uv run make update-versions NEW_VERSION=v<VERSION>`
61+
3. Create a PR with above changes.
62+
4. After the PR is merged, create and push the release tag:
63+
- Run `git pull`.
64+
- Set the current release version in your shell (e.g., if the current release is `v26.03`): `VERSION=26.03`
65+
- Create a signed, annotated tag: `git tag -a -s v$VERSION -m "v$VERSION"`
66+
- Push the tag: `git push origin v$VERSION`
6667
5. Pushing the tag will trigger the CI pipeline, which will draft the pre-release and upload the build artifacts with project-signed checksums.
6768
6. Prepare the build environments by executing the `contrib/cl-repro.sh` script.
6869
7. Run `tools/build-release.sh bin-Fedora bin-Ubuntu sign` (with `--sudo` if you need root to run Docker) to:
@@ -91,7 +92,7 @@ Here's a checklist for the release process.
9192
1. Edit the GitHub draft and include the `SHA256SUMS-v<VERSION>.asc` file.
9293
2. Publish the release as not a draft.
9394
3. Announce the final release on core-lightning's release-chat channel on Discord & Telegram.
94-
4. Send a mail to c-lightning and lightning-dev mailing lists, using the same wording as the Release Notes in GitHub.
95+
4. Send a mail to c-lightning mailing list (`c-lightning@lists.ozlabs.org`), using the same wording as the Release Notes in GitHub.
9596
5. Write release blog, post it on [Blockstream](https://blog.blockstream.com/) and announce the release on Twitter.
9697

9798
## Post-release
@@ -106,11 +107,11 @@ Here's a checklist for the release process.
106107
1. Create a new branch named `release-<VERSION>.<POINT_VERSION>`, where each new branch is based on the commit from the previous release tag. For example, `release-<VERSION>.1` is based on `release-<VERSION>`, `release-<VERSION>.2` is based on `release-<VERSION>.1`, and so on.
107108
2. Cherry-pick all necessary commits for the hotfix into the new branch.
108109
3. Add entries for changes and fixed issues in `CHANGELOG.md` under a new heading for `v<VERSION>.<POINT_VERSION>`.
109-
4. Update the python package versions by running `uv run make update-versions NEW_VERSION=<VERSION>.<POINT_VERSION>`
110+
4. Update project package versions by running `uv run make update-versions NEW_VERSION=<VERSION>.<POINT_VERSION>`
110111
5. Create a new commit that includes the updates from `update-versions` and `CHANGELOG.md`.
111112
6. Tag the release with `git pull && git tag -s v<VERSION>.<POINT_VERSION>`. You will be prompted to enter a tag message, ensure this is filled out.
112113
7. Confirm that the tag is properly set up for builds by running `git describe`.
113-
8. Trigger the pre-release by pushing the version tag with `git push --tags`; the CI will handle drafting the release and uploading the initial signed checksums.
114+
8. Trigger the pre-release by pushing the version tag with `git push origin v<VERSION>.<POINT_VERSION>`; the CI will handle drafting the release and uploading the initial signed checksums.
114115
9. Generate the required builder images by running `contrib/cl-repro.sh`.
115116
10. Sign the release locally by running `tools/build-release.sh bin-Fedora bin-Ubuntu sign` which will sign the release contents and create `SHA256SUMS-v<VERSION>` and `SHA256SUMS-v<VERSION>.asc` in the release folder.
116117
11. Validate that your local checksums `SHA256SUMS-v<VERSION>` match the Draft release's, then add your signatures to the draft release's signature `SHA256SUMS-v<VERSION>.asc` file.

0 commit comments

Comments
 (0)