ci/eval: reduce closure size

`procps` pulls in 180 MB of systemd, but busybox also provides `kill`.
`busybox` also ships `time`, so no need for that extra dependency.

Using `nativeBuildInputs` pulls in all the -dev outputs of the listed
packages - which we don't need. We only need to run these tools, thus
map to their bin outputs.

Brings down the closure size from 500+ MB to 193 MB for the Eval job.
This probably saves ~10 seconds for the job.
This commit is contained in:
Wolfgang Walther
2025-08-07 16:38:14 +02:00
parent cb527a04e0
commit 5c697b8aea
2 changed files with 13 additions and 11 deletions

View File

@@ -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; [

View File

@@ -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
];
}
''
@@ -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;
@@ -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
];
}