From 53e3c328524b51dc454e160bc00994c5a830bc50 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Sun, 12 Jul 2026 20:07:13 +0100 Subject: [PATCH] removing the ISO eval from the gitea workflow --- docs/ROADMAP.md | 7 +++++-- tools/ci-eval.sh | 14 +++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index e8f25b4..b2c96c3 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1007,8 +1007,11 @@ Design/decision records and a running log of shipped work (items marked 2026-07-12: both gates moved from one big `nix flake check --no-build` (~6.0 GB peak RSS — OOM'd the 4 GB VPS, then could never fit the runner's 2 GB container cap) to `tools/ci-eval.sh`, one output per nix - process (worst single output: nomarchy-live at 2.69 GB — needs the - container's default swap allowance; everything else ≤ 1 GB). Explicitly + process. **nomarchy-live is excluded by decision** (Bernardo, same + day): the ISO is built/distributed manually, so its guard rides that + manual flow — and its eval alone is 2.69 GB, the one output that can't + fit the cap (Actions run 315: everything else green, it OOM-killed). + With it out, the worst CI output is 0.99 GB — no server change needed. Explicitly *not* a binary cache: compile-from-source is a deliberate values call (Gentoo-style), so this automates the *config/lock* channel, not artifact distribution. diff --git a/tools/ci-eval.sh b/tools/ci-eval.sh index 251f530..660e00e 100755 --- a/tools/ci-eval.sh +++ b/tools/ci-eval.sh @@ -7,7 +7,9 @@ # process caps the peak at the largest single output (~0.93 GB, # downstream-template-system): the heap is freed when each process # exits. Wall time is worse (shared nixpkgs re-eval per process); -# irrelevant next to the memory cap. Used by .gitea/workflows/check.yml +# irrelevant next to the memory cap. nomarchy-live is skipped by +# decision (see the loop below); with it out, the worst output is +# hardware-toggles at 0.99 GB. Used by .gitea/workflows/check.yml # and bump.yml; runs anywhere (`bash tools/ci-eval.sh`). set -euo pipefail @@ -27,6 +29,16 @@ for a in $(list "checks.$sys"); do evaluate "checks.$sys.$a.drvPath" done for c in $(list nixosConfigurations); do + # nomarchy-live (the installer ISO) is deliberately NOT CI-gated + # (Bernardo, 2026-07-12): the ISO is built and distributed manually, + # so its guard lives with that manual flow (local `nix flake check` / + # the ISO build itself) — and it is the one output whose EVAL alone + # (~2.7 GB) cannot fit the runner's 2 GB cap (Actions run 315: every + # other output green, this one OOM-killed). + if [ "$c" = "nomarchy-live" ]; then + echo "skip: nixosConfigurations.$c (manual ISO flow — see comment)" + continue + fi evaluate "nixosConfigurations.$c.config.system.build.toplevel.drvPath" done for h in $(list homeConfigurations); do