Naar inhoud springen

Nix

Nix CI op GitHub Actions

Elke Nix-build begint met een lege winkel en herbouwt de wereld.

26m → 5m
Koude bouw
26m → 40s
Warme bouw

Elke Nix-build begint met een lege winkel en herbouwt de wereld.

Waarom het gebeurt

/nix/store wordt niet gehandhaafd en er is geen binaire cache geconfigureerd die verder gaat dan de standaard.

Wat te veranderen

  1. Gebruik een binaire cache zoals Cachix, zodat afleidingen worden opgehaald en niet opnieuw worden opgebouwd
  2. Cache /nix/store tussen runs waar de loper dit toestaat
  3. Pin nixpkgs met een flake lock zodat de cache daadwerkelijk terechtkomt

Nix op runnerhut

yaml
jobs:
build:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v30
- uses: cachix/cachix-action@v15
with: { name: acme }
- run: nix build
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.