| Commit message (Expand) | Author | Age | Files | Lines |
| * | treewide: fix typos (#479869) | Michael Daniels | 2026-01-24 | 1 | -1/+1 |
| |\ |
|
| | * | treewide: fix typos | Ben Siraphob | 2026-01-13 | 1 | -1/+1 |
| * | | ci/eval/compare: don't try to get the attr of pkgs/by-name/README.md | Michael Daniels | 2026-01-24 | 1 | -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 Walther | 2025-11-02 | 1 | -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 Walther | 2025-11-01 | 1 | -0/+39 |
| * | ci/github-script/labels: set maintainer labels from latest maintainer map (#4... | Wolfgang Walther | 2025-11-01 | 3 | -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 Walther | 2025-11-01 | 3 | -23/+21 |
| * | | ci/eval: add extraNixpkgsConfig argument | Gaetan Lepage | 2025-11-01 | 4 | -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 Walther | 2025-10-31 | 1 | -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 Walther | 2025-10-31 | 2 | -0/+32 |
| * | ci/eval/utils: refactor to use lib.init | Wolfgang Walther | 2025-10-31 | 1 | -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 Walther | 2025-10-31 | 1 | -2/+5 |
| * | Revert "First-class GitHub team reviews" | Wolfgang Walther | 2025-10-28 | 2 | -45/+16 |
| * | workflows/reviewers: First-class team package maintainer review requests | Silvan Mosberger | 2025-10-28 | 2 | -16/+45 |
| * | ci/eval/compare/maintainers: simplify `meta.position` predicate | Matt Sturgeon | 2025-10-22 | 1 | -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 Walther | 2025-10-22 | 1 | -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 Walther | 2025-10-22 | 1 | -1/+7 |
| * | ci/eval: disable GC warning•••This came up more often recently, and breaks Eval because it prints on
stderr.
| Wolfgang Walther | 2025-10-18 | 1 | -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 Walther | 2025-10-17 | 1 | -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 Walther | 2025-10-17 | 1 | -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 Walther | 2025-10-17 | 1 | -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 Walther | 2025-10-17 | 1 | -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 Walther | 2025-10-16 | 2 | -4/+1 |
| * | Merge branch 'master' into staging-next•••lixPackageSets.git conflicted via 9c29a340beee8 + eabfa160aae76
I think, hopefully good now.
| Vladimír Čunát | 2025-10-05 | 3 | -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
| NAHO | 2025-09-30 | 3 | -8/+8 |
| * | | Merge staging-next into staging | nixpkgs-ci[bot] | 2025-09-18 | 2 | -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 Taron | 2025-09-18 | 1 | -4/+0 |
| | * | ci.eval.compare: split out equivalent values into their own table | Philip Taron | 2025-09-17 | 1 | -46/+117 |
| | * | ci.eval.compare: explain the various metrics under the --explain flag | Philip Taron | 2025-09-17 | 2 | -5/+56 |
| | * | ci.eval.compare: remove the duplicate cpuTime key | Philip Taron | 2025-09-17 | 1 | -1/+8 |
| | * | ci.eval.compare: put things with counts together | Philip Taron | 2025-09-17 | 1 | -1/+3 |
| | * | ci.eval.compare: put things with bytes together | Philip Taron | 2025-09-17 | 1 | -1/+3 |
| | * | ci.eval.compare: make the table format using tabulate not manually | Philip Taron | 2025-09-17 | 1 | -18/+9 |
| | * | ci.eval.compare: sort time metrics first, then GC metrics, then everything else | Philip Taron | 2025-09-17 | 1 | -1/+12 |
| | * | ci.eval.compare: assert types in flatten_data | Philip Taron | 2025-09-17 | 1 | -6/+12 |
| | * | ci.eval.compare: delete unreferenced global | Philip Taron | 2025-09-17 | 1 | -3/+0 |
| | * | ci.eval.compare: instead of manually tabulating, use tabulate | Philip Taron | 2025-09-17 | 2 | -21/+14 |
| | * | ci.eval.compare: support passing single files to cmp-stats | Philip Taron | 2025-09-17 | 1 | -13/+30 |
| | * | ci.eval.compare: allow before_vals == 1 but avoid the t-test | Philip Taron | 2025-09-17 | 1 | -16/+23 |
| | * | ci.eval.compare: turn warnings into errors•••This helps detect my math errors
| Philip Taron | 2025-09-17 | 1 | -0/+4 |
| | * | ci.eval.compare: require the directories to exist (they always should) | Philip Taron | 2025-09-17 | 1 | -14/+0 |
| | * | ci.eval.compare: use argument parsing instead of environment variables to pas... | Philip Taron | 2025-09-17 | 2 | -12/+10 |
| | * | ci.eval.compare: extract a derivation for cmp-stats•••It's not very useful yet.
| Philip Taron | 2025-09-17 | 1 | -9/+40 |
| | * | ci.eval.compare: extract main function in cmp-stats.py | Philip Taron | 2025-09-17 | 1 | -1/+5 |
| | * | ci.eval.compare: sort imports in cmp-stats.py | Philip Taron | 2025-09-17 | 1 | -2/+3 |
| | * | ci.eval.compare: format cmp-stats.py with ruff | Philip Taron | 2025-09-17 | 1 | -22/+38 |
| * | | Merge staging-next into staging | nixpkgs-ci[bot] | 2025-09-15 | 2 | -5/+23 |
| |\| |
|
| | * | ci/eval/compare: add 10.rebuild-nixos-tests label (#439255) | Wolfgang Walther | 2025-09-15 | 2 | -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 Walther | 2025-09-04 | 1 | -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 Walther | 2025-09-03 | 1 | -3/+15 |