Skip to content

Commit 9b606e9

Browse files
authored
Merge pull request #25 from AgoraIO/fix/cosign-bundle-signing
Fix release Cosign bundle signing
2 parents 54f6316 + d42753a commit 9b606e9

4 files changed

Lines changed: 14 additions & 15 deletions

File tree

.goreleaser.yaml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,28 +61,26 @@ sboms:
6161

6262
# ---------------------------------------------------------------------------
6363
# Cosign signatures (keyless / OIDC)
64-
# Signs every checksum file, archive SBOM, and Linux package SBOM with the
65-
# release workflow's GitHub Actions OIDC token. The resulting transparency
66-
# log entries are stored in Sigstore Rekor and verifiable with:
64+
# Signs the checksum file with the release workflow's GitHub Actions OIDC
65+
# token. The resulting transparency log entry is stored in Sigstore Rekor and
66+
# verifiable with:
6767
#
6868
# cosign verify-blob \
6969
# --certificate-identity-regexp '^https://github.com/AgoraIO/cli/' \
7070
# --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
71-
# --signature <artifact>.sig --certificate <artifact>.pem <artifact>
71+
# --bundle <artifact>.sigstore.json <artifact>
7272
#
7373
# Requires `cosign` on the runner and `id-token: write` in release.yml
7474
# (already granted for npm provenance).
7575
# ---------------------------------------------------------------------------
7676
signs:
7777
- id: cosign-keyless
7878
cmd: cosign
79-
signature: "${artifact}.sig"
80-
certificate: "${artifact}.pem"
79+
signature: "${artifact}.sigstore.json"
8180
args:
8281
- "sign-blob"
8382
- "--yes"
84-
- "--output-signature=${signature}"
85-
- "--output-certificate=${certificate}"
83+
- "--bundle=${signature}"
8684
- "${artifact}"
8785
artifacts: checksum
8886
output: true

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ Earlier entries pre-date this convention and only carry their version's compare
1515

1616
## [Unreleased]
1717

18+
### Fixed
19+
20+
- Update GoReleaser Cosign signing to emit `checksums.txt.sigstore.json` with `--bundle`, matching Cosign's current bundle-based signing flow.
21+
1822
## [0.2.2] - 2026-05-26
1923

2024
Python quickstart repository URL correction.

docs/install.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -349,17 +349,15 @@ For CI, automation, and reproducible environments, pin `VERSION` explicitly inst
349349
Every release is signed with [Cosign](https://docs.sigstore.dev/cosign/overview/) using GitHub Actions OIDC (keyless mode) and ships an [SPDX 2.3](https://spdx.dev/) SBOM per archive and per Linux package. To verify the `checksums.txt` file before trusting any artifact:
350350

351351
```bash
352-
TAG=v0.2.1
352+
TAG=vX.Y.Z
353353
ASSET_BASE="https://github.com/AgoraIO/cli/releases/download/${TAG}"
354354
curl -fsSLO "${ASSET_BASE}/checksums.txt"
355-
curl -fsSLO "${ASSET_BASE}/checksums.txt.sig"
356-
curl -fsSLO "${ASSET_BASE}/checksums.txt.pem"
355+
curl -fsSLO "${ASSET_BASE}/checksums.txt.sigstore.json"
357356

358357
cosign verify-blob \
359358
--certificate-identity-regexp '^https://github.com/AgoraIO/cli/' \
360359
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
361-
--certificate checksums.txt.pem \
362-
--signature checksums.txt.sig \
360+
--bundle checksums.txt.sigstore.json \
363361
checksums.txt
364362
```
365363

docs/proposals/supply-chain-hardening.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,7 @@ verify_cosign_optional() {
182182
if command -v cosign >/dev/null 2>&1; then
183183
say_step "Verifying checksums.txt signature with cosign..."
184184
cosign verify-blob \
185-
--certificate "${CHECKSUMS_PATH}.pem" \
186-
--signature "${CHECKSUMS_PATH}.sig" \
185+
--bundle "${CHECKSUMS_PATH}.sigstore.json" \
187186
--certificate-identity-regexp "https://github.com/AgoraIO/cli/.github/workflows/release.yml@refs/tags/v.*" \
188187
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
189188
"$CHECKSUMS_PATH" >/dev/null

0 commit comments

Comments
 (0)