fix(release): pin cosign to v2.x to keep classic signing#324
Merged
Conversation
cosign-installer was installing the latest cosign (v3.x), which auto-loads a signing config and forces the single-file bundle format. That broke the classic detached signing (sign-blob --output-signature/--output-certificate) with a chain of errors: first 'cannot specify service URLs and use signing config', then 'must provide --new-bundle-format or --bundle ... with --signing-config'. No release was ever published. install.sh and install.ps1 verify releases with 'cosign verify-blob --signature <checksums>.sig --certificate <checksums>.pem', so switching to the bundle format would break signature verification for end users. Instead, pin cosign to the maintained v2.x line (v2.6.4, current) which keeps classic behavior, and restore the classic goreleaser signs args. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 524cf702-8922-4cfd-b23f-4069b734e09b
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The v0.14.0 release kept failing at the cosign signing step.
cosign-installerinstalls the latest cosign by default, which is now v3.x. cosign v3 auto-loads a signing config and forces the new single-file bundle format, producing a chain of failures:cannot specify service URLs and use signing config(from--oidc-issuer)create bundle file: open : no such file or directorymust provide --new-bundle-format or --bundle ... with --signing-configNo GitHub Release was ever published.
Why not just adopt the bundle format
install.shandinstall.ps1verify releases with:Switching to the single-file bundle would break signature verification for every end user who has cosign installed.
Fix
cosign maintains two lines in parallel: v3.x (new behavior) and v2.6.x (classic). Pin
cosign-installertov2.6.4(current, released 2026-07-17) which keeps the classic detached.sig+.pemoutput, and restore the classic goreleasersignsargs. Both files carry a comment explaining the pin. No install-script or user-facing verification change.Follow-up
The
v0.14.0tag (re-created by the failed runs, no release attached) will be deleted and the Release workflow re-triggered after this merges.