ci: migrate to hosted runners and bound verification - #155
Conversation
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.
🟢 Approval recommended
Runner label updates and associated documentation/config cleanup are consistent and do not introduce behavioral changes beyond the intended runner migration.
Pull request overview
This PR migrates CI away from Blacksmith to standard GitHub-hosted runners while keeping the existing macOS 26 + Ubuntu 24.04 ARM64 execution environments, and documents that runner contract in the CI guide.
Changes:
- Switch the verify workflow jobs to GitHub-hosted
macos-26(repo checks) andubuntu-24.04-arm(release evaluation). - Remove the Actionlint configuration that existed solely to whitelist Blacksmith runner labels.
- Document the runner/architecture contract in
docs/github-pipelines.md.
File summaries
| File | Description |
|---|---|
| docs/github-pipelines.md | Documents the GitHub-hosted runner labels and ARM64 contract for verify/release. |
| .github/workflows/verify.yml | Updates runs-on to GitHub-hosted macos-26 and ubuntu-24.04-arm without changing triggers/commands. |
| .github/actionlint.yaml | Removes now-unused Actionlint self-hosted runner label configuration tied to Blacksmith. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Problem
This public repository used Blacksmith runners. Moving to standard GitHub-hosted ARM runners exposed unbounded verification fan-out: short subprocess fixtures timed out before initialization while all deterministic checks started together.
Solution
Use
macos-26andubuntu-24.04-arm, preserving the existing OS versions and ARM64 execution. Limit simultaneous verification checks to available CPU capacity minus one, capped at four and floored at one, while preserving per-check deadlines and prompt failure reporting. Remove the unused Blacksmith Actionlint labels and document the runner contract.Proof
The admission regression failed with four active checks where two were allowed; it now passes and confirms queued work drains after a failure. Focused static and services domains pass. The full
mise run verify:fastgraph passes all 38 checks in 21.49 seconds locally, including the unchanged timeout fixtures. The earlier hosted failure was run33979113907; fresh CI will exercise the bounded runner on GitHub hardware.