Skip to content

Comments

Add macOS binary support (Darwin x64 and ARM64)#973

Merged
Mossaka merged 1 commit intomainfrom
feat/macos-binary
Feb 19, 2026
Merged

Add macOS binary support (Darwin x64 and ARM64)#973
Mossaka merged 1 commit intomainfrom
feat/macos-binary

Conversation

@Mossaka
Copy link
Collaborator

@Mossaka Mossaka commented Feb 19, 2026

Summary

  • Add macOS binary targets (awf-darwin-x64, awf-darwin-arm64) to the release workflow
  • Update install.sh to support macOS: Darwin OS detection, shasum for checksums, Mach-O validation
  • Update release template with macOS installation instructions
  • Include macOS binaries in GitHub Release artifacts and checksums

Context

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.sh can download them directly instead of falling back to the npm tarball workaround.

Changes

File Change
package.json Add node18-macos-x64 and node18-macos-arm64 to pkg targets
.github/workflows/release.yml Build + verify macOS binaries, include in release
install.sh Detect Darwin, support shasum, validate Mach-O executables
docs/RELEASE_TEMPLATE.md Add macOS installation instructions

Test plan

  • Trigger a release (patch bump) to verify macOS binaries are built and uploaded
  • Verify file release/awf-darwin-arm64 reports valid Mach-O
  • Test install.sh on macOS: curl ... | sudo bash
  • Verify checksums.txt includes all 4 binaries + tarball

🤖 Generated with Claude Code

- 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>
Copilot AI review requested due to automatic review settings February 19, 2026 21:20
@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Contributor

github-actions bot commented Feb 19, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Contributor

✅ Coverage Check Passed

Overall Coverage

Metric Base PR Delta
Lines 82.30% 82.45% 📈 +0.15%
Statements 82.23% 82.37% 📈 +0.14%
Functions 82.74% 82.74% ➡️ +0.00%
Branches 74.46% 74.55% 📈 +0.09%
📁 Per-file Coverage Changes (1 files)
File Lines (Before → After) Statements (Before → After)
src/docker-manager.ts 83.2% → 83.8% (+0.55%) 82.5% → 83.0% (+0.54%)

Coverage comparison generated by scripts/ci/compare-coverage.ts

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

@github-actions
Copy link
Contributor

Go Build Test Results

Project Download Tests Status
color 1/1 PASS
env 1/1 PASS
uuid 1/1 PASS

Overall: PASS

All Go projects successfully downloaded dependencies and passed their tests.

AI generated by Build Test Go

@github-actions
Copy link
Contributor

Smoke Test Results

Last 2 Merged PRs:

Tests:

  • ✅ GitHub MCP: Retrieved PR data
  • ✅ Playwright: Verified GitHub title
  • ✅ File Write: Created test file
  • ✅ Bash: Verified file contents

Status: PASS

AI generated by Smoke Copilot

@github-actions
Copy link
Contributor

Build Test: Node.js Results

Project Install Tests Status
clsx PASS PASS
execa PASS PASS
p-limit PASS PASS

Overall: PASS

All Node.js test projects built and tested successfully.

AI generated by Build Test Node.js

@github-actions
Copy link
Contributor

Build Test: Bun - Results

Project Install Tests Status
elysia 1/1 PASS
hono 1/1 PASS

Overall: PASS

All Bun tests passed successfully!

AI generated by Build Test Bun

@github-actions
Copy link
Contributor

Deno Build Test Results

Project Tests Status
oak 1/1 ✅ PASS
std 1/1 ✅ PASS

Overall: ✅ PASS

All Deno tests completed successfully.

AI generated by Build Test Deno

@github-actions
Copy link
Contributor

🦀 Rust Build Test Results

Project Build Tests Status
fd 1/1 PASS
zoxide 1/1 PASS

Overall: PASS

All Rust projects built and tested successfully.

AI generated by Build Test Rust

@github-actions
Copy link
Contributor

.NET Build Test Results

Project Restore Build Run Status
hello-world PASS
json-parse PASS

Overall: PASS

All .NET projects restored, built, and ran successfully.

AI generated by Build Test .NET

@github-actions
Copy link
Contributor

C++ Build Test Results

Project CMake Build Status
fmt PASS
json PASS

Overall: PASS

All C++ projects built successfully.

AI generated by Build Test C++

@github-actions
Copy link
Contributor

PRs: feat: simplify release to workflow_dispatch only | feat: add ARM64 binary support for awf CLI
GitHub MCP (last 2 merged PRs): ✅
safeinputs gh pr list: ✅
Playwright title check: ✅
Tavily search: ❌ (tool unavailable)
File write: ✅
Bash cat: ✅
Discussion comment: ✅
Build npm ci && npm run build: ✅
Overall: FAIL

AI generated by Smoke Codex

@github-actions
Copy link
Contributor

Chroot Version Comparison Results

Runtime Host Version Chroot Version Match?
Python Python 3.12.12 Python 3.12.3 ❌ NO
Node.js v24.13.0 v20.20.0 ❌ NO
Go go1.22.12 go1.22.12 ✅ YES

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.

AI generated by Smoke Chroot

@github-actions
Copy link
Contributor

Build Test: Java - ✅ PASS

Project Compile Tests Status
gson 1/1 PASS
caffeine 1/1 PASS

Overall: PASS

All Java projects compiled successfully and passed their tests through the AWF firewall with Maven proxy configuration.

AI generated by Build Test Java

@github-actions
Copy link
Contributor

Smoke Test Results

Last 2 merged PRs:

Test Results:

  • ✅ GitHub MCP: Fetched PRs successfully
  • ✅ Playwright: Navigated to github.com, title verified
  • ✅ File Write: Created test file at /tmp/gh-aw/agent/smoke-test-claude-22200583010.txt
  • ✅ Bash Tool: Read file content successfully

Overall Status: PASS

AI generated by Smoke Claude

@Mossaka Mossaka merged commit 475f7fc into main Feb 19, 2026
93 of 94 checks passed
@Mossaka Mossaka deleted the feat/macos-binary branch February 19, 2026 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant