Repository navigation
ci: Run iOS simulator tests in parallel - #982
Merged
marandaneto merged 1 commit intoOct 28, 2026
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 28, 2026
philippsuess
marked this pull request as ready for review
October 28, 2026 10:48
marandaneto
approved these changes
Oct 28, 2026
marandaneto
left a comment
Member
There was a problem hiding this comment.
The code looks good; no qualifying findings. Verdict: correct.
marandaneto
enabled auto-merge (squash)
October 28, 2026 11:05
Member
|
makes sense |
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.
💡 Motivation and Context
test-ios-simulatorran three independentmaketargets one after another on a single runner, taking 24–38 minutes on recentmainruns (e.g. run 40654985085: 22 + 6 + 8 min of test steps, 38 min total). Each target already does its own fullxcodebuild(different scheme, configuration or compile flags), so nothing is shared between them.This splits them into a matrix of three parallel jobs, so wall time becomes the longest job instead of the sum (about 17–22 min instead of 31–38):
test-ios-simulator (unit tests)→make testOniOSSimulatortest-ios-simulator (survey UI)→make testSurveyUItest-ios-simulator (presentation masks)→make testPresentationMasksNotes for reviewers:
test-ios-simulator. A newtest-ios-simulatorjob now aggregates the matrix (needs+if: always(), fails unless the matrix result issuccess), so no ruleset change is needed.ios-test-logs-unit,-survey-ui,-presentation-masks) since artifact names must be unique. Nothing else referencesios-test-logs.💚 How did you test it?
CI only. Maintainers: workflow runs on this PR and on the test PRs below need your approval. The test PRs are draft, DO NOT MERGE, and are closed once validated.
test-ios-simulator (…)jobs andtest-ios-simulatorare green; wall time about 17–22 mintest-ios-simulator (survey UI)andtest-ios-simulatorare red; the other two matrix jobs still finishdetect-markdown-onlyis stubbed totrue; all jobs skip their work and pass;test-ios-simulatoris green📝 Checklist
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Written with Claude Code. I analyzed the slow run's per-step timings, compared the workflow with how getsentry/sentry-cocoa structures its test jobs (matrix of parallel jobs), and chose the matrix split as the biggest low-risk win. Faster runners, simulator boot overlap and compile caching were considered and left out of this PR.
🤖 Generated with Claude Code