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
- Cache ~/.gradle/caches en ~/.android/avd
- Draai op een runner die KVM blootlegt, zodat de emulator hardwareversneld is
- Schakel de Gradle-configuratiecache en build-cache in
- 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 }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.
Gerelateerd
Reageer inheemsElke build compileert de native iOS- en Android-afhankelijkheden opnieuw vanaf de bron.iOSXcode wordt vanuit het niets opgebouwd en code-ondertekening is kwetsbaar in CI.FladderenDe Flutter SDK en pubcache worden bij elke run en voor elk platform gedownload.FastlaneFastlane Lanes besteden het grootste deel van hun tijd aan het installeren en ondertekenen van bundels.