Skip to content

ci: run the iOS and Android integration tests in their own jobs - #5810

Draft
ric-oliv wants to merge 2 commits into
ci/run-samples-and-integration-tests-in-own-jobsfrom
ci/run-device-integration-tests-in-own-jobs
Draft

ric-oliv wants to merge 2 commits into
ci/run-samples-and-integration-tests-in-own-jobsfrom
ci/run-device-integration-tests-in-own-jobs

Conversation

@ric-oliv

@ric-oliv ric-oliv commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Part 4 of 6 for #5806, based on #5809. The device test jobs had the same chain as the build legs: each ran the device tests and then the integration tests. The integration tests build and run their own app and share only the simulator or emulator, so they now run in a second job at the same time, one commit per platform.

iOS. ios-integration-tests runs next to ios-tests. ios.Tests.ps1 skips every case unless a simulator is already booted, and xharness only boots one in ios-tests, so the new job boots its own, with a 10-minute timeout. In #5790 the iOS workflow took 18 minutes, against 38.7 the same night, and all 8 integration cases passed.

Android. android-integration-tests uses the same API level and framework matrix through YAML anchors. It starts with the workflow instead of waiting for the device test app builds.

In #5800 the Android workflow took 19.8 minutes instead of 30.1.

On this PR's own CI

3 runs, including #5807 to #5809. iOS Device Tests took 22.1, 22.2 and 15.9 minutes against 39.0 on main, and all 8 integration cases passed each time. Android Device Tests took 21.1, 34.8 and 29.1, because here the emulator jobs still use the larger runner, and they waited up to 11.9, 25.6 and 20.5 minutes for one. #5812 moves them to standard runners, where Android took 17.9, 18.4 and 17.5. The whole stack's numbers are in #5806.

#skip-changelog

@codecov

codecov Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.13%. Comparing base (13de6a8) to head (1634a0f).

Additional details and impacted files
@@                                 Coverage Diff                                  @@
##           ci/run-samples-and-integration-tests-in-own-jobs    #5810      +/-   ##
====================================================================================
- Coverage                                             76.14%   76.13%   -0.02%     
====================================================================================
  Files                                                   528      528              
  Lines                                                 19579    19579              
  Branches                                               3829     3829              
====================================================================================
- Hits                                                  14909    14906       -3     
- Misses                                                 3788     3791       +3     
  Partials                                                882      882              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

ric-oliv and others added 2 commits October 25, 2026 17:22
The iOS job ran the device tests and then the integration tests on one
Mac, about 42 minutes in all. The two build and run different apps and
share only the simulator, so the integration tests now run in a second
job at the same time.

ios.Tests.ps1 skips every case unless a simulator is already booted,
and xharness only boots one in the ios-tests job, so the new job boots
its own, with a 10-minute timeout. The boot takes about 2 minutes.

On its first run, the iOS workflow took 18 minutes, against 38.7 for
the single job the same night, and all 8 integration cases passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each Android emulator job ran the device tests, then Setup Environment,
then the integration tests, about 22 minutes after waiting 7.5 for the
device test app builds. The integration tests build their own app from
source and share only the emulator, so they now run in a second job
that starts with the workflow, on the same runners.

The new job drops "Select Java 21". It came with #4559, when Setup
Environment ended on Java 11; since #5060 it installs only Java 21.

On its first run, the Android workflow took 19.8 minutes instead of
30.1. The device test jobs took 3.6 to 3.8 minutes and the integration
jobs 12.0 to 19.7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ric-oliv
ric-oliv force-pushed the ci/run-samples-and-integration-tests-in-own-jobs branch from 7cf192e to 13de6a8 Compare October 25, 2026 16:22
@ric-oliv
ric-oliv force-pushed the ci/run-device-integration-tests-in-own-jobs branch from 2a0f2f4 to 1634a0f Compare October 25, 2026 16:22

This branch has not been deployed

No deployments
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