Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 1.71 KB

File metadata and controls

76 lines (53 loc) · 1.71 KB

Release Guide

Prerequisites

  1. CI on main is green.
  2. GITHUB_TOKEN permission for release workflow is enabled (default repo token is enough).
  3. Repository secret GH_CICOST_REPO_TOKEN is configured with access to:
    • peter941221/CICost (read releases)
    • peter941221/gh-cicost (create/upload releases)
  4. Optional: create tap repo peter941221/homebrew-tap for Homebrew distribution.

Tag Release

git checkout main
git pull
git tag v0.2.0
git push origin v0.2.0

Release workflow (.github/workflows/release.yml) will run GoReleaser and publish:

  • cicost_<version>_<os>_<arch>.tar.gz|zip
  • gh-cicost_<version>_<os>_<arch>.tar.gz|zip
  • checksums.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.exe
  • gh-cicost_v0.2.0_linux-amd64
  • gh-cicost_v0.2.0_darwin-arm64

This mirroring is automated by:

  • .github/workflows/sync-gh-extension.yml

Install Methods

Standalone binary

curl -L https://github.com/peter941221/CICost/releases/latest/download/cicost_<version>_linux_amd64.tar.gz | tar xz

GitHub CLI extension

gh extension install peter941221/gh-cicost
gh cicost version

gh cicost installs from peter941221/gh-cicost release artifacts.

Homebrew

  1. Copy Formula/cicost.rb to your tap repository.
  2. For each new release, update formula version and sha256 values from checksums.txt.
  3. Publish formula:
brew tap peter941221/tap
brew install cicost

Validate Local Before Tag

go test ./...
go test -race ./...
go vet ./...
goreleaser check