Skip to content

ci: run macOS x64 and musl tests on PRs only with the ci: full label - #804

Merged
wan9chi merged 2 commits into
mainfrom
claude/macos-x64-ci-duration-559c9a
Oct 5, 2026
Merged

wan9chi merged 2 commits into
mainfrom
claude/macos-x64-ci-duration-559c9a

Conversation

@wan9chi

@wan9chi wan9chi commented Oct 5, 2026

Copy link
Copy Markdown
Member

Motivation

The macOS x64 job is the slowest CI job and sets the wall time for every pull request: it takes 220–245s, while the next slowest, musl, takes ~130s. Its compile step takes the same ~30s as on arm64. The extra time is Rosetta translating each x64 binary (node, bun, deno, Chromium, Codex, tsgo, and each test binary) the first time it runs on a fresh runner. musl is next: it builds with no Rust cache inside the Alpine container (76s of its ~130s).

Pull requests now skip both jobs unless they have the ci: full label. Adding the label reruns CI with both jobs included, and done waits for them, so a labeled PR can't merge until they pass. Pushes to main and manual dispatches still always run them.

macOS x64 moves out of the test matrix into its own job, because a matrix exclude can't remove an include entry. It reuses the test steps through a YAML anchor.

🤖 Generated with Claude Code

The macOS x64 job (Rosetta) and the musl job (uncached build in an Alpine
container) are the slowest CI jobs and set the pull request wall time.
Pull requests now skip both unless they carry the `ci: full` label; pushes
to main and manual dispatches still run them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

fspy benchmark

linux

dynamic/launch             change  -0.64%  [ -9.95% ..  +7.96%]  overhead  +262.56%
dynamic/access             change  -0.14%  [ -1.42% ..  +1.12%]  overhead   +11.85%
dynamic/access-relative    change  +0.35%  [ -1.04% ..  +1.17%]  overhead   +58.15%
dynamic/access-contended   change  +0.29%  [ -0.72% ..  +2.74%]  overhead   +13.77%
static/launch              change  +0.10%  [ -5.85% ..  +6.10%]  overhead  +741.51%
static/access              change  -0.09%  [ -1.12% ..  +0.86%]  overhead  +821.69%
static/access-relative     change  +0.16%  [ -1.10% ..  +1.53%]  overhead +1416.42%
static/access-contended    change  +0.36%  [ -0.50% ..  +1.12%]  overhead +3199.27%

macos

dynamic/launch             change  -0.25%  [ -4.18% ..  +4.53%]  overhead  +229.62%
dynamic/access             change  -1.97%  [-17.26% .. +18.07%]  overhead    +9.09%
dynamic/access-relative    change  +3.28%  [ -4.55% .. +52.67%]  overhead  +246.45%
dynamic/access-contended   change  +0.94%  [ -4.56% .. +10.68%]  overhead    +3.12%

windows

dynamic/launch             change  -2.45%  [ -8.49% ..  +7.35%]  overhead   +23.41%
dynamic/access             change  -0.18%  [ -7.57% ..  +8.07%]  overhead    +1.46%
dynamic/access-relative    change  +0.17%  [-12.83% .. +16.88%]  overhead    +1.58%
dynamic/access-contended   change  -0.67%  [ -7.31% .. +11.27%]  overhead    +1.88%

GitHub lists a skipped matrix job under its unexpanded name, so the
single-entry matrix showed up as `Test (${{ matrix.shard }})` on pull
requests. Drop the matrix and have the shared steps read job-level env
vars instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wan9chi wan9chi added the ci: full Run the slow CI jobs (macOS x64, musl) on this pull request label Oct 5, 2026
@wan9chi
wan9chi added this pull request to stack #806 October 5, 2026 01:45
@wan9chi
wan9chi merged commit d4615fb into main Oct 5, 2026
31 checks passed
@wan9chi
wan9chi deleted the claude/macos-x64-ci-duration-559c9a branch October 5, 2026 02:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: full Run the slow CI jobs (macOS x64, musl) on this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant