Ugrás a tartalomra

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

  1. A ~/.cargo/registry, ~/.cargo/git és target/ gyorsítótár a Cargo.lock-on van a forrásfájlok helyett
  2. 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
  3. 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
  4. É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.