Rust
GitHub Actions hakkında Rust CI
Cargo neredeyse her CI çalıştırmasında bağımlılık grafiğinin tamamını yeniden oluşturur.
12 dk → 4 dk
Soğuk yapı
12 dk → 45 sn
Sıcak yapı
%94
Önbellek isabet oranı
Cargo neredeyse her CI çalıştırmasında bağımlılık grafiğinin tamamını yeniden oluşturur.
Neden oluyor?
target/ önbelleğe alınmaz veya herhangi bir kaynak dosya değiştiğinde önbellek anahtarı değişir, dolayısıyla her çalıştırmada artımlı durum atılır.
Ne değiştirilmeli
- Kaynak dosyalar yerine Cargo.lock'ta ~/.cargo/registry, ~/.cargo/git ve target/ anahtarlarını önbelleğe alın
- Soğuk bir hedefin bile derlenmiş eserleri dallar arasında yeniden kullanması için sccache kullanın
- Kargo kontrolü, kargo klipsi ve kargo testini tek bir önbellek paylaşan paralel işlere ayırın
- 16 vCPU çalıştırıcıda sürüm eserleri oluşturun — Rusc, codegen birimleriyle doğrusala yakın ölçeklenir
runnerhut'ta Rust (runnerhut)
runnerhut'a (runnerhut) özgü tek satır 'runs-on: runnerhut-16vcpu-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.