You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI: replace nix in GitHub Actions with direct toolchains #286
GitHub Actions and nix do not play well together here, and the mcpx workflow pays for it twice.
Measured on a recent dezren39/nix mcpx run (same workflow shape as this repo): total job 10.6 min = ~0.5 min setup (checkout, nix installer, setup-go/deno/bun/node), 4.6 min unit+e2e tests run with the direct Go toolchain, then 5.4 min "Nix build" that recompiles the same code a second time inside a nix derivation.
Problems:
mcpx.yml, nix-ci.yml and id-check.yml all install nix (DeterminateSystems/nix-installer-action) per job, then mostly use direct toolchains anyway.
No nix store cache is configured anywhere (no cachix, no magic-nix-cache), so every run is cold.
Proposal: build and test with the direct toolchains in GHA (setup-go + go build/test, goreleaser where releases need it). Keep nix only for a step that genuinely needs a flake output, and name that exception in the workflow. The flake stays for local/dev use; CI should not need it.
Acceptance: no nix installer steps remain in PR CI (or each remaining one has a comment justifying it); per-PR CI wall time drops measurably; all existing checks still run.
Activity
ci(mcpx): single direct-Go test job — drop the per-PR nix build