This guide is the shortest safe path to publish a new xgit release.
Run from repo root:
go test ./...
go test -race ./...
go build -o xgit ./cmd/xgit
./scripts/e2e_smoke.sh
./scripts/e2e_guardrails.shOptional coverage snapshot:
go test ./... -coverprofile=coverage.out
go tool cover -func=coverage.out | tail -n 1- Move meaningful entries from
Unreleasedto a new version section inCHANGELOG.md. - Verify README install commands still match release artifacts:
xgit_<version>_<os>_<arch>.tar.gzxgit_<version>_windows_<arch>.zip
- Ensure any breaking changes are clearly called out.
git checkout main
git pull --ff-only
git tag -a v0.1.0 -m "xgit v0.1.0"
git push origin main
git push origin v0.1.0Then publish release artifacts:
goreleaser release --clean
.goreleaser.yamlcurrently setsrelease.draft: true, so a draft release is created first.
Validate installation from released assets:
curl -fsSL https://raw.githubusercontent.com/hjun1052/xgit/main/scripts/install.sh | bash
xgit versionirm https://raw.githubusercontent.com/hjun1052/xgit/main/scripts/install.ps1 | iex
xgit versionQuick sanity workflow:
xgit init --provider codex-cli --non-interactive
xgit review --base main- Update GitHub release notes (highlights + known limitations).
- Share the release URL.
- Track incoming issue reports for the first 24–48 hours.