İksir
GitHub Actions hakkında Elixir CI
mix deps.get ve compilation her çalıştırmada sıfırdan başlar.
4 dk → 30 sn
Derle
9 dk → 3 dk
Tam boru hattı
mix deps.get ve compilation her çalıştırmada sıfırdan başlar.
Neden oluyor?
deps/ ve _build/ önbelleğe alınmaz, dolayısıyla hiçbir bağımlılık değişmese bile her bağımlılık yeniden derlenir.
Ne değiştirilmeli
- Mix.lock ve OTP/Elixir sürümlerinde önbellek deps/ ve _build/ anahtarlı
- MIX_ENV=test ile bir kez derleyin ve hem credo hem de testler için yeniden kullanın
- --warnings-as-errors'ı ayrı bir hızlı işte çalıştırın, böylece erken başarısız olur
- ExUnit'in yerleşik eşzamansız testlerini kullanın; çoğu paket bunları yanlışlıkla devre dışı bırakır
runnerhut'taki iksir (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.