release: sign GoReleaser's tap/scoop bot commits before routing them through signed repos #434
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#434
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Each release, GoReleaser bumps the Homebrew cask and Scoop manifest as a commit in
sixfold-space/homebrew-tapandsixfold-space/scoop-bucket(scripts/release.sh:67-74,docs/contributing/releasing.md:102,114-115). Those bot commits are UNSIGNED. GoReleaser authenticates withGITHUB_TOKENand targets the GitHub distribution edge (docs/contributing/release-credentials.md:71, ADR 0032).The sixfold-space repos on git.cheshirecube.cloud now enforce
require_signed_commitsonmain(2026-08-17), includinghomebrew-tapandscoop-bucket.Current state - no break today
The cheshirecube
homebrew-tap/scoop-bucketare migrated-from-Codeberg copies withmirror=false, and GoReleaser pushes the tap/scoop to the GitHub edge, not to these. So the newrequire_signedon the cheshirecube copies does NOT reject the current release flow. Confirmed before enabling.The gap
brew/scoopinstall).Fix
Give the release bot its own signing key. Same posture as #231: the private half lives only in Bitwarden SM, never on any forge, and the bot is an author, not the platform. Configure GoReleaser to sign its tap/scoop/plugin commits with it. Then
require_signedsafely covers wherever those commits land.Related