.NET
.NET CI auf GitHub Actions
Die NuGet-Wiederherstellung ist netzwerkgebunden und der Build ist Single-Threaded.
110s → 8s
NuGet-Wiederherstellung
6m → 2m
Bauen
Die NuGet-Wiederherstellung ist netzwerkgebunden und der Build ist Single-Threaded.
Warum es passiert
Die Wiederherstellung erfolgt für jedes Paket auf nuget.org, und MSBuild parallelisiert Projekte nicht, es sei denn, es wird dazu aufgefordert.
Was zu ändern ist
- Zwischenspeichern Sie ~/.nuget/packages, die in der Sperrdatei gespeichert sind, und stellen Sie sie mit --locked-mode wieder her
- Erstellen Sie mit -m, um parallele Projekterstellungen zu ermöglichen
- Schließen Sie den Arbeitsbereich von der Defender-Überprüfung auf Windows-Läufern aus
- Führen Sie Tests mit --parallel und einer Matrix über Testprojekte durch
.NET auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-8vcpu-windows-2022“. 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.