Skip to content

Commit ffb3a16

Browse files
aksOpsclaude
andauthored
fix(release): cosign v4 bundle format (#136)
v0.3.0 release run #25779630060 succeeded through the linux builds but failed at the cosign signing step: Error: signing dist/checksums.sha256: create bundle file: open : no such file or directory Root cause: cosign v4 deprecated `--output-signature` and `--output-certificate` in favor of a single `--bundle` file (DSSE- style envelope carrying both the cert and the sig). The deprecated flags were silently ignored when the new bundle format was active, leaving the output path unset — hence the empty filename in the error. Updates `.goreleaser.yml` to emit `<checksum>.cosign.bundle` and points the verification recipes in README.md and shared/runbooks/release-go.md at the new `--bundle` flag. Verification command change: - Before: --certificate <x>.pem --signature <x>.sig <x> - After: --bundle <x>.cosign.bundle <x> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 13cd11b commit ffb3a16

3 files changed

Lines changed: 11 additions & 12 deletions

File tree

.goreleaser.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,19 +98,21 @@ sboms:
9898
# supplies the OIDC token via `id-token: write`; cosign records the
9999
# signature transparency entry in Rekor (public Sigstore log). No
100100
# long-lived signing key required.
101+
#
102+
# Cosign v4 deprecated `--output-signature` and `--output-certificate`
103+
# in favor of a single `--bundle` file (DSSE-style). The bundle carries
104+
# both the signature and the cert; users verify with one flag.
101105
signs:
102106
- id: cosign
103107
cmd: cosign
104108
args:
105109
- sign-blob
106110
- '--yes'
107-
- '--output-signature=${signature}'
108-
- '--output-certificate=${certificate}'
111+
- '--bundle=${signature}'
109112
- '${artifact}'
110113
artifacts: checksum
111114
output: true
112-
certificate: '${artifact}.pem'
113-
signature: '${artifact}.sig'
115+
signature: '${artifact}.cosign.bundle'
114116

115117
# Homebrew tap publish — opt-in via $HOMEBREW_TAP_GITHUB_TOKEN. When the
116118
# env var is empty (forks, dry runs), the upload is skipped so the same
@@ -152,10 +154,9 @@ release:
152154
# Checksum
153155
sha256sum -c checksums.sha256
154156
155-
# Signature (Sigstore keyless)
157+
# Signature (Sigstore keyless, bundle format)
156158
cosign verify-blob \
157-
--certificate checksums.sha256.pem \
158-
--signature checksums.sha256.sig \
159+
--bundle checksums.sha256.cosign.bundle \
159160
--certificate-identity-regexp 'https://github.com/RandomCodeSpace/codeiq/.github/workflows/release-go.yml@.*' \
160161
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
161162
checksums.sha256

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ Verify (Sigstore keyless):
5757
```bash
5858
sha256sum -c checksums.sha256
5959
cosign verify-blob \
60-
--certificate checksums.sha256.pem \
61-
--signature checksums.sha256.sig \
60+
--bundle checksums.sha256.cosign.bundle \
6261
--certificate-identity-regexp 'https://github.com/RandomCodeSpace/codeiq/.github/workflows/release-go.yml@.*' \
6362
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
6463
checksums.sha256

shared/runbooks/release-go.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,9 @@ End-users should verify both checksum AND signature:
5454
# Checksum
5555
sha256sum -c checksums.sha256
5656

57-
# Signature (Sigstore keyless — no key material needed locally)
57+
# Signature (Sigstore keyless, bundle format — no key material needed locally)
5858
cosign verify-blob \
59-
--certificate checksums.sha256.pem \
60-
--signature checksums.sha256.sig \
59+
--bundle checksums.sha256.cosign.bundle \
6160
--certificate-identity-regexp 'https://github.com/RandomCodeSpace/codeiq/.github/workflows/release-go.yml@.*' \
6261
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
6362
checksums.sha256

0 commit comments

Comments
 (0)