Unverified Commit 5c697b8a authored by Wolfgang Walther's avatar Wolfgang Walther
Browse files

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.
parent cb527a04
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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; [
+11 −10
Original line number Diff line number Diff line
@@ -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
        ];
      }