CI: speed up Android builds (drop redundant upload, use full runner capacity) #13

Merged
mohlec merged 1 commit from ci/build-speedups into ncw/main 2026-07-06 15:40:49 +00:00
Owner

Measured breakdown of a full build (16 min total, PR #11 run):

  • checkout+npm install: ~1 min
  • gradle configure: ~2 min
  • gradle assembleDebug: 9m37s
  • upload-artifact@v3: ~5.5 min then fails HTTP 500 (masked by continue-on-error) — redundant, APK already saved + attached to ncw-latest release

Changes: drop the failing upload-artifact step; --max-workers 2->8 and -Xmx3g->6g (runner has 14 cores/16GB, was underused); enable org.gradle.caching + org.gradle.parallel (runner is persistent native host, GRADLE_USER_HOME already persists across builds).

Measured breakdown of a full build (16 min total, PR #11 run): - checkout+npm install: ~1 min - gradle configure: ~2 min - gradle assembleDebug: 9m37s - upload-artifact@v3: ~5.5 min then fails HTTP 500 (masked by continue-on-error) — redundant, APK already saved + attached to ncw-latest release Changes: drop the failing upload-artifact step; --max-workers 2->8 and -Xmx3g->6g (runner has 14 cores/16GB, was underused); enable org.gradle.caching + org.gradle.parallel (runner is persistent native host, GRADLE_USER_HOME already persists across builds).
Measured on the last full run (checkout->APK, PR #11 build): 16 min total,
but only ~10m43s was real build work. Breakdown:
  - checkout + npm install: ~1 min
  - gradle configure: ~2 min
  - gradle assembleDebug: 9m37s
  - upload-artifact@v3: ~5.5 min then fails (HTTP 500), masked by
    continue-on-error — pure waste, the APK is already saved locally
    and attached to the ncw-latest release two steps earlier

Changes:
  - Remove the upload-artifact step entirely (redundant + failing)
  - --max-workers 2 -> 8 (runner has 14 cores, was using a fraction)
  - -Xmx3g -> -Xmx6g (runner has 16GB, headroom was unused)
  - Enable org.gradle.caching + org.gradle.parallel in gradle.properties:
    runner is a persistent native host with a shared GRADLE_USER_HOME
    (already 6.6GB, downloads correctly persisting since Jun 9), so
    cached task outputs are valid inputs across builds. Gradle
    invalidates cache entries by task-input hash, not wall-clock age,
    so this does not reintroduce a stale-cache class of bug.
mohlec merged commit da21fd2701 into ncw/main 2026-07-06 15:40:49 +00:00
mohlec deleted branch ci/build-speedups 2026-07-06 15:40:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
slash/slash-mobile!13
No description provided.