On this page
Verify a release
The release workflow is configured to publish
CLI archives, detached signatures (.sig), signing certificates (.cert), and
CycloneDX/SPDX software bills of materials (SBOMs), which list packaged components. Verify the files attached to your
selected release before using them. You need its signatures and certificates
to complete these steps.
Verify an archive
Download the archive and its matching .sig and .cert files from the
Pipit releases page. Install Cosign
with support for detached signature/certificate verification, such as Cosign 2.x.
The Cosign verify-blob reference
describes these flags.
Set tag to the release tag you selected and archive to the downloaded filename.
Windows archives use .zip instead of .tar.gz.
For a release built from a tag, verify the exact workflow identity and GitHub issuer:
tag='vYOUR_RELEASE'
archive='pipit-YOUR_ARCHIVE.tar.gz'
cosign verify-blob "$archive" \
--signature "$archive.sig" \
--certificate "$archive.cert" \
--certificate-identity "https://github.com/piko-sh/pipit/.github/workflows/release.yml@refs/tags/$tag" \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com'
Successful verification checks the archive against the signature and the selected signer identity. Keep the identity exact; do not replace it with an unrestricted regular expression. The detached format may need online access to the transparency log. Stop if a signature or certificate is missing, or verification fails.
The release also includes checksums-sha256.txt, and each archive contains a
SHA256SUMS file. These checksums are not signed. They can detect a damaged
download, but only the signature confirms where an archive came from.
Verify an SBOM
Each archive has <archive>.sbom.cdx.json and <archive>.sbom.spdx.json assets,
with their own .sig and .cert files. Use the same command with archive set
to the SBOM filename. The SBOM describes packaged components; a valid signature
does not establish that those components are vulnerability-free.
The workflow also requests GitHub build-provenance attestations for archives. These are separate from the detached signatures described above.