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.
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-taposodevops/scoop-bucket
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-manRun the Jira Cloud sandbox smoke workflow:
gh workflow run jira-cloud-smoke.yml --ref mainDo not publish until that workflow passes.
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.0The Release workflow then:
- validates the semver tag and publishing secrets
- runs formatting, clippy, tests, audit, release build, help smoke, and manpage generation
- builds macOS arm64, macOS x86_64, Linux x86_64, and Windows x86_64 archives
- uploads checksums and GitHub Release assets
- writes
Formula/jira-cli.rbtoosodevops/homebrew-tap - writes
bucket/jira.jsontoosodevops/scoop-bucket
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 --versionAlso download the platform archive from GitHub Releases and verify:
jira --version
jira --help >/dev/null
jira completions man --dir /tmp/jira-man