close
Skip to content

fix: update CLI release to use cosign v3 bundle format and ubuntu runner#1945

Merged
adaam2 merged 2 commits intomainfrom
claude/fix-goreleaser-cosign-Cmdiu
Mar 24, 2026
Merged

fix: update CLI release to use cosign v3 bundle format and ubuntu runner#1945
adaam2 merged 2 commits intomainfrom
claude/fix-goreleaser-cosign-Cmdiu

Conversation

@adaam2
Copy link
Copy Markdown
Member

@adaam2 adaam2 commented Mar 24, 2026

Summary

  • Switch cosign signing to v3 bundle format: Replace deprecated --output-certificate/--output-signature flags with --bundle flag, producing a single .sigstore.json bundle file
  • Migrate release-cli runner from windows-latest to ubuntu-latest: The Chocolatey section is fully commented out, so the Windows runner is unnecessary and causes filepath issues with GoReleaser's bundle output paths
  • Pin GoReleaser version to ~> v2.14: Prevent future breaking changes from latest auto-updates

Test plan

  • Trigger a CLI release and verify GoReleaser completes the signing step without errors
  • Confirm checksums.txt.sigstore.json appears in GitHub release assets
  • Verify signature with: cosign verify-blob --certificate-identity <workflow-url> --certificate-oidc-issuer https://token.actions.githubusercontent.com --bundle checksums.txt.sigstore.json checksums.txt

https://claude.ai/code/session_01MfjLXfzCbZQHTYp69aJxX4


Open with Devin

GoReleaser v2.14.3 updated its cosign integration to use --new-bundle-format
by default (cosign v3). The old --output-certificate/--output-signature flags
are ignored, causing signing to fail. Switch to --bundle flag and produce a
single .sigstore.json bundle file.

Also migrate release-cli from windows-latest to ubuntu-latest since the
Chocolatey section is commented out and the Windows runner causes filepath
issues with GoReleaser's bundle output paths.

https://claude.ai/code/session_01MfjLXfzCbZQHTYp69aJxX4
@adaam2 adaam2 requested a review from a team as a code owner March 24, 2026 08:42
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gram-docs-redirect Ready Ready Preview, Comment Mar 24, 2026 8:43am

Request Review

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 24, 2026

🦋 Changeset detected

Latest commit: 32a461b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
cli Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment on lines +119 to +122
version=$(jq -r .version cli/package.json)
tag="cli/$version"
git tag -f "$tag"
echo "Created local tag $tag"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 Tag format mismatch with GoReleaser monorepo tag_prefix

The goreleaser config at .goreleaser.yaml:43 specifies tag_prefix: "cli@", but the release workflow at .github/workflows/release.yaml:120 creates a local tag using cli/$version (slash separator). Existing git tags confirm the changeset process creates cli@X.Y.Z tags (with @), while the workflow creates cli/X.Y.Z (with /). This is a pre-existing inconsistency not introduced by this PR — both old PowerShell and new bash produce the same cli/VERSION format. It appears GoReleaser may still find the cli@X.Y.Z tag from the changeset commit (fetched via fetch-depth: 0) rather than relying on the local tag. However, the purpose of the local tag (per the comment) is to give GoReleaser a tag on HEAD, and using / instead of @ may mean GoReleaser doesn't recognize it as matching the tag_prefix. Worth investigating whether this local tag is actually serving its intended purpose.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@adaam2 adaam2 merged commit 70d8ad3 into main Mar 24, 2026
33 checks passed
@adaam2 adaam2 deleted the claude/fix-goreleaser-cosign-Cmdiu branch March 24, 2026 08:53
@github-actions github-actions bot locked and limited conversation to collaborators Mar 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants