Clojure
GitHub Actions hakkında Clojure CI
JVM başlatma ve bağımlılık çözümlemesi testlerden daha maliyetlidir.
80'ler → 3'ler
Bağımlılık çözümü
JVM başlatma ve bağımlılık çözümlemesi testlerden daha maliyetlidir.
Neden oluyor?
~/.m2 ve ~/.gitlibs soğuktur ve her clj çağrısı JVM başlangıcının tamamını öder.
Ne değiştirilmeli
- Önbellek ~/.m2/repository ve ~/.gitlibs deps.edn'de anahtarlandı
- Tüm test ad alanlarını ad alanı başına bir tane yerine tek bir JVM'de çalıştırın
- Tekrarlanan AOT çalışmasını önlemek için clj -T:build ile ön derleme yapın
runnerhut'ta kapanma (runnerhut)
runnerhut'a (runnerhut) özgü tek satır 'runs-on: runnerhut-4vcpu-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.