Rust
GitHub Actions CI a Rust
A Cargo szinte minden CI-futásnál újraépíti a teljes függőségi grafikont.
12m → 4m
Hideg felépítés
12 m → 45 mp
Meleg felépítés
94%
Gyorsítótár találati aránya
A Cargo szinte minden CI-futásnál újraépíti a teljes függőségi grafikont.
Miért történik
A target/ nincs gyorsítótárazva, vagy a gyorsítótár kulcsa megváltozik, amikor bármilyen forrásfájl módosul, így a növekményes állapot minden futtatás után elvész.
Mit kell változtatni
- A ~/.cargo/registry, ~/.cargo/git és target/ gyorsítótár a Cargo.lock-on van a forrásfájlok helyett
- Használja a sccache-t, így még egy hideg célpont is/újrafelhasználja a lefordított műtermékeket ágak között
- Oszd meg a rakományellenőrzést, a rakománylevágást és a rakománytesztet párhuzamos munkákra, egy gyorsítótáron osztva
- Építsen kibocsátási műtermékeket egy 16 vCPU-s futóra – a rustc közel lineárisan skálázódik a kódoló egységekkel
Rust a runnerhuton (runnerhut)
Az egyetlen runnerhut specifikus sor a "runs-on: runnerhut-16vcpu-ubuntu-2404". Minden más a szokásos GitHub Actions – ugyanazok a műveletek, ugyanazok a titkok és ugyanaz az engedélymodell, amelyet ma is használ.
A következő buildje kétszer gyorsabb lehet, fele áron
Kezdje ingyen. A távozás ugyanaz az egy sor, és azt a diffet is közzétesszük.