This repo uses GoReleaser to publish binaries, GitHub Releases, and container images.
- Ensure
mainis green (CI runsgo test, Docker smoke test, and a Goreleaser snapshot). - Update
CHANGELOG.mdif needed. - Tag and push:
git tag v0.1.0
git push origin v0.1.0- The Release workflow runs Goreleaser, which:
- Builds
gitantandgit-remote-gitantfor linux/darwin/windows (amd64 + arm64) - Uploads archives to GitHub Releases
- Pushes
ghcr.io/graycodeai/gitant-daemon:<version>and:latest
- Builds
make test
make release # goreleaser release --snapshot --clean
./dist/gitant-daemon_linux_amd64_v1/gitant versionBuild injects version into internal/api via -ldflags:
gitant versionCLIGET /api/v1/status→"version"
Goreleaser uses Dockerfile.goreleaser (copies pre-built binaries). Local/CI builds use Dockerfile (compiles from source).