-
Notifications
You must be signed in to change notification settings - Fork 905
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release Automation #7797
base: master
Are you sure you want to change the base?
Release Automation #7797
Conversation
4cc2af4
to
b96650b
Compare
|
b96650b
to
f81b231
Compare
Rebased against Fixes #6228 |
One possible improvement, or point of discussion, would be to have manually triggered workflows just check out the tag that is specified by user input, instead of expecting the tag they enter to match that of HEAD. Advantages are that one could manually build releases for arbitrary tags, avoids somewhat flaky expectation that tag == HEAD, and possibly more intuitive. Disadvantage is that we might need duplicate |
f81b231
to
10685c1
Compare
9a6148c
to
49b13af
Compare
From @ShahanaFarooqui on Discord:
Latest commits add a new Also removed the |
Changelog-None
Also modifies the `build-release.sh` script to optionally accept specific distribution targets for Ubuntu releases.
Adds a `--without-zip` parameter default `false` which optionally skips the archive, to allow for signing releases from CI.
49b13af
to
f9e08ce
Compare
]). Changelog-Changed: Added architecture identifier to Ubuntu release artifacts. ([ElementsProject#6228])
f9e08ce
to
d71914a
Compare
Rebased against |
This PR fixes #7776 by adding a new CI action called "Release" which is triggered when a release tag is pushed, or via manual dispatch. The action:
Requires the addition of repository variables named
GPG_PRIVATE_KEY
andGPG_PASSPHRASE
which represent a CI signing key. The release captain and signers would be expected to perform a local reproducible build and add their key toSHA256SUMS.asc
as a manual process and re-upload that asset to the release.Release documentation has been updated as a best guess for
rc1
instructions.Fixes #7776
Fixes #6228
Notes
tools/build-release.sh
script to allow for distribution-specific targets for the Ubuntu builds, for parallelization.--without-zip
option totools/build-release.sh
script to skip creating a default archive when one just wants to sign the artifacts from Github.Testing
It's a little hard to test, as I think tag pushes and workflow_dispatches need to be in
master
to trigger. However, I have another branch with some testing configuration setup here and have been running the CI via a branch push (ex https://github.com/s373nZ/lightning/actions/runs/11728964685).In order to test, one must:
CHANGELOG.md
file with a dummy release title line that will map to a release tag.See this commit for an example.
Possible improvements or TODOs
Audit and remove unused Dockerfiles and release tooling.Add a PGP signing key to as a Github secret variable and do initial release signing as part of the CI as well.Create the draft release object in CI and assign the release artifacts to it.Try to address Releases don't include architecture type #6228 as well, by changing the release file names to includeamd64
in the Ubuntu target versions.Checklist
Before submitting the PR, ensure the following tasks are completed. If an item is not applicable to your PR, please mark it as checked: