Skip to content

Implement SemVer CLI release and Homebrew flow#55

Merged
joyzoursky merged 4 commits intomainfrom
release/cli-homebrew-flow
Mar 16, 2026
Merged

Implement SemVer CLI release and Homebrew flow#55
joyzoursky merged 4 commits intomainfrom
release/cli-homebrew-flow

Conversation

@joyzoursky
Copy link
Copy Markdown
Collaborator

Summary

  • Implement a full macOS CLI release flow for skytest-agent with SemVer tag validation, dual-architecture artifacts, and Homebrew formula generation.
  • Add skytest version so packaged installs can be validated reliably by formula tests and operators.
  • Document release operations and Homebrew usage for maintainers and operators.

Changes

  • Reworked .github/workflows/release-cli.yml to:
    • trigger on v* tags or manual version input
    • validate and normalize SemVer (vX.Y.Z)
    • build darwin arm64 and amd64 release archives
    • generate checksums.txt
    • publish release assets to GitHub Releases
    • optionally update a Homebrew tap formula via HOMEBREW_TAP_PAT
  • Updated tools/release/build-cli-macos.sh:
    • normalize architecture naming
    • produce skytest-<version>-darwin-<arch>.tar.gz
    • inject SKYTEST_CLI_VERSION into packaged launcher
  • Updated tools/release/homebrew-formula-template.rb:
    • architecture-specific URLs/SHA256
    • formula test checks skytest version
    • exports SKYTEST_CLI_VERSION in installed launcher
  • Added CLI support for skytest version in parser/entrypoint and parser tests.
  • Added maintainer runbook docs/maintainers/cli-release-homebrew.md and linked release/install guidance from docs and README.

Validation

  • Lint/type/audit: npm run verify (pass)
  • CLI smoke: npm run --workspace @skytest/cli skytest -- version (prints package version)
  • Release packaging smoke:
    • tools/release/build-cli-macos.sh 0.1.0 arm64 (pass)
    • tools/release/build-cli-macos.sh 0.1.0 amd64 (pass)

Breaking Changes

  • Release tag convention changed from skytest-cli-v* to v* for CLI releases.
  • Release asset names changed from skytest-<version>-macos-x86_64.tar.gz to skytest-<version>-darwin-{arm64|amd64}.tar.gz.

Risks

  • Homebrew tap auto-update requires a valid HOMEBREW_TAP_PAT and correct HOMEBREW_TAP_REPO; misconfiguration skips/blocks tap updates.
  • Workflow now matches all v* tags; non-CLI tag usage in this repo would also trigger this workflow.

Follow-ups

  • Decide whether to scope tag trigger further if the repo introduces other v* release workflows.
  • After merge, run a first real release (vX.Y.Z) and verify brew tap + brew install skytest end-to-end.

@joyzoursky joyzoursky changed the title infra: implement SemVer CLI release + Homebrew flow Implement SemVer CLI release and Homebrew flow Mar 16, 2026
@joyzoursky joyzoursky merged commit 0cd3e5f into main Mar 16, 2026
1 check passed
@joyzoursky joyzoursky deleted the release/cli-homebrew-flow branch March 16, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant