Rust
GitHub Actions CI pe Rust
Cargo reconstruiește întregul grafic de dependență pe aproape fiecare rulare CI.
12m → 4m
Construcție rece
12m → 45s
Construcție caldă
94%
Rata de accesare a memoriei cache
Cargo reconstruiește întregul grafic de dependență pe aproape fiecare rulare CI.
De ce se întâmplă
target/ nu este memorat în cache sau cheia cache se modifică ori de câte ori se modifică orice fișier sursă, astfel încât starea incrementală este eliminată la fiecare rulare.
Ce să schimbi
- Memorați în cache ~/.cargo/registry, ~/.cargo/git și target/ introdus pe Cargo.lock mai degrabă decât pe fișierele sursă
- Folosiți sccache, astfel încât chiar și o țintă rece/reutilizați artefacte compilate în ramuri
- Împărțiți verificarea încărcăturii, clippingul încărcăturii și testarea încărcăturii în lucrări paralele care partajează un singur cache
- Construiți artefacte de lansare pe un runner de 16 vCPU - rustc se scalează aproape liniar cu unitățile codegen
Rust pe runnerhut
Singura linie specifică pentru runnerhut este `runs-on: runnerhut-16vcpu-ubuntu-2404`. Orice altceva este standard GitHub Actions — aceleași acțiuni, aceleași secrete și același model de permisiuni pe care îl utilizați astăzi.
Următorul tău build poate fi de două ori mai rapid, la jumătate de preț
Începe gratuit. Plecarea înseamnă aceeași linie, iar acel diff îl publicăm și noi.