Release and Installation
Installation and man pages
Tagged releases are pending. Until merge/release, use the extraction PR’s public
commit in place of REV; after merge main is also available:
go get github.com/arran4/gogenconf@REV
go install github.com/arran4/gogenconf/cmd/gogenconf@REV
Once releases exist, the usual forms are:
go get github.com/arran4/gogenconf
go install github.com/arran4/gogenconf/cmd/gogenconf@latest
The release pipeline is configured for Linux/macOS/Windows on amd64/arm64, tar.gz/Windows zip archives, checksums, and Linux deb/rpm/apk packages. Releases will include README, license and man pages. None has been published by this PR.
gzip -dc man/man1/gogenconf.1.gz | man -l -
# Optional system installation from a checkout or release archive:
sudo install -Dm644 man/man1/gogenconf.1.gz /usr/local/share/man/man1/gogenconf.1.gz
man gogenconf
Release and recovery
Do not create a tag manually. After the standalone PR merges, the release operator
uses the first-release issue.
In Actions, dispatch CI/CD at main with a release-major, release-minor,
release-patch, release-test, release-rc, or release-alpha mode. For the first
release choose a pre-v1 candidate, preferably alpha/test, with an explicit
release_version_override if necessary. This PR creates no release or tag.
All code/docs/generation gates run first. arran4/git-tag-inc-action@v1 selects a
version when no override is supplied. The tag script rejects dirty checkouts and
conflicting tags, verifies the exact validated commit, and safely reuses an
existing same-commit tag (including annotated tags). It never force-pushes.
The workflow explicitly dispatches publish-tag at the tag because GITHUB_TOKEN
tag pushes do not trigger another push workflow. External v-tag pushes also take
the validation/publication path. GoReleaser v2 builds archives, checksums, packages
and GitHub release notes; prerelease suffixes are recognized automatically.
For a failed tag/publication run, retain the validated commit. Retry release mode
with the same explicit version override, or dispatch publish-tag on that tag.
A conflicting tag is an error to investigate, not permission to move it. If a
partial GitHub Release already exists, inspect its assets/logs before retrying;
do not silently delete published artifacts. No Docker or token-dependent tap
publishing is required. CLI version/commit/date are injected using GoReleaser’s
-X main.version, -X main.commit, -X main.date flags.
Actions account credit/capacity failures are infrastructure limitations. Record local gate results accurately, but actual CI release execution requires restored capacity; do not make empty commits to retrigger billing failures.