İçeriğe geç

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

  1. Kaynak dosyalar yerine Cargo.lock'ta ~/.cargo/registry, ~/.cargo/git ve target/ anahtarlarını önbelleğe alın
  2. Soğuk bir hedefin bile derlenmiş eserleri dallar arasında yeniden kullanması için sccache kullanın
  3. Kargo kontrolü, kargo klipsi ve kargo testini tek bir önbellek paylaşan paralel işlere ayırın
  4. 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.