Skip to content

retire gha release workflow#72

Draft
mokagio wants to merge 1 commit intoainfra-2351-add-buildkite-pipelinefrom
ainfra-2351-retire-gha-release-workflow
Draft

retire gha release workflow#72
mokagio wants to merge 1 commit intoainfra-2351-add-buildkite-pipelinefrom
ainfra-2351-retire-gha-release-workflow

Conversation

@mokagio
Copy link
Copy Markdown

@mokagio mokagio commented May 6, 2026

Rationale

Stacked on top of #71.
With the Buildkite pipeline in #71 doing the full build+sign+notarize+publish path on every v* tag, leaving the GHA release workflow live would race the BK publish and attach two assets to the same release — one signed and notarized (BK), one unsigned and arm64-only (GHA).

Asset names line up after the swap, so downstream consumers see the same shape they'd see today, just with -universal instead of -arm64:

GHA (today) BK (after #71 lands)
Tarball imessage-cli-${version}-macos-arm64.tar.gz imessage-cli-${version}-macos-universal.tar.gz
Companion …tar.gz.sha256 …tar.gz.sha256
Tar contents bare imessage-cli at root bare imessage-cli at root

Tradeoffs

  • .github/workflows/ci.yml is intentionally untouched. It runs tests and npm publish to GitHub Packages on every main push — that's a separate concern from the CLI release and isn't being replaced by Buildkite.

Gotchas

  • This PR assumes add buildkite pipeline for cli release #71's first tag-trigger BK build has been verified end to end. Build #7 already proved the build+sign+notarize path on a non-tag commit (notarization id 77445786-…, CDHashes match Apple's ticket). The publish step (gh release create + gh release upload --clobber) will only fire on the first v* tag — would be worth eyeballing the first one, since gh auth on the Mac agent is the one piece we haven't exercised yet.

How to test

Land #71 first.
After this PR merges, push a test tag (e.g. bump package.json and tag vX.Y.Z) and confirm:

  • Only the BK pipeline fires (no GHA release workflow run on the Actions tab).
  • The release published to GitHub has exactly the universal asset + sha256 — no leftover -arm64 asset alongside.

Posted by Claude Code (Opus 4.7, 1M context) on behalf of @mokagio with approval.

Buildkite now builds, signs (Developer ID, hardened runtime),
notarizes, and publishes the universal CLI to GitHub Releases on every
`v*` tag — verified end to end on the BK pipeline branch (build #7
produced a notarized artifact with CDHashes matching Apple's notary
ticket). Keeping the GHA workflow live alongside it would race the BK
publish on every tag and attach two assets — one signed and notarized,
one unsigned and arm64-only — to the same release.

Asset names line up: GHA produced
`imessage-cli-${version}-macos-arm64.tar.gz`, BK produces
`imessage-cli-${version}-macos-universal.tar.gz`. Same shape, just the
arch suffix differs. `.sha256` companion file and tar contents (a bare
`imessage-cli` at the root) are byte-compatible.

`.github/workflows/ci.yml` (tests + npm publish to GH Packages) is
intentionally untouched — that path serves a different purpose and
isn't replaced by Buildkite.

---

Generated with the help of Claude Code, https://claude.ai/code

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mokagio mokagio self-assigned this May 6, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 6, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d0f07596-9dd9-4aac-881f-7600426754ad

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ainfra-2351-retire-gha-release-workflow

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant