summaryrefslogtreecommitdiff
path: root/ci/eval (follow)
Commit message (Expand)AuthorAgeFilesLines
* treewide: fix typos (#479869)Michael Daniels2026-01-241-1/+1
|\
| * treewide: fix typosBen Siraphob2026-01-131-1/+1
* | ci/eval/compare: don't try to get the attr of pkgs/by-name/README.mdMichael Daniels2026-01-241-1/+1
|/
* ci/eval/compare: fix without owners•••Even without relevant owners, the owners.txt file must be created, otherwise the next job will fail. Wolfgang Walther2025-11-021-0/+1
* ci/request-reviews: move get-code-owners to eval/compare•••This moves the parsing of ci/OWNERS into the Nix sandbox. We also get rid of checking out the nixpkgs repo another time in the reviewers workflow - we already have everything we need in the eval/compare job. The creation of owners.txt in this way is only temporary, it should eventually be moved further, similar to how maintainers.json is currently migrating to a maintainer map for the whole repo stored on the target branch as artifact. Wolfgang Walther2025-11-011-0/+39
* ci/github-script/labels: set maintainer labels from latest maintainer map (#4...Wolfgang Walther2025-11-013-23/+21
|\
| * ci/github-script/labels: set maintainer labels from latest maintainer map•••Instead of setting the maintainer-related labels based entirely on Eval results, this uses the new maintainer map from the target branch. This allows labeling PRs correctly, that had been created *before* a contributor became a maintainer of the respective package. Wolfgang Walther2025-11-013-23/+21
* | ci/eval: add extraNixpkgsConfig argumentGaetan Lepage2025-11-014-1/+13
* | ci/eval: avoid passing args around•••There is no point in passing these arguments around between all the different parts of the eval chain - these global settings should surely not be modified between different steps. This also makes it simpler to add new arguments like extra nixpkgs configuration. Wolfgang Walther2025-10-311-15/+11
|/
* workflows/eval: upload maintainer list of all packages as artifact•••This creates a simple mapping of all packages to github ids of all their maintainers. This is uploaded as an artifact and is then available for download on the latest commit of each branch with a merge queue. This will allow scheduled jobs to use this information for setting maintainer-related labels, to request reviewers and to implement the merge-bot. The advantage over querying this information directly via Nix in each case: The scheduled job does not need to install Nix and does not need to checkout the target branch. Compared to obtaining the maintainer information just for a single PR during Eval, this will allow retroactively changing maintainers for a package: For example, it allows to request a new maintainer as reviewer for a PR that was created before they became maintainer, but is still open - and similarly for maintainer labels and merge-bot rights. None of these extensions are implemented by this PR, yet. Wolfgang Walther2025-10-312-0/+32
* ci/eval/utils: refactor to use lib.initWolfgang Walther2025-10-311-1/+1
* ci/eval/diff: avoid copying paths.json•••Currently the `diff-<system>` artifacts are 6-7 MB in size - and almost all of that is the `paths.json` file, which is only used to generate the diff itself. This had been stored in the artifact previously for debugging purposes. Ever since we moved to Cachix this is not required anymore, since it's possible to run the same eval locally and thus fetch the `eval.singleSystem` result, including `paths.json`, from Cachix. This will be even more helpful when the next step adds `meta.json` - which is magnitudes bigger than `paths.json`. Wolfgang Walther2025-10-311-2/+5
* Revert "First-class GitHub team reviews"Wolfgang Walther2025-10-282-45/+16
* workflows/reviewers: First-class team package maintainer review requestsSilvan Mosberger2025-10-282-16/+45
* ci/eval/compare/maintainers: simplify `meta.position` predicateMatt Sturgeon2025-10-221-1/+1
* ci/eval/compare/maintainers: fix maintainer pings without meta.position•••In a recent change, the path matching was simplified in maintainers.nix. This revealed a pre-existing logic bug: Packages without `meta.position` would get an empty string as their file name. The change would then cause this empty string to always be matched, which lead to maintainer pings for these packages in seemingly random PRs, when some of their dependencies were changed. Wolfgang Walther2025-10-221-2/+3
* ci/eval/compare/maintainers: disable aliases•••We should never try to ping maintainers through package aliases, this can only lead to errors. One example case is, where an attribute is a throw alias, but then re-introduced in a PR. This would trigger the throw. By disabling aliases, we can fallback gracefully. Wolfgang Walther2025-10-221-1/+7
* ci/eval: disable GC warning•••This came up more often recently, and breaks Eval because it prints on stderr. Wolfgang Walther2025-10-181-0/+4
* ci/eval/compare/maintainers: ping by-name reviewers for pure refactors•••This allows requesting reviewers for pure refactor PRs, which don't cause a rebuild of the package. This is only possible for by-name, because only here the package names can be inferred from the filenames. Wolfgang Walther2025-10-171-1/+12
* ci/eval/compare/maintainers: ping by-name reviewers for all rebuilds•••This adds support to ping maintainers when arbitrary files in by-name are changed, as long as they still cause a rebuild. For example, this is the case when changing .json files with version metadata. These were previously not detected as belonging to the package, and didn't cause maintainer pings. Wolfgang Walther2025-10-171-3/+11
* ci/eval/compare/maintainers: refactor path matching•••The only reason for the additional `lib.hasSuffix` check was, that the `lib.removePrefix` was broken - it was never adjusted when porting this from ofborg, so the relative path was wrong and no prefix ever removed, since no packages are in `ci/`. This additionally strips the leading `/`, so that `relevantFilenames` will then have paths starting with `pkgs/...`, similar to how git reports those paths in the `changedpathsjson` file. This allows simple equality comparison. Wolfgang Walther2025-10-171-2/+2
* ci/eval/compare/maintainers: refactor using lib•••Removes unused code and comments, uses shorter lib over builtins and switches to `lib.importJSON`. Readability is key. Wolfgang Walther2025-10-171-25/+15
* maintainers/scripts/get-maintainer-pings-between: drop•••This has been broken for months, since all the interface to `ci/eval` changed. Nobody noticed, so nobody is using it. Wolfgang Walther2025-10-162-4/+1
* Merge branch 'master' into staging-next•••lixPackageSets.git conflicted via 9c29a340beee8 + eabfa160aae76 I think, hopefully good now. Vladimír Čunát2025-10-053-8/+8
|\
| * treewide: remove optional builtins prefixes from prelude functions•••Remove optional builtins prefixes from prelude functions by running: builtins=( abort baseNameOf break derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true ) fd --type file --exec-batch sed --in-place --regexp-extended " s/\<builtins\.($( printf '%s\n' "${builtins[@]}" | paste --delimiter '|' --serial - ))\>/\1/g " nix fmt NAHO2025-09-303-8/+8
* | Merge staging-next into stagingnixpkgs-ci[bot]2025-09-182-91/+282
|\|
| * ci.eval.compare: keep warnings as warnings rather than raising them as errors•••This reverts commit f8210561f3d3 (ci.eval.compare: turn warnings into errors, 2025-09-16). It turns out that there are normal math warnings and we don't want to block CI on the math coming out wrong. Philip Taron2025-09-181-4/+0
| * ci.eval.compare: split out equivalent values into their own tablePhilip Taron2025-09-171-46/+117
| * ci.eval.compare: explain the various metrics under the --explain flagPhilip Taron2025-09-172-5/+56
| * ci.eval.compare: remove the duplicate cpuTime keyPhilip Taron2025-09-171-1/+8
| * ci.eval.compare: put things with counts togetherPhilip Taron2025-09-171-1/+3
| * ci.eval.compare: put things with bytes togetherPhilip Taron2025-09-171-1/+3
| * ci.eval.compare: make the table format using tabulate not manuallyPhilip Taron2025-09-171-18/+9
| * ci.eval.compare: sort time metrics first, then GC metrics, then everything elsePhilip Taron2025-09-171-1/+12
| * ci.eval.compare: assert types in flatten_dataPhilip Taron2025-09-171-6/+12
| * ci.eval.compare: delete unreferenced globalPhilip Taron2025-09-171-3/+0
| * ci.eval.compare: instead of manually tabulating, use tabulatePhilip Taron2025-09-172-21/+14
| * ci.eval.compare: support passing single files to cmp-statsPhilip Taron2025-09-171-13/+30
| * ci.eval.compare: allow before_vals == 1 but avoid the t-testPhilip Taron2025-09-171-16/+23
| * ci.eval.compare: turn warnings into errors•••This helps detect my math errors Philip Taron2025-09-171-0/+4
| * ci.eval.compare: require the directories to exist (they always should)Philip Taron2025-09-171-14/+0
| * ci.eval.compare: use argument parsing instead of environment variables to pas...Philip Taron2025-09-172-12/+10
| * ci.eval.compare: extract a derivation for cmp-stats•••It's not very useful yet. Philip Taron2025-09-171-9/+40
| * ci.eval.compare: extract main function in cmp-stats.pyPhilip Taron2025-09-171-1/+5
| * ci.eval.compare: sort imports in cmp-stats.pyPhilip Taron2025-09-171-2/+3
| * ci.eval.compare: format cmp-stats.py with ruffPhilip Taron2025-09-171-22/+38
* | Merge staging-next into stagingnixpkgs-ci[bot]2025-09-152-5/+23
|\|
| * ci/eval/compare: add 10.rebuild-nixos-tests label (#439255)Wolfgang Walther2025-09-152-5/+23
| |\
| | * ci/eval/compare: add 10.rebuild-nixos-tests label•••This indicates that the NixOS test-driver changed and all NixOS tests have to be rebuilt. It can be used to either re-target to staging or to batch this with other similar changes, at least. Wolfgang Walther2025-09-041-2/+8
| | * ci/eval: eval nixosTests.simple•••We can't eval all nixos tests, this would be way too expensive. But we can evaluate `nixosTests.simple` as an indication whether the nixos test driver has changed. If that's the case, this means that *all* NixOS tests need to be rebuilt. Wolfgang Walther2025-09-031-3/+15