diff --git a/ci/eval/compare/default.nix b/ci/eval/compare/default.nix index 5807f8ef52f7..81eebcc9adb1 100644 --- a/ci/eval/compare/default.nix +++ b/ci/eval/compare/default.nix @@ -122,7 +122,8 @@ let in runCommand "compare" { - nativeBuildInputs = [ + # Don't depend on -dev outputs to reduce closure size for CI. + nativeBuildInputs = map lib.getBin [ jq (python3.withPackages ( ps: with ps; [ diff --git a/ci/eval/default.nix b/ci/eval/default.nix index 21285757a277..2b7f59ae6b43 100644 --- a/ci/eval/default.nix +++ b/ci/eval/default.nix @@ -14,10 +14,9 @@ runCommand, writeShellScript, symlinkJoin, - time, - procps, - nix, + busybox, jq, + nix, }: let @@ -48,9 +47,10 @@ let runCommand "attrpaths-superset.json" { src = nixpkgs; - nativeBuildInputs = [ + # Don't depend on -dev outputs to reduce closure size for CI. + nativeBuildInputs = map lib.getBin [ + busybox nix - time ]; } '' @@ -72,11 +72,11 @@ let # The system to evaluate. # Note that this is intentionally not called `system`, # because `--argstr system` would only be passed to the ci/default.nix file! - evalSystem, + evalSystem ? builtins.currentSystem, # The path to the `paths.json` file from `attrpathsSuperset` attrpathFile ? "${attrpathsSuperset { inherit evalSystem; }}/paths.json", # The number of attributes per chunk, see ./README.md for more info. - chunkSize, + chunkSize ? 5000, checkMeta ? true, # Don't try to eval packages marked as broken. @@ -131,11 +131,11 @@ let in runCommand "nixpkgs-eval-${evalSystem}" { - nativeBuildInputs = [ - nix - time - procps + # Don't depend on -dev outputs to reduce closure size for CI. + nativeBuildInputs = map lib.getBin [ + busybox jq + nix ]; env = { inherit evalSystem chunkSize; @@ -160,14 +160,14 @@ let # Record and print stats on free memory and swap in the background ( while true; do - availMemory=$(free -b | grep Mem | awk '{print $7}') - freeSwap=$(free -b | grep Swap | awk '{print $4}') - echo "Available memory: $(( availMemory / 1024 / 1024 )) MiB, free swap: $(( freeSwap / 1024 / 1024 )) MiB" + availMemory=$(free -m | grep Mem | awk '{print $7}') + freeSwap=$(free -m | grep Swap | awk '{print $4}') + echo "Available memory: $(( availMemory )) MiB, free swap: $(( freeSwap )) MiB" if [[ ! -f "$out/${evalSystem}/min-avail-memory" ]] || (( availMemory < $(<$out/${evalSystem}/min-avail-memory) )); then echo "$availMemory" > $out/${evalSystem}/min-avail-memory fi - if [[ ! -f $out/${evalSystem}/min-free-swap ]] || (( availMemory < $(<$out/${evalSystem}/min-free-swap) )); then + if [[ ! -f $out/${evalSystem}/min-free-swap ]] || (( freeSwap < $(<$out/${evalSystem}/min-free-swap) )); then echo "$freeSwap" > $out/${evalSystem}/min-free-swap fi sleep 4 @@ -206,7 +206,8 @@ let }: runCommand "combined-eval" { - nativeBuildInputs = [ + # Don't depend on -dev outputs to reduce closure size for CI. + nativeBuildInputs = map lib.getBin [ jq ]; }