- The canonical install path is
go install github.com/brumbelow/layerleak@latest. - The current module path is
github.com/brumbelow/layerleak, so release tags for this module must stay onv1.x.y. v1.0.0is already published. The next root-module release continues thev1.x.ysequence, for examplev1.1.0for the next feature release orv1.0.1for a patch.- Do not publish new
v2+tags from this module path. Historicalv2.xGitHub Releases are not valid module-major releases forgo install github.com/brumbelow/layerleak@latestand are not selectable by the Go module proxy. A true v2 release requires changing the module path togithub.com/brumbelow/layerleak/v2.
- Bump the minor version (
v1.N+1.0) for additive, backward-compatible changes to the CLI, API surface, configuration schema, or persistence schema. - Bump the patch version (
v1.N.M+1) for bug fixes and documentation-only changes that do not change behavior. - Do not reuse a tag that has already been pushed.
- Start from
mainwith CI green. - Verify local quality checks:
go test ./... -count=1
docker compose config
GOBIN=/tmp/layerleak-bin GOCACHE=/tmp/layerleak-gocache go install .
/tmp/layerleak-bin/layerleak --help
/tmp/layerleak-bin/layerleak scan --help
/tmp/layerleak-bin/layerleak --version- Create the next root-compatible tag, for example:
git tag v1.1.0
git push origin v1.1.0- After the tag is pushed, verify the published install path from a clean module cache:
GOBIN=/tmp/layerleak-release-check/bin \
GOCACHE=/tmp/layerleak-release-check/cache \
GOMODCACHE=/tmp/layerleak-release-check/mod \
go install github.com/brumbelow/layerleak@latest
/tmp/layerleak-release-check/bin/layerleak --help
/tmp/layerleak-release-check/bin/layerleak --version-
layerleak --versionfor a module-installed binary should report the published tag via Go build info. Local checkout builds report the version Go embeds for the checkout, falling back todevwhen no module version is available. -
If install behavior changed, update
README.mdandCONTRIBUTING.mdin the same release train.
The Go module proxy resolves @latest by reading repository tags, not by reading the GitHub Releases "Latest" designation. Treat the GitHub Releases UI as documentation only. The authoritative install target for users is the highest semver-compatible tag on the root module, which must be a v1.x.y tag while the module path is github.com/brumbelow/layerleak.