ci: have `eval.full` return the report as displayed in CI

Update the README.md to document what gets returned.
We might in the future split these up into other attrsets but I don't see a usecase for that at the moment.

Changed files
+17 -3
ci
+3
ci/eval/README.md
···
```
Keep in mind to otherwise pass the same set of arguments for both commands (`evalSystems`, `quickTest`, `chunkSize`).
···
```
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.
+14 -3
ci/eval/default.nix
···
chunkSize ? 5000,
quickTest ? false,
baseline,
}:
let
diffs = symlinkJoin {
···
}
) evalSystems;
};
in
-
combine {
-
diffDir = diffs;
-
};
in
{
···
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 {
···
}
) evalSystems;
};
+
comparisonReport = compare {
+
combinedDir = combine { diffDir = diffs; };
+
inherit touchedFilesJson githubAuthorId;
+
};
in
+
comparisonReport;
in
{