Flattern
Flutter CI auf GitHub Actions
Das Flutter SDK und der Pub-Cache werden bei jeder Ausführung und für jede Plattform heruntergeladen.
110s → 6s
SDK-Setup
8m → 2m
Testsuite
Das Flutter SDK und der Pub-Cache werden bei jeder Ausführung und für jede Plattform heruntergeladen.
Warum es passiert
Weder das SDK noch ~/.pub-cache bleiben bestehen und iOS- und Android-Builds zahlen jeweils separat.
Was zu ändern ist
- Cachen Sie das Flutter SDK-Verzeichnis und den ~/.pub-cache-Schlüssel der Flutter-Version
- Erstellen Sie iOS und Android als parallele Matrixzweige auf nativen Läufern
- Behalten Sie Pods/ und Gradle-Caches für die nativen Hälften bei
- Führen Sie den Flattertest aus, wobei „--concurrency“ auf die Kernanzahl eingestellt ist
Flattern auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-8vcpu-ubuntu-2404“. Alles andere sind Standard-GitHub Actions – dieselben Aktionen, dieselben Geheimnisse und dasselbe Berechtigungsmodell, das Sie heute verwenden.
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
Native reagierenBei jedem Build werden native iOS- und Android-Abhängigkeiten aus dem Quellcode neu kompiliert.iOSXcode wird von Grund auf neu erstellt und die Code-Signierung ist in CI fragil.AndroidGradle löst Abhängigkeiten neu auf und der Emulator verfügt über keine Hardwarebeschleunigung.FastlaneFastlane-Lanees verbringen die meiste Zeit mit der Bundle-Installation und der Signatureinrichtung.