Add macOS binary support (Darwin x64 and ARM64)#973
Conversation
- Add node18-macos-x64 and node18-macos-arm64 pkg targets - Build awf-darwin-x64 and awf-darwin-arm64 in release workflow - Add Mach-O validation step for macOS binaries - Update install.sh: detect Darwin, use shasum, validate Mach-O - Update release template with macOS installation instructions - Include macOS binaries in GitHub Release artifacts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded. |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
There was a problem hiding this comment.
Pull request overview
This PR adds macOS binary support (Darwin x64 and ARM64) to the Agentic Workflow Firewall release pipeline, enabling native pre-built macOS binaries alongside existing Linux binaries. This addresses the need for macOS support in gh-aw smoke tests that now run on macOS ARM64 runners.
Changes:
- Added macOS x64 and ARM64 pkg targets to build standalone macOS executables
- Enhanced install.sh with cross-platform SHA256 verification (sha256sum/shasum) and macOS/Darwin platform detection
- Updated release workflow to build, verify, and publish all four platform binaries (Linux x64/ARM64, macOS x64/ARM64)
- Updated release template documentation with macOS installation instructions
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| package.json | Added node18-macos-x64 and node18-macos-arm64 to pkg targets |
| install.sh | Added sha256_portable function for Linux/macOS SHA256 compatibility; added Darwin platform detection with Mach-O validation |
| .github/workflows/release.yml | Added macOS binary builds, Mach-O verification step, and included macOS binaries in release artifacts |
| docs/RELEASE_TEMPLATE.md | Added macOS installation sections for both Apple Silicon and Intel with appropriate shasum commands |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Go Build Test Results
Overall: PASS ✅ All Go projects successfully downloaded dependencies and passed their tests.
|
Smoke Test ResultsLast 2 Merged PRs:
Tests:
Status: PASS
|
Build Test: Node.js Results
Overall: PASS All Node.js test projects built and tested successfully.
|
Build Test: Bun - Results
Overall: PASS ✅ All Bun tests passed successfully!
|
Deno Build Test Results
Overall: ✅ PASS All Deno tests completed successfully.
|
🦀 Rust Build Test Results
Overall: PASS ✅ All Rust projects built and tested successfully.
|
.NET Build Test Results
Overall: PASS ✅ All .NET projects restored, built, and ran successfully.
|
C++ Build Test Results
Overall: PASS All C++ projects built successfully.
|
|
PRs: feat: simplify release to workflow_dispatch only | feat: add ARM64 binary support for awf CLI
|
Chroot Version Comparison Results
Overall Result: ❌ Tests FAILED - Not all runtime versions match between host and chroot environment. The chroot environment should provide transparent access to host binaries, but version mismatches were detected for Python and Node.js.
|
Build Test: Java - ✅ PASS
Overall: PASS All Java projects compiled successfully and passed their tests through the AWF firewall with Maven proxy configuration.
|
Smoke Test ResultsLast 2 merged PRs:
Test Results:
Overall Status: PASS
|
Summary
awf-darwin-x64,awf-darwin-arm64) to the release workflowinstall.shto support macOS: Darwin OS detection,shasumfor checksums, Mach-O validationContext
The gh-aw smoke tests now run on macOS ARM64 runners (github/gh-aw#16910) but AWF only ships Linux binaries. This PR adds pre-built macOS binaries so
install_awf_binary.shcan download them directly instead of falling back to the npm tarball workaround.Changes
package.jsonnode18-macos-x64andnode18-macos-arm64to pkg targets.github/workflows/release.ymlinstall.shshasum, validate Mach-O executablesdocs/RELEASE_TEMPLATE.mdTest plan
file release/awf-darwin-arm64reports valid Mach-Oinstall.shon macOS:curl ... | sudo bash🤖 Generated with Claude Code