Scala
GitHub Actions hakkında Scala CI
sbt, derlemeye göre başlatma ve çözümleme konusunda daha uzun zaman harcar.
90'lar → 8'ler
sbt başlangıcı
11 dk → 3 dk
Derle
sbt, derlemeye göre başlatma ve çözümleme konusunda daha uzun zaman harcar.
Neden oluyor?
sbt bir JVM'yi başlatır, Coursier bağımlılıklarını çözer ve tek bir dosya derlenmeden önce yapı tanımını yükler.
Ne değiştirilmeli
- ~/.cache/coursier, ~/.sbt ve hedef/ dizinleri önbelleğe alın
- sbt --client kullanın veya tüm görevleri tek bir sbt çağrısında çalıştırın
- Çalıştırmalarda Çinko artımlı derleyici önbelleğini etkinleştirin
- JVM'ye 8 GB veya daha fazlasını verin — Scala derlemesi çok fazla belleğe ihtiyaç duyar
runnerhut'ta Scala (runnerhut)
runnerhut'a (runnerhut) özgü tek satır 'runs-on: runnerhut-8vcpu-ubuntu-2404'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.