chore: [SDK-4958] parallelize Android SDK CI - #2698
Merged
Merged
Conversation
Contributor
📊 Diff Coverage ReportDiff Coverage Report (Changed Lines Only)Gate: aggregate coverage on changed executable lines must be ≥ 80% (JaCoCo line data for lines touched in the diff). Changed Files Coverage✅ No main-source changes to gateNo Kotlin/Java changes in the diff. |
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
fadi-george
force-pushed
the
fadi/sdk-4958
branch
from
July 28, 2026 17:54
7532c43 to
a94b075
Compare
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
|
Warm-cache rerun completed in 6m21s versus the 10m50s baseline: 4m29s / 41% faster. Jobs were code quality 1m28s, tests/coverage 2m40s, and demo build 6m07s. Same-repo PRs now seed through the test job; fork PRs remain read-only. |
Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
|
Fixed the OperationRepo test race by queueing all three operations before starting queue processing. Verified with 20 repeated targeted runs, the full core test suite, Spotless, and the PR CI run. |
sherwinski
approved these changes
Jul 28, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Description
One Line Summary
Run code quality, unit tests/coverage, and demo release builds in parallel with Gradle-aware caching.
Before:
After:
Details
Motivation
The previous required
buildjob ran all workloads serially and took 10m40s. Its setup restored a broad 1.66 GB Gradle cache and replaced the hosted runner's preinstalled Android command-line tools.Scope
code-quality,test, anddemo-buildjobs.buildgate so the existing required check remains stable.gradle/actions/setup-gradle@v6.CI evidence
Baseline run 30326989887 completed in 10m50s end-to-end. The final warm-cache run 30386948655 completed in 6m09s, a 4m41s / 43% wall-time reduction.
The warm workloads started independently: code quality finished in 1m07s, tests/coverage in 2m48s, and demo builds in 5m59s. The final stable
buildgate passed in 4s.The segmented Gradle cache restored dependencies, transforms, wrappers, DSL state, and build outputs across all jobs. The test job increased from 37 cache hits cold to 118 warm and fell from 6m44s to 2m05s of Gradle execution. The demo build fell from 7m57s cold to 5m42s, while code-quality fell from 2m14s to 1m07s end-to-end.
Android SDK setup investigation
The baseline runner had
ANDROID_HOME=/usr/local/lib/android/sdkand command-line tools 12 preinstalled.android-actions/setup-android@v3rejected that version because the workflow pinned command-line tools 11, then accepted licenses and reinstalledtoolsandplatform-tools. It did not install the project's required compile SDK 34, so platform availability already came from the hosted image. All code-quality, test, coverage, GMS release, and Huawei release tasks passed using only the hosted SDK.Testing
Manual testing
actionlint .github/workflows/*.ymlgit diff --check./gradlew help --console=plainAffected code checklist
Checklist
Overview
Testing
Final pass