Repository navigation
ci: migrate ARM runners and add release dry runs - #26
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d05d2f531e
ℹ️ 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".
|
Codex review: needs changes before merge. What this changesThis PR updates macOS runners, preserves native deployment targets, and adds a manual release dry run without publishing. Example: A maintainer validates version 0.4.2 on current main.
Review scores
ProductKind: Maintenance · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Needs changes before merge - 2 items remain Keep this PR open: the maintainer-approved release tooling is useful and absent from main, but the new Git-dependent tests break the Alpine test environment. Priority: P2 Before merge
Findings
Tests
Agent review detailsHow this fits togetherGitHub Actions feeds reviewed source into native build and package validation jobs, which produce release artifacts before protected tag runs publish and promote packages. flowchart TD
A[Manual dispatch or protected tag] --> B[Validate source and versions]
B --> C[Native builds and runtime checks]
C --> D[Assemble package artifacts]
D --> E[Manual dry run finishes]
D --> F[Tag release publishes packages]
F --> G[Registry verification and install smoke]
G --> H[Promote release]
Technical reviewBest possible solution: Keep the existing release pipeline, install Git in its Alpine test container, and leave CI-only details in the release documentation. Do we have a high-confidence way to reproduce the issue? The added fixture unconditionally executes Git, and the existing Alpine setup does not install it; no target code was run, and the failing jobs' detailed traces were inaccessible. Is this the best way to solve the issue? Reusing the native and collection jobs is a focused implementation that preserves publication ownership; supplying the new test prerequisite completes the integration. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 8a610a06e5ba. Provenance checked
TestingProof path: unit tests only. SecurityNone. EvidenceAcceptance criteria:
What I checked:
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 19, 2026, 2:00 AM ET / 06:00 UTC. |
Move arm64 native and release-install checks from macos-15 to xcode-27. Retain x64 checks on macos-26-intel because they must prove native KERN_PROCARGS2 command inspection: the public API deliberately rejects that operation under Rosetta. The existing ARM lane separately proves Rosetta refusal; it now asserts or installs Rosetta first.
Preserve the shipped native addon deployment targets measured from the current 0.4.2 npm artifacts: macOS 10.12 for x64 and 11.0 for arm64. CI sets those targets explicitly and checks every built Darwin addon. Node retains its existing runtime requirements.
Add a dry-run-only manual release path on current main. It validates package versions, runs all native and installed-local-package checks, and assembles the complete release artifact set. Draft creation and all publishing/registry promotion jobs are skipped. Manual publication and non-main/stale source are rejected; live releases retain annotated protected-tag validation.
Validation: workflow lint, focused Darwin Rust test, full pnpm/native/Cargo checks on Crabbox, source-admission regression tests, and independent autoreview through P2. Exact-head and merged-main CI plus a merged-main dry run are required before completion. No tags, version bumps, or publications are included.
The Alpine test images now install Git, which the release source-admission fixtures require. The affected tests pass on both Node 22 and 24 Alpine containers; the full native matrix remains required on the final head.