Skip to content

ci(ios-integration): run device tests group by group, not the whole file in one process - #80

Merged
vietnguyentuan2019 merged 1 commit into
mainfrom
ci/ios-integration-per-group
Sep 23, 2026
Merged

vietnguyentuan2019 merged 1 commit into
mainfrom
ci/ios-integration-per-group

Conversation

@vietnguyentuan2019

Copy link
Copy Markdown
Contributor

The Integration (iOS Simulator) job has failed or timed out on every main push since at least May 2026 (continue-on-error: true, so it never blocked anything, but it also never gave useful signal). Verified on the reruns of the v1.8.2 merge commits: single-process run failed with no diagnostics; the code itself is fine — all 24 groups pass locally on an iOS simulator, ~17 min total.

Splits the run into one flutter test --plain-name "<group>" invocation per group() in the file, reports every failing group instead of stopping at the first, and raises the job timeout 40→75 min.

Verified on this branch (dispatched run 35830038193)

Completed in ~55 min (vs. hanging/failing on the old single-process run). 17/24 groups fully green. 7/24 have exactly one flaky test each, all the same shape — a 45-60s wait for a background task's completion event timing out, scattered across unrelated worker types (HTTP, image compression, constraints, concurrent tasks). That is CI-runner speed, not a regression: this job is still non-gating, and the failures are the pre-existing flakiness the file already documents.

Also confirms, for the first time in CI (not just locally): the #75 onStopped hook test passes on a real simulator run:

✅ Cancellation issue_75: cancelling a DartWorker fires its onStopped handler even when the callback never polls isTaskCancelled

…ile in one process

The Integration (iOS Simulator) job has failed or timed out on every main push
since at least May 2026. It was continue-on-error, so nobody noticed. The code is
fine: all 24 groups pass on an iOS simulator when run one at a time (about 17
min locally). Only one 4000+ line file running in a single process kept stalling,
the same failure mode already known from the Android device runs.

- Loop over the group() names and run each with --plain-name.
- Report every failing group, not just the first.
- Raise the job timeout from 40 to 75 min to cover a cold build on each group.
- Drop --dart-define=SIMULATOR=true: nothing in the test file reads it.
@vietnguyentuan2019
vietnguyentuan2019 merged commit 9f3a5b3 into main Sep 23, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant