Skip to content

parallelize CI: split android runner into lint, jvm-tests, and android-tests#527

Open
wow-miley wants to merge 2 commits into
mainfrom
wow-miley/create-pr
Open

parallelize CI: split android runner into lint, jvm-tests, and android-tests#527
wow-miley wants to merge 2 commits into
mainfrom
wow-miley/create-pr

Conversation

@wow-miley

Copy link
Copy Markdown
Contributor

The single jvm-tests job was running ktlint sequentially before all JVM + Android tests, causing 15+ minute CI times vs ~6 minutes for iOS. This splits that job into three parallel runners (lint, jvm-tests, android-tests) alongside the existing ios-tests runner.

Total CI time is now bounded by the slowest individual job rather than the sum of sequential steps, expected to drop from 15+ min to ~6-8 min.

🤖 Generated with Claude Code

…ts jobs

Previously ktlint ran sequentially before all JVM + Android tests in a
single job, causing 15+ minute CI times. This splits the work into four
parallel jobs (lint, jvm-tests, android-tests, ios-tests) so total CI
time is bounded by the slowest individual job.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

Concept staleness check — clean. No tracked-source changes need a concept update.

…ests

84 delay() calls across 17 test files were executing as real wall-clock
time inside runBlocking, contributing to 10+ minute JVM test runs. This
converts them to runTest with virtual time so delays complete instantly.

Files with a class-level TestScope use runTest(scope.testScheduler) to
share the scheduler with the event bus scope; files with independent
coroutine scopes use runTest(UnconfinedTestDispatcher()).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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