[Backport release-25.05] ci: have eval.full return the report as displayed in CI (#441214)

This commit is contained in:
Wolfgang Walther
2025-09-08 14:12:00 +00:00
committed by GitHub
2 changed files with 17 additions and 3 deletions

View File

@@ -43,3 +43,6 @@ nix-build ci -A eval.full --arg baseline $BASELINE
```
Keep in mind to otherwise pass the same set of arguments for both commands (`evalSystems`, `quickTest`, `chunkSize`).
Running this command will evaluate the difference between the baseline statistics and the ones at the time of running the command.
From that difference, it will produce a human-readable report in `$out/step-summary.md`.
If no packages were added or removed, then performance statistics will also be generated as part of this report.

View File

@@ -267,6 +267,15 @@ let
chunkSize ? 5000,
quickTest ? false,
baseline,
# Which maintainer should be considered the author?
# Defaults to nixpkgs-ci which is not a maintainer and skips the check.
githubAuthorId ? "nixpkgs-ci",
# What files have been touched? Defaults to none; use the expression below to calculate it.
# ```
# git diff --name-only --merge-base master HEAD \
# | jq --raw-input --slurp 'split("\n")[:-1]' > touched-files.json
# ```
touchedFilesJson ? builtins.toFile "touched-files.json" "[ ]",
}:
let
diffs = symlinkJoin {
@@ -282,10 +291,12 @@ let
}
) evalSystems;
};
comparisonReport = compare {
combinedDir = combine { diffDir = diffs; };
inherit touchedFilesJson githubAuthorId;
};
in
combine {
diffDir = diffs;
};
comparisonReport;
in
{