Skip to content

Sign the update site with PGP - #69

Merged
vogella merged 1 commit into
mainfrom
tycho-signing
Aug 31, 2026
Merged

Sign the update site with PGP#69
vogella merged 1 commit into
mainfrom
tycho-signing

Conversation

@vogella

@vogella vogella commented Aug 31, 2026

Copy link
Copy Markdown
Member

Adds PGP signing of the update site via the tycho-gpg-plugin in the updatesite module, following the recommendation in the Tycho tutorial for open source plug-ins. The signatures land in the p2 metadata, so the jars stay unchanged and there is no interaction with the p2 checksums. Eclipse bundles keep their existing jar signature; the vogella bundles and the unsigned third party bundles from Maven Central get the PGP signature, and the public key is added to the repository so p2 can show it to the user.

Signing is skipped by default, so local builds are unaffected. The CI enables it and takes the release key from the MAVEN_GPG_KEY and MAVEN_GPG_PASSPHRASE secrets; until those are set it generates a throwaway Ed25519 key per run, which keeps the signing step exercised. The key is handed to Tycho as a file via tycho.pgp.signer.bc.secretKeys, because with signer=bc alone Tycho 5.0.4 still shells out to gpg to read the key from the keybox. Verified locally: 49 artifacts carry pgp.signatures, the build passes.

Add the tycho-gpg-plugin to the updatesite module so that the artifacts
of the p2 repository get a PGP signature in the p2 metadata. The jars
stay unchanged, Eclipse bundles keep their own jar signature and only
the vogella bundles and unsigned third party bundles are signed.

Signing is off by default. The CI enables it and uses the release key
from the MAVEN_GPG_KEY and MAVEN_GPG_PASSPHRASE secrets, or a throwaway
Ed25519 key when the secrets are not set, so the signing step runs on
every build. The key is passed as file via
tycho.pgp.signer.bc.secretKeys, since the Bouncy Castle signer of Tycho
otherwise still reads the key through the gpg executable.

Assisted-by: multiple AI agents and layers of automated tooling 🤖
@vogella vogella changed the title Sign bundles and features in the Tycho build Sign the update site with PGP Aug 31, 2026
@vogella
vogella merged commit e9fcc0b into main Aug 31, 2026
1 check passed
@vogella
vogella deleted the tycho-signing branch August 31, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant