Git
GitHub Actions üzerinde CI'ye gidin
Go derlemeleri yerel olarak hızlıdır ve CI'da açıklanamayacak kadar yavaştır.
8 dk → 2 dk
Test paketi
3 kat daha hızlı
Yarış dedektörü
%97
Önbellek isabet oranı
Go derlemeleri yerel olarak hızlıdır ve CI'da açıklanamayacak kadar yavaştır.
Neden oluyor?
Go derleme önbelleği ~/.cache/go-build dosyasında bulunur ve her yeni çalıştırıcıda boştur, dolayısıyla her paket sıfırdan derlenir.
Ne değiştirilmeli
- Önbellek ~/.cache/go-build ve ~/go/pkg/mod go.sum'a anahtarlandı
- Derleme önbelleğinin bir kez doldurulması için go testinden önce go build ./... komutunu çalıştırın
- -count=1'i bilinçli olarak kullanın; test sonucu önbelleğini devre dışı bırakır, bu nedenle onu yalnızca gerçekten istediğinizde kullanın
- Daha büyük bir makine satın almak yerine, büyük test paketlerini -run ve matris ile parçalayın
runnerhut'a git (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.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.JavaHer derleme aynı Maven veya Gradle bağımlılıklarını yeniden indirir.