fix(version): plumb goreleaser ldflag into --version#19
Merged
aanogueira merged 1 commit intomainfrom May 5, 2026
Merged
Conversation
The cobra root command had `Version: "1.0.0"` hardcoded, so
`git-context --version` always reported 1.0.0 regardless of which
release was installed. .goreleaser.yml already injects the right
value via `-X main.version={{.Version}}`, but main.go had no
matching `version` variable for the ldflag to land in, and even if
it did, cmd/root.go wouldn't see it.
Declare `var version = "dev"` in main.go so the ldflag has a target,
expose `cmd.SetVersion` to overwrite the cobra Version field at
startup, and call it from main(). Local `go install` / `go build`
without ldflags continues to report "dev"; goreleaser builds report
the real tag.
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
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.
Summary
`git-context --version` always reported `1.0.0` regardless of which release was installed.
Root cause: `cmd/root.go` hardcoded `Version: "1.0.0"`. The `.goreleaser.yml` already passes `-X main.version={{.Version}}` at build time, but `main.go` had no `version` variable for the ldflag to land in, and the cmd package wouldn't have seen it anyway.
Fix:
Test Plan
After merge: tag `v1.4.2` and verify the released binary reports the right version.