Swift
Swift CI pe GitHub Actions
Verificarea rapidă a tipului domină timpul de construire și nimic nu este reutilizat între rulări.
14m → 4m
Construiește
14m → 70s
incremental
Verificarea rapidă a tipului domină timpul de construire și nimic nu este reutilizat între rulări.
De ce se întâmplă
Directorul .build al SwiftPM și DerivedData din Xcode sunt eliminate, astfel încât fiecare tip de rulare verifică întregul grafic al modulului.
Ce să schimbi
- Persist .build pentru SwiftPM și DerivedData pentru proiecte Xcode
- Găsiți expresii lente cu -Xfrontend -warn-long-expression-type-checking=200
- Împărțiți module, astfel încât o schimbare într-unul să nu anuleze totul
- Utilizați un rulant macOS M4 — compilația Swift este foarte sensibilă la un singur fir
Swift pe runnerhut
Singura linie specifică pentru runnerhut este `runs-on: runnerhut-macos-15-m4`. Orice altceva este standard GitHub Actions — aceleași acțiuni, aceleași secrete și același model de permisiuni pe care îl utilizați astăzi.
Următorul tău build poate fi de două ori mai rapid, la jumătate de preț
Începe gratuit. Plecarea înseamnă aceeași linie, iar acel diff îl publicăm și noi.
Similar
RustCargo reconstruiește întregul grafic de dependență pe aproape fiecare rulare CI.Du-teCompilările Go sunt rapide la nivel local și inexplicabil de lente în CI.Pythoninstalarea pip durează câteva minute și pytest rulează pe un singur nucleu.Node.jsnpm ci scrie zeci de mii de fișiere mici la fiecare rulare.