Skip to content

ci: temporarily hold release signing to unblock artifacts - #71

Merged
MPV merged 1 commit into
masterfrom
claude/hold-release-signing
Aug 8, 2026
Merged

MPV merged 1 commit into
masterfrom
claude/hold-release-signing

Conversation

@MPV

@MPV MPV commented Aug 8, 2026

Copy link
Copy Markdown
Owner

What

Comment out the signs and docker_signs blocks in .goreleaser.yaml so the release job goes green and starts publishing artifacts. This decouples "does the pipeline deliver?" from "is signing configured exactly right?" — the former is essentially proven, the latter is the fiddly part.

Why

On the first real release (v0.3.0), GoReleaser built the binaries, SBOMs, checksums, and image successfully, then aborted at cosign:

signing dist/checksums.txt: create bundle file: open : no such file or directory

cosign ≥ 2.5.0 made sign-blob default to the new Sigstore bundle format, which ignores the --output-signature/--output-certificate flags and fails. So v0.3.0 got a tag + release + changelog but no assets.

Effect

Next release publishes the full set — multi-platform binaries, archives, SBOMs, checksums.txt, and the multi-arch image at ghcr.io/mpv/kir — just unsigned. For a 0.x tool bootstrapping releases, shipping SBOM'd + checksummed artifacts now with signatures as a fast follow is a reasonable trade; signing is additive hardening, not a blocker.

The Install cosign step and id-token: write permission are left in place, and the signing config is commented (not deleted) with a TODO, so restoring it is a one-block uncomment.

Restoring signing (follow-up, pick one)

  • Pin cosign to 2.4.x and keep the existing config — #70.
  • Roll forward to the --bundle format and keep cosign current.

Either way, validated with a workflow_dispatch dry-run (goreleaser release --skip=publish) in CI before it gates a real release.

Typed ci: — release tooling, non-releasing.

🤖 Generated with Claude Code

https://claude.ai/code/session_016RJcNXwJdwhtEgsfLfYKtv


Generated by Claude Code

The first release run (v0.3.0) built binaries, SBOMs, checksums, and the image
fine but failed at cosign signing: cosign >= 2.5.0 changed sign-blob to the new
bundle format, which ignores the --output-signature/--output-certificate flags
and aborts. So v0.3.0 published a tag/release but no assets.

Comment out the `signs` and `docker_signs` blocks so the release job goes green
and starts publishing binaries + image + SBOMs + checksums (unsigned). Signing
is additive hardening and shouldn't block getting downloadable artifacts out.

Signing will be restored as a follow-up via one of:
  - pin cosign to 2.4.x with the existing config (PR #70), or
  - roll forward to the `--bundle` format and keep cosign current,
validated with a CI dry-run before it gates a real release.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016RJcNXwJdwhtEgsfLfYKtv
@MPV
MPV merged commit b1ed79f into master Aug 8, 2026
1 check passed
@MPV
MPV deleted the claude/hold-release-signing branch August 8, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants