Repository navigation
ci: move macOS builds and verification to Xcode 27 - #454
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex review: needs maintainer review before merge. What this changesThis PR moves macOS workflows to Xcode 27, shares native smoke checks, asserts Rosetta support, and enforces the existing macOS 13.0 binary target. Example: A Bun build produces an arm64 mcporter binary declaring macOS 27.0.
Review scores
ProductKind: Maintenance · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep this PR open: it is collaborator-authored, adds useful release safeguards absent from the reviewed main revision, and has no actionable correctness or security findings. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherThe release tooling turns repository source into native archives and verifies downloaded release candidates before publication; the changed checks inspect Mach-O metadata and execute both native architectures. flowchart TD
A[Repository source] --> B[Bun native build]
B --> C[Architecture and macOS target checks]
C --> D[Signature verification and archive]
D --> E[Native or Rosetta CLI smoke]
F[Downloaded release candidates] --> C
Technical reviewBest possible solution: Land the shared native checks while preserving the existing macOS 13.0, signing, and publication contracts. Do we have a high-confidence way to reproduce the issue? Main's packager and verifier lack deployment-target checks, and the release history records a real build embedding macOS 27; no target code was run during this read-only review. Is this the best way to solve the issue? The shared smoke script retains the existing rehearsal checks and adds validation at packaging and verification boundaries, directly enforcing the previously documented contract. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 90bb83f934cb. Provenance checked
TestingProof path: shipped entry point. SecurityNone. EvidenceWhat I checked:
Likely related people:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 18, 2026, 9:49 PM ET / October 19, 2026, 01:49 UTC. |
Move all repository-local macOS CI and release jobs to xcode-27. Both native targets now use Apple Silicon; the Intel smoke and verifier assert Rosetta support, install it only when missing, and execute x86_64 binaries explicitly under Rosetta.
The documented macOS 13.0 floor is now enforced on every Mach-O payload in packaging, verification and native CI. Bun embeds a prebuilt runtime, so setting a deployment environment alone cannot prove the resulting target. The release rehearsal and PR CI share the same native build, signature, archive and execution checks. Node >=24, Bun 1.4.3, pnpm and package versions are unchanged.
Validation: workflow lint, ShellCheck and local release contract tests passed, including missing/newer deployment-target rejection. The documented pnpm check and pnpm test passed on a disposable AWS runner (2,270 tests passed, 27 optional tests skipped). Independent review found no actionable issues through P2. Native macOS proof runs in this PR; the merged-main release dry run will exercise both targets without publishing.