ci(nix): restore nix CI as trigger-only workflow with local entrypoint - #69463
ci(nix): restore nix CI as trigger-only workflow with local entrypoint#69463alt-glitch wants to merge 1 commit into
Conversation
Re-adds nix CI (removed in 9eb0bcd) in minimal form: runs only on workflow_dispatch or the ci/nix PR label, never on push/PR by default. Both CI and local devs run the same scripts/nix-ci.sh (check|build). The old stale-npmDepsHash machinery (fix-lockfiles, sticky comments, auto-fix job) is intentionally not restored: importNpmLock (#48883) removed npmDepsHash entirely, so that failure class no longer exists. Reuses the still-present .github/actions/nix-setup composite (Cachix).
૮ >ﻌ< ა ci reviewrunning on 10526c3
|
|
The trigger-only shape is a clean entrypoint, but as-is it doesn't restore the guard half of #53202 — only the manual tool. The failure class this is meant to catch (the electron-headers FOD in #61443, and #67056's tui source-filter break) has the defining property that it merges green — the networked Docker / #53202's guard closed it automatically — auto-triggered on the
Keep the label path for manual re-runs; just don't make it the only path. With those two, this fully supersedes #53202's guard and I'll close mine. |
|
Call-graph-assisted review — the change is a workflow YAML + a bash wrapper (no compiled code), so calldiff doesn't apply; reviewed via Restores Nix CI as a trigger-only workflow: 🟡 Duplication / abstraction
🔴 Issues
✅ Looks good
|
Summary
Restores nix CI (ripped out in 9eb0bcd "to be re-added later when we have more stable ci flows") in a deliberately minimal, opt-in form:
workflow_dispatch(job: check|build) or adding theci/nixlabel to a PR — no push/PR auto-runs, so it costs nothing until asked.scripts/nix-ci.shis the single entrypoint:check=nix flake check -L(16 checks on x86_64-linux),build= cold-builds.#default .#tui .#web .#desktop. Devs run exactly what CI runs..github/actions/nix-setupcomposite (Determinate installer + Cachixhermes-agent,CACHIX_AUTH_TOKENoptional).npmDepsHashdiagnosis/auto-fix machinery is not restored: since fix(nix): hashless npm deps via importNpmLock (salvage #48213) #48883 (importNpmLock, hashless) that failure class is structurally gone, and.#fix-lockfilesno longer exists.Note for merging: the
ci/nixlabel needs to exist once (gh label create ci/nix --description "run nix CI on this PR").Test plan
bash -n scripts/nix-ci.sh, mode 755scripts/nix-ci.sh checklocally = the samenix flake check -Lthat passed green today at cbc1054ifrequires dispatch or exact labelci/nix