d6fa75db

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): the CLI
binary, static musl + aarch64 release binaries, the wasm inspect UI, the npm
package, plus clippy, rustfmt and the test suite -- each as exactly one
attribute. Dependencies are compiled once in a single derivation whose source
crane reduces to cargo metadata only, so editing source never rebuilds them.
nix-ci.nix hand-declares the build graph and disables auto dependency discovery
to keep no-op rebuilds fast.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 1m22s 1s 1s 1m24s 1m22s
Eval 2m46s 39s 39s 3m26s 1m21s
Build 2h43m07s 20m51s 13m45s 2h56m53s 2h39m42s
Suite 1m22s 21m32s 2h55m30s 2h56m53s 2h42m26s

Timeline

0s3m2h44m2h45m2h46m2h47m2h48m2h49m2h50m2h51m2h52m2h53m2h54m2h55m2h56m