Repository navigation
ci: run the macOS integration tests in three shards - #309
Merged
Merged
Conversation
As one serial job, quality-gates-macos took 18 to 30 minutes, and the integration tests were 75 to 80 percent of it (1251 s of 27 min in the #306 run). The suite grows by about 3 minutes a day, so the 45-minute limit would last about a week. The macOS tests now run in four jobs at once: checks-macos (format, lint, typecheck, build, unit and e2e tests) and test-integration-macos (1/3, 2/3, 3/3), each with a 30-minute limit. quality-gates-macos stays as the check that the main ruleset requires. It now runs on Ubuntu, needs those jobs, and fails when any of them failed, was cancelled or was skipped, the same way quality-gates gates the Linux jobs. --- _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `xhigh`_
Member
Author
|
@codex review |
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: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The operator's goal for this run is to land every follow-up fix. #306 gave
quality-gates-macos45 minutes instead of 30, because the job ran close to its limit and the merge queue dropped PRs when it timed out. The advisor on #306 found that the job grows by about 3 minutes a day as the suite grows, so 45 minutes lasts about a week. Most of the job is the integration tests, which run one file at a time.What changed
.github/workflows/ci.yml, macOS part only:checks-macostest-integration-macos (1/3),(2/3),(3/3)npm run test:integration -- --shard=<n>/3, the same command as the Linux shardsquality-gates-macos14113158) requiresquality-gates,quality-gates-macosandpr-title. I did not renamequality-gates-macos. It still gates every macOS job, the same wayquality-gatesgates the Linux jobs.build, like the Linux shards.checks-macoskeepsbuildbefore the e2e tests.Evidence
Test integrationtook 1251 s of it,Test e2e272 s,Test unit28 s, and setup with the static checks about 75 s.lifecycle.test.tsalone is 239 s). With setup, the slowest shard is about 13 minutes. The expected total is about 13 minutes instead of 27.Validation
actionlint: pass.zizmor --offline .: no findings. With--persona=auditor, the only new entries are the same two kinds that the Linux jobs already have:template-injection(help level, for${{ matrix.shard }}and${{ needs.*.result }}) andanonymous-definition(info level).npx oxfmt .github/workflows/ci.yml --check: pass.checks-macostook 6.4 min. The integration shards took 6.3, 7.1 and 12.6 min, with 315 s, 370 s and 705 s of tests.quality-gates-macospassed 12.7 min after the start. The serial job took 27 min in the ci: give the macOS quality gates 45 minutes instead of 30 #306 run.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:xhigh