Hızlı
GitHub Actions hakkında Swift CI
Hızlı tip kontrolü, derleme süresine hakimdir ve çalıştırmalar arasında hiçbir şey yeniden kullanılmaz.
14 dk → 4 dk
Yapı
14 dk → 70s
Artımlı
Hızlı tip kontrolü, derleme süresine hakimdir ve çalıştırmalar arasında hiçbir şey yeniden kullanılmaz.
Neden oluyor?
SwiftPM'nin .build dizini ve Xcode'un DerivedData'sı atılır, böylece her çalıştırma türü tüm modül grafiğini kontrol eder.
Ne değiştirilmeli
- SwiftPM için Persist .build ve Xcode projeleri için DerivedData
- -Xfrontend -warn-long-expression-type-checking=200 ile yavaş ifadeleri bulun
- Birindeki değişiklik her şeyi geçersiz kılmayacak şekilde modülleri bölün
- Bir M4 macOS çalıştırıcısı kullanın — Swift derlemesi son derece tek iş parçacığına duyarlıdır
runnerhut'ta hızlı (runnerhut)
runnerhut'a (runnerhut) özgü tek satır 'runs-on: runnerhut-macos-15-m4'tür. Geriye kalan her şey standart GitHub Actions'tir; bugün kullandığınız aynı eylemler, aynı sırlar ve aynı izin modeli.
Bir sonraki build'iniz yarı fiyata iki kat hızlı olabilir
Ücretsiz başlayın. Ayrılmak da aynı tek satır ve o diff'i de yayımlıyoruz.
İlgili
RustCargo neredeyse her CI çalıştırmasında bağımlılık grafiğinin tamamını yeniden oluşturur.GitGo derlemeleri yerel olarak hızlıdır ve CI'da açıklanamayacak kadar yavaştır.Pythonpip kurulumu dakikalar alır ve pytest tek bir çekirdek üzerinde çalışır.Node.jsnpm ci her çalıştırmada onbinlerce küçük dosya yazar.