Kotlin
Kotlin CI auf GitHub Actions
Die Kompilierung von Kotlin ist langsamer als die von Java und der Daemon startet bei jedem Lauf neu.
7m → 2m
Kompilieren
40er → 2er
Konfigurationsphase
Die Kompilierung von Kotlin ist langsamer als die von Java und der Daemon startet bei jedem Lauf neu.
Warum es passiert
kotlinc hat ein umfangreicheres Frontend und ohne den Konfigurationscache wertet Gradle jedes Mal den gesamten Build-Graphen neu aus.
Was zu ändern ist
- Aktivieren Sie den Gradle-Konfigurationscache und den inkrementellen Kotlin-Compiler
- Cache ~/.gradle/caches und die build/-Verzeichnisse stabiler Module
- Verwenden Sie kotlin.incremental=true und halten Sie den Daemon innerhalb des Jobs warm
- Teilen Sie Multiplattform-Ziele in eine Matrix auf, damit sie parallel kompiliert werden
Kotlin 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
RustCargo erstellt bei fast jedem CI-Lauf das gesamte Abhängigkeitsdiagramm neu.GehGo-Builds sind lokal schnell und in CI unerklärlicherweise langsam.PythonDie Pip-Installation dauert nur wenige Minuten und Pytest läuft auf einem einzelnen Kern.Node.jsnpm ci schreibt bei jedem Lauf Zehntausende kleiner Dateien.