review the changes, I'm adding for the first time the goreleaser configuration to release versions using goreleaser. Review the changes, and, there are a couple of things missing like, completions (is · Entire
Summary of what shipped:
New file
cmd/git-sync/internal/versioninfo/versioninfo.go— exposesVersion,Commit,Datefor ldflag injection
cmd/git-sync/main.go
- Imported
versioninfo - Added
version/--versioncase inrun()switch (avoided-vsince it collides with the existing verbose flag in every subcommand) - Added
git-sync versionto usage string
.goreleaser.yaml
- Removed
mise run completionsbefore-hook (no completions implemented) - Fixed the three
-Xldflags to point at the real package pathentire.io/entire/gitsync/cmd/git-sync/internal/versioninfo, addedDateinjection - Archive
name_templatenow includes{{ .Version }}to avoid collisions across releases - Removed
completions/*archive entry (kept LICENSE + README) homebrew_casks: renamed cask + binary togit-sync, dropped the brokencompletions:sub-block- Added small
snapshot:andchangelog:blocks (filtersMerge/docs:/chore:/test:from notes)
Verification done
go buildwith-ldflags="-X …Version=test1.2.3 …Commit=abc1234 …Date=2026-04-30"→git-sync versionprints injected values exactlygo vet ./cmd/git-sync/...cleangoreleaser checkvalidates config
Not changed (and why)
.github/workflows/release.yml— no edit needed;GORELEASER_KEYandTAP_GITHUB_TOKENsecrets must already be in repo settings before tagging- Windows build skipped per your decision
- Pre-existing diagnostic on
main.go:387(interface{}→any) is unrelated to this change
Next steps when ready:
git tag v0.0.0-test1 && git push origin v0.0.0-test1for a live throwaway run, then delete tag+release after confirming the artifacts and tap PR look right.
Suggested description for homebrew_casks:
- description: "Mirror Git refs between remotes without a local checkout"
Commands for dry running the release locally:
- Option 1 — quickest sanity check (no pro features):
goreleaser release --snapshot --clean --skip=publish,sign,notarize,homebrew - Option 2 — install goreleaser-pro and use your real config (recommended):
brew install goreleaser/tap/goreleaser-pro export GORELEASER_KEY=<your pro key> export TAP_GITHUB_TOKEN=dummy # template needs this set; skip=homebrew prevents push goreleaser-pro release --snapshot --clean --skip=publish,sign,notarize,homebrew
Final remarks:
- If you don't plan to dry-run locally, the
snapshotblock can be deleted. Keep it if you want a one-command sanity check before tagging or delete it if you'll just push a throwaway tag (v0.0.0-test1) for verification instead.