Java
GitHub Actions üzerinde Java CI
Her derleme aynı Maven veya Gradle bağımlılıklarını yeniden indirir.
120s → 4s
Bağımlılık çözümü
9 dakika → 90'lar
Artımlı yapı
%91
Önbellek isabet oranı
Her derleme aynı Maven veya Gradle bağımlılıklarını yeniden indirir.
Neden oluyor?
~/.m2 ve ~/.gradle yeni bir çalıştırıcıda boştur ve JVM başlatma artı açıklama işleme, modül başına sabit ek yük ekler.
Ne değiştirilmeli
- Derleme dosyalarında anahtarlanmış ~/.m2/repository veya ~/.gradle/caches önbellek
- Gradle yapılandırma önbelleğini etkinleştirin ve önbellek oluşturun
- Modül başına çatallanmak yerine Gradle arka plan programını bir iş içinde canlı tutun
- JVM'ye yeterince yığın verin — GC thrash tam olarak yavaş bir yapıya benziyor
runnerhut'ta Java (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.