Skip to content

Latest commit

 

History

History
90 lines (65 loc) · 2.2 KB

File metadata and controls

90 lines (65 loc) · 2.2 KB

Release

This project publishes one release to three channels:

  • GitHub Releases
  • Homebrew tap: osodevops/homebrew-tap
  • Scoop bucket: osodevops/scoop-bucket

The release workflow intentionally fails before creating a GitHub Release if package-manager publishing credentials are missing.

Required Secrets

Configure these as repository or organization Actions secrets:

gh secret set HOMEBREW_TAP_TOKEN --body "<token-with-homebrew-tap-push-access>"
gh secret set SCOOP_BUCKET_TOKEN --body "<token-with-scoop-bucket-push-access>"

The tokens need push access to:

  • osodevops/homebrew-tap
  • osodevops/scoop-bucket

Release Gate

Before moving or creating a production tag:

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features
cargo audit
cargo build --release
./target/release/jira --version
./target/release/jira --help >/dev/null
./target/release/jira completions man --dir /tmp/jira-man

Run the Jira Cloud sandbox smoke workflow:

gh workflow run jira-cloud-smoke.yml --ref main

Do not publish until that workflow passes.

Publish

Create or move the release tag only after the release candidate is on main:

git tag -a v0.1.0 -m "Release v0.1.0"
git push origin v0.1.0

The Release workflow then:

  1. validates the semver tag and publishing secrets
  2. runs formatting, clippy, tests, audit, release build, help smoke, and manpage generation
  3. builds macOS arm64, macOS x86_64, Linux x86_64, and Windows x86_64 archives
  4. uploads checksums and GitHub Release assets
  5. writes Formula/jira-cli.rb to osodevops/homebrew-tap
  6. writes bucket/jira.json to osodevops/scoop-bucket

Post-Release Verification

gh release view v0.1.0

brew update
brew audit --formula --strict osodevops/tap/jira-cli
brew install osodevops/tap/jira-cli
brew test osodevops/tap/jira-cli
jira --version
jira --help >/dev/null

scoop bucket add osodevops https://github.com/osodevops/scoop-bucket
scoop checkup
scoop install jira
jira --version

Also download the platform archive from GitHub Releases and verify:

jira --version
jira --help >/dev/null
jira completions man --dir /tmp/jira-man