9df6f775

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Add a Nix flake for fast, incrementally-cached CI

Builds bombadil with crane and the oxalica rust-overlay (x86_64-linux):
- default/static-musl/aarch64-musl CLI binaries, the wasm inspect UI,
  the npm package, plus clippy, rustfmt and the test suite as checks.
- A single shared dependency derivation whose source is reduced by crane to
  cargo metadata only, so editing source code never rebuilds dependencies.
  See nix/experiments/deps-cache-stability.sh for a runnable proof.
- wasm-bindgen-cli pinned to 0.2.125 to match the wasm-bindgen crate.

nix flake check builds everything; this is what NixCI runs.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 2s 2s 2s 0s
Eval 2s 57s 57s 59s 0s
Build 6s 23m06s 13m46s 13m53s 0s
Suite 0s 24m05s 13m53s 13m53s 0s

Timeline

0s1m2m3m4m5m6m7m8m9m10m11m12m13m