Sign release artifacts in CI #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Sign the release artifacts (RPM, deb, APK, WASM zip) produced by the CI pipeline so users can verify they came from this project.
Approach
1. Create a dedicated signing key
Generate a GPG key specifically for CI signing (not a personal key):
Export the private key and store it as a Forgejo repository secret (
Settings → Secrets → Actions), e.g.GPG_SIGNING_KEY.Publish the public key in the repo (e.g.
pkg/signing-key.asc) so users can import it.2. Add signing steps to the release workflow
In each build job or in the final
releasejob, import the key and sign:rpmsign --addsign *.rpmdpkg-sig -k <KEY_ID> --sign builder *.debgpg --detach-sign --armor <file>Upload
.ascsignature files alongside the artifacts.3. Optional: sign git tags too
Configure
git tag -sfor release tags so Forgejo shows a "Verified" badge. This uses a personal key (not the CI key).Tasks