Naar inhoud springen

Android

Android CI op GitHub Actions

Gradle lost afhankelijkheden opnieuw op en de emulator heeft geen hardwareversnelling.

40m → 9m
Emulatortests
11m → 3m
Graduele opbouw

Gradle lost afhankelijkheden opnieuw op en de emulator heeft geen hardwareversnelling.

Waarom het gebeurt

~/.gradle is koud en door GitHub gehoste Linux-runners stellen /dev/kvm niet bloot op standaardlagen.

Wat te veranderen

  1. Cache ~/.gradle/caches en ~/.android/avd
  2. Draai op een runner die KVM blootlegt, zodat de emulator hardwareversneld is
  3. Schakel de Gradle-configuratiecache en build-cache in
  4. Splits eenheidstests en instrumentatietests in afzonderlijke taken

Android op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: gradle/actions/setup-gradle@v4
- run: ./gradlew testDebugUnitTest --build-cache
- uses: reactivecircus/android-emulator-runner@v2
with: { api-level: 34, script: ./gradlew connectedCheck }
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.