Reageer inheems
Reageer op Native CI op GitHub Actions
Elke build compileert de native iOS- en Android-afhankelijkheden opnieuw vanaf de bron.
22m → 7m
iOS-build
14m → 4m
Android-build
Elke build compileert de native iOS- en Android-afhankelijkheden opnieuw vanaf de bron.
Waarom het gebeurt
CocoaPods, Gradle en de Metro-cache zijn allemaal koud, dus de oorspronkelijke laag wordt opnieuw opgebouwd, zelfs bij een wijziging die alleen in JS plaatsvindt.
Wat te veranderen
- Cache Pods/, ~/.gradle/caches en de Metro transformer cache
- Voer iOS- en Android-builds uit als parallelle matrixbenen, niet opeenvolgend
- Gebruik DerivedData-persistentie op de macOS-runner voor incrementele Xcode-builds
- Sla de native build volledig over als alleen JS is gewijzigd, met behulp van padfilters
Reageer Native op runnerhut
yaml
jobs: ios: runs-on: runnerhut-macos-15-m4 steps: - uses: actions/checkout@v4 - run: cd ios && pod install - run: npx react-native build-ios --mode Release android: runs-on: runnerhut-8vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - run: cd android && ./gradlew assembleReleaseDe enige runnerhut-specifieke regel is `runs-on: runnerhut-macos-15-m4`. 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
iOSXcode wordt vanuit het niets opgebouwd en code-ondertekening is kwetsbaar in CI.AndroidGradle lost afhankelijkheden opnieuw op en de emulator heeft geen hardwareversnelling.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.