- CI on
mainis green. GITHUB_TOKENpermission for release workflow is enabled (default repo token is enough).- Repository secret
GH_CICOST_REPO_TOKENis configured with access to:peter941221/CICost(read releases)peter941221/gh-cicost(create/upload releases)
- Optional: create tap repo
peter941221/homebrew-tapfor Homebrew distribution.
git checkout main
git pull
git tag v0.2.0
git push origin v0.2.0Release workflow (.github/workflows/release.yml) will run GoReleaser and publish:
cicost_<version>_<os>_<arch>.tar.gz|zipgh-cicost_<version>_<os>_<arch>.tar.gz|zipchecksums.txt
For GitHub CLI extension distribution, mirror gh-cicost artifacts to:
https://github.com/peter941221/gh-cicost/releases
and include gh-recognized binary names such as:
gh-cicost_v0.2.0_windows-amd64.exegh-cicost_v0.2.0_linux-amd64gh-cicost_v0.2.0_darwin-arm64
This mirroring is automated by:
.github/workflows/sync-gh-extension.yml
curl -L https://github.com/peter941221/CICost/releases/latest/download/cicost_<version>_linux_amd64.tar.gz | tar xzgh extension install peter941221/gh-cicost
gh cicost versiongh cicost installs from peter941221/gh-cicost release artifacts.
- Copy
Formula/cicost.rbto your tap repository. - For each new release, update formula
versionandsha256values fromchecksums.txt. - Publish formula:
brew tap peter941221/tap
brew install cicostgo test ./...
go test -race ./...
go vet ./...
goreleaser check