The public release process is intentionally small.
- Run tests and build locally.
- Run the provider-removal and secret scans from
docs/security.md. - Commit a coherent slice.
- Push to
main. - Tag a semantic version, for example
v0.11.0. - Publish binaries and checksums from GitHub Actions or a trusted local machine.
GitHub recommends release automation with CI, tests, and semantically versioned tags. Homebrew tap guidance also calls out local testing, dependency declarations, semantic versioning, and clear documentation.
GOOS=linux GOARCH=amd64 go build -trimpath -o dist/codex-pool-linux-amd64 .
GOOS=linux GOARCH=arm64 go build -trimpath -o dist/codex-pool-linux-arm64 .
GOOS=darwin GOARCH=amd64 go build -trimpath -o dist/codex-pool-darwin-amd64 .
GOOS=darwin GOARCH=arm64 go build -trimpath -o dist/codex-pool-darwin-arm64 .
GOOS=windows GOARCH=amd64 go build -trimpath -o dist/codex-pool-windows-amd64.exe .
(cd dist && sha256sum * > SHA256SUMS)git tag v$(cat VERSION)
git push origin main --tags