2.1 KiB
2.1 KiB
| summary |
|---|
| Release checklist for clawdex (GitHub release binaries via GoReleaser + Homebrew tap update) |
Releasing clawdex
Always do all steps below. No partial releases.
Assumptions:
- Repo:
openclaw/clawdex - Binary:
clawdex - GoReleaser config:
.goreleaser.yaml - Homebrew tap repo:
~/Projects/homebrew-tap - Tap workflow:
steipete/homebrew-tap/.github/workflows/update-formula.yml
0) Prereqs
- Clean working tree on
main - Go toolchain from
go.mod - GitHub CLI authenticated
- CI green on
main HOMEBREW_TAP_TOKENset inopenclaw/clawdexActions secrets
1) Verify build + tests
go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.1 run
go test -count=1 ./... -coverprofile=coverage.out
go tool cover -func=coverage.out | tail -n 1
go test -count=1 -race ./...
go build -o /tmp/clawdex ./cmd/clawdex
goreleaser release --snapshot --clean --skip=publish
gh run list -L 5 --branch main
Coverage floor: 90%+
2) Update changelog
Add a new section in CHANGELOG.md.
Example:
## 0.2.0 - 2026-05-08
3) Commit, tag, push
git checkout main
git pull --ff-only origin main
git commit -am "release: vX.Y.Z"
git tag -a vX.Y.Z -m "Release X.Y.Z"
git push origin main --tags
4) Verify GitHub release assets
The tag push triggers .github/workflows/release.yml.
gh run list -L 5 --workflow release.yml
gh release view vX.Y.Z
Confirm assets exist for:
darwin_amd64darwin_arm64linux_amd64linux_arm64windows_amd64windows_arm64
5) Verify Homebrew tap update
The release workflow dispatches the tap updater after GoReleaser succeeds. The
tap updater rewrites Formula/clawdex.rb with the release archive checksums.
gh run list --repo steipete/homebrew-tap --workflow update-formula.yml -L 5
brew update
brew reinstall steipete/tap/clawdex
clawdex --version
brew test steipete/tap/clawdex
Notes
- Build-time version stamping comes from
-X github.com/openclaw/clawdex/internal/cli.Version={{ .Version }} - If release workflow needs a rerun:
gh workflow run release.yml -f tag=vX.Y.Z