Nix
Nix CI pe GitHub Actions
Fiecare build Nix începe cu un magazin gol și reconstruiește lumea.
26m → 5m
Construcție rece
26m → 40s
Construcție caldă
Fiecare build Nix începe cu un magazin gol și reconstruiește lumea.
De ce se întâmplă
/nix/store nu este persistent și nu este configurat niciun cache binar în afara valorii implicite.
Ce să schimbi
- Utilizați un cache binar, cum ar fi Cachix, astfel încât derivările să fie preluate, nu reconstruite
- Cache /nix/store între rulări acolo unde alergătorul permite acest lucru
- Fixați nixpkgs cu un blocaj de fulgi, astfel încât memoria cache să lovească efectiv
Nix pe runnerhut
Singura linie specifică runnerhut este `runs-on: runnerhut-8vcpu-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.
Similar
BazelÎntreaga valoare a lui Bazel este stocarea în cache, iar CI aruncă memoria cache la fiecare rulare.GradleFaza de configurare rulează timp de 40 de secunde înainte de compilare.MavenMaven descarcă de pe internet la fiecare rulare.NxNx reconstruiește fiecare proiect pentru că nu poate spune ce s-a schimbat.