rely on `go build` stamping a version for local builds
Before Go 1.24, `go build` only stamped module versions for modules resolved via GOPROXY, as the local module only had VCS information. For that reason, we manually built a pseudo-version from the VCS timestamp and revision stamped for local builds. Go 1.24 started stamping the main module with a module version derived from the local VCS information, much like we already did. For example, comparing a clean build before this change against a build with this uncommitted change: $ go install $ garble version mvdan.cc/garble v0.14.3-0.20250413182748-e97968ccae46 [...] $ git stash pop $ go install $ garble version mvdan.cc/garble v0.14.3-0.20250413182748-e97968ccae46+dirty [...] The only user-visible change is that local builds with any uncommitted changes now get a `+dirty` suffix, but that's probably a good thing for the majority of users, and provides a useful hint in case a user forgot about local changes. The test logic to inject VCS information via an env var and see that the resulting pseudo-version is what we expect can go too, as that was testing our own main module version logic. We now rely on `go build` to do the right thing, so don't test that.pull/940/head
parent
d72d89aaf0
commit
87a8360d61
Loading…
Reference in New Issue