.NET
GitHub Actions üzerinde .NET CI
NuGet geri yüklemesi ağa bağlıdır ve yapı tek iş parçacıklıdır.
110'lar → 8'ler
NuGet geri yükleme
6 dk → 2 dk
Yapı
NuGet geri yüklemesi ağa bağlıdır ve yapı tek iş parçacıklıdır.
Neden oluyor?
Geri yükleme her paket için nuget.org'u ziyaret eder ve MSBuild, söylenmediği sürece projeleri paralelleştirmez.
Ne değiştirilmeli
- Kilit dosyasına anahtarlanmış ~/.nuget/packages önbellek ve --locked-mode ile geri yükleyin
- Paralel proje yapılarını etkinleştirmek için -m ile derleyin
- Windows çalıştırıcılarında çalışma alanını Defender taramasının dışında tutun
- Test projeleri üzerinde --parallel ve bir matris ile testler çalıştırın
runnerhut'ta .NET (runnerhut)
runnerhut'a (runnerhut) özgü tek satır 'runs-on: runnerhut-8vcpu-windows-2022'dir. 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.