Zum Inhalt springen

Schnell

Swift CI auf GitHub Actions

Die schnelle Typprüfung dominiert die Build-Zeit und zwischen den Läufen wird nichts wiederverwendet.

14m → 4m
Bauen
14m → 70er Jahre
Inkrementell

Die schnelle Typprüfung dominiert die Build-Zeit und zwischen den Läufen wird nichts wiederverwendet.

Warum es passiert

Das .build-Verzeichnis von SwiftPM und DerivedData von Xcode werden verworfen, sodass bei jedem Lauf das gesamte Moduldiagramm einer Typprüfung unterzogen wird.

Was zu ändern ist

  1. Behalten Sie .build für SwiftPM- und DerivedData für Xcode-Projekte bei
  2. Finden Sie langsame Ausdrücke mit -Xfrontend -warn-long-expression-type-checking=200
  3. Teilen Sie Module auf, damit eine Änderung in einem Modul nicht alles ungültig macht
  4. Verwenden Sie einen M4-MacOS-Runner – die Swift-Kompilierung ist stark Single-Thread-empfindlich

Swift auf runnerhut

Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-macos-15-m4“. 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.