Skip to content

Add macOS arm64 CLI release workflow#839

Closed
mondary wants to merge 2 commits intosteipete:mainfrom
mondary:feat/macos-arm64-cli-release
Closed

Add macOS arm64 CLI release workflow#839
mondary wants to merge 2 commits intosteipete:mainfrom
mondary:feat/macos-arm64-cli-release

Conversation

@mondary
Copy link
Copy Markdown

@mondary mondary commented May 4, 2026

Summary

  • add a dedicated GitHub Actions workflow to build and package CodexBarCLI for macOS Apple Silicon (arm64)
  • run a smoke test to verify the binary is arm64 and executable
  • upload release assets (.tar.gz + .sha256) and workflow artifacts for manual runs
  • document Apple Silicon CLI download path in README and CLI docs

Why

This makes Apple Silicon users (including MacBook Air M5) first-class release targets with ready-to-download CLI artifacts from GitHub Releases.

Validation

  • local build: swift build -c release --arch arm64 --product CodexBarCLI

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f708e73fa1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release-macos-cli.yml Outdated
install -m 0755 "$BIN_DIR/CodexBarCLI" "$OUT_DIR/CodexBarCLI"
ln -s "CodexBarCLI" "$OUT_DIR/codexbar"

ASSET="CodexBarCLI-${TAG}-macos-arm64.tar.gz"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Sanitize ref name before using it in asset filename

When this workflow is run via workflow_dispatch, GITHUB_REF_NAME is typically the selected branch name, and branch names commonly contain / (for example feature/foo). Interpolating that value directly into ASSET makes tar czf "$ASSET" treat part of the filename as subdirectories, which fails because those directories are not created, so the packaging step breaks and manual runs cannot produce artifacts from such branches.

Useful? React with 👍 / 👎.

@mondary
Copy link
Copy Markdown
Author

mondary commented May 4, 2026

Test status update:\n- validated local Apple Silicon launch path using \n- process stays alive during runtime checks\n- release workflow updated to sanitize branch names for workflow_dispatch artifact packaging\n\nThis PR adds macOS arm64 CLI release artifacts to GitHub Releases for Apple Silicon users (including MacBook Air M5).

@mondary
Copy link
Copy Markdown
Author

mondary commented May 4, 2026

Addressed. The ref-name sanitization feedback is fixed in commit 8c666a6 () so branch names containing no longer break artifact packaging.

@mondary
Copy link
Copy Markdown
Author

mondary commented May 4, 2026

Addressed. The ref-name sanitization feedback is fixed in commit 8c666a6.

SAFE_REF_NAME="${REF_NAME//\//-}"

So workflow_dispatch branch names containing / no longer break artifact packaging.

@steipete
Copy link
Copy Markdown
Owner

steipete commented May 5, 2026

Closed as covered by the consolidated release-workflow change landed on main in 0966118.

I kept this in the existing release CLI workflow rather than adding a second macOS-only workflow, and included both macOS arm64 and x86_64 tarballs plus smoke tests and docs/changelog updates.

Verified with local macOS arm64 CLI smoke, Linux CLI CI, and green CI after rerun. Thanks @mondary!

@steipete steipete closed this May 5, 2026
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.

2 participants