| Commit message (Expand) | Author | Age | Files | Lines |
| * | ci/eval: use sane defaults•••Using these defaults makes it possible to just run `nix-build ci -A
eval.singleSystem` without passing additional arguments and get a sane
result back. Especially helpful when testing or debugging.
A `chunkSize` of 5000 is conservative to be able to run on systems with
less memory as well. Run-time is not impacted by that, as recent
benchmarks show.
| Wolfgang Walther | 2025-08-09 | 1 | -2/+2 |
| * | 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.
| Wolfgang Walther | 2025-08-09 | 2 | -11/+13 |
| * | ci/eval: return min memory in megabyte•••No need to return bytes in these files. Also busybox has problems to
render `free -b` with sizes > 100 GB properly in the next commit,
leading to extraction errors with awk.
| Wolfgang Walther | 2025-08-07 | 1 | -3/+3 |
| * | ci/eval: fix min-free-swap report•••This was checking the wrong condition, likely from a copy&pasto.
| Wolfgang Walther | 2025-08-07 | 1 | -1/+1 |
| * | ci/eval/compare: don't treat renames as rebuilds•••When a package's attrpath is renamed it is currently treated as a
rebuild, even though the outpath already exists and is already cached.
This also happens when adding new names for packagesets that already
exist, for example when starting to eval `perlPackages` in CI, which is
just the same as `perl540Packages` currently. It would also happen when
`perlPackages` is switched from `perl540Packages` to `perl999Packages`.
Assuming that `perl999Packages` had already been built before, this
doesn't really cause any rebuilds.
| Wolfgang Walther | 2025-08-06 | 3 | -6/+23 |
| * | ci/treefmt: add markdown-code-runner•••This was run as a test in `doc/tests/check-nix-code-blocks.nix` before,
but its DX can be improved: By including it in `treefmt` we get better
error reporting and auto-fixing, as well as running it on *all* markdown
files (including READMEs etc.) for free.
| Wolfgang Walther | 2025-08-05 | 1 | -0/+17 |
| * | ci/tarball: build with Nix 2.30•••We had to avoid 2.28 / 2.29 due to performance regressions, but this
should work well again with Nix 2.30.
| Wolfgang Walther | 2025-08-05 | 1 | -3/+1 |
| * | ci/pinned: update•••This gives us Nix 2.30 as `nixVersions.latest`, which enables it for
Eval in CI automatically.
It also gives us markdown-code-runner 0.2.0, which allows it to run with
treefmt.
From the nixpkgs-unstable channel:
https://hydra.nixos.org/eval/1817362#tabs-inputs
Changes for treefmt-nix:
https://github.com/numtide/treefmt-nix/compare/421b56313c65a0815a52b424777f55acf0b56ddf...58bd4da459f0a39e506847109a2a5cfceb837796
| Wolfgang Walther | 2025-08-05 | 1 | -6/+6 |
| * | ci/OWNERS: reduce firefox package ownership•••This reduces my codeownership to Firefox Rapid, ESR and the update
script. My hope is that will reduce my notification fatigue on Firefox
Beta/Devedition PRs that I needlessly get requested to.
| Martin Weinelt | 2025-07-29 | 1 | -1/+3 |
| * | buildMozillaMach: migrate into build-support•••The builder has multiple consumers, so it is fine to separate it from
Firefox, but the main motivation is to separate code ownership between
the builder and individual firefox versions.
| Martin Weinelt | 2025-07-29 | 1 | -0/+1 |
| * | top-level/release-attrpaths-superset: remove __attrsFailEvaluation (#428015) | Wolfgang Walther | 2025-07-24 | 1 | -1/+1 |
| |\ |
|
| | * | top-level/release-outpaths-parallel: rename from top-level/release-attrpaths-...•••This file takes attrpaths as input and returns chunks of derivations,
aka a subset of release-outpaths - while release-attrpaths-superset
returns only an attrpath, not any derivations.
Thus, as a specialization of release-outpaths, the name
release-outpaths-parallel matches much better.
| Wolfgang Walther | 2025-07-23 | 1 | -1/+1 |
| * | | ci/eval: fail on asserts when generating attrpaths•••This doesn't fail on *all* asserts, yet, because nix-env still ignores
these in the main eval step. But it already gives some converage during
the attrpath generation.
| Wolfgang Walther | 2025-07-24 | 1 | -2/+1 |
| * | | ci/pinned: update•••This gives us Nix 2.30 and nixfmt 1.0.0.
From the nixpkgs-unstable channel:
https://hydra.nixos.org/eval/1817034#tabs-inputs
Changes for treefmt-nix:
https://github.com/numtide/treefmt-nix/compare/a05be418a1af1198ca0f63facb13c985db4cb3c5...421b56313c65a0815a52b424777f55acf0b56ddf
| Wolfgang Walther | 2025-07-24 | 1 | -6/+6 |
| * | | ci/parse: raise minimum test to Nix 2.24•••Nix 2.3 is marked as insecure and thus not cached anymore.
We'll either need to patch it and cache it again or drop it.
| Wolfgang Walther | 2025-07-24 | 1 | -1/+2 |
| * | | workflows/build: build nixpkgs tarball•••This adds a build job for the tarball, which might help uncover eval
issues on attributes not normally touched by Eval, aka those added in
`pkgs/top-level/packages-config.nix`.
| Wolfgang Walther | 2025-07-24 | 1 | -1/+15 |
| |/ |
|
| * | ci/github-script/labels: limit cutoff to max 1 day (#426946) | Wolfgang Walther | 2025-07-21 | 1 | -4/+10 |
| |\ |
|
| | * | ci/github-script/labels: limit cutoff to max 1 day•••It has only happened once, but the GitHub API suddenly returned a
workflow run from a few weeks back. This lead to quickly hitting the
rate limit for search requests.
Prevent this from happening by going back a day max for the "recently
updated" case. After roughly a day, every PR will have been touched by
the regular batch processing anyway.
Also save a few API requests, by taking bigger chunks of the search
result.
| Wolfgang Walther | 2025-07-20 | 1 | -4/+10 |
| * | | ci/github-script/commits: harden code block rendering•••To avoid rendering issues when diffing a markdown file with these
markers in context, just increase the markers length.
| Wolfgang Walther | 2025-07-20 | 1 | -2/+2 |
| * | | Revert "ci/github-script/commits: keep formatting for diffs of markdown blocks"•••This reverts commit b19798c8b03cc378373aac1a9e01cfdbb5f12305.
It lead to messed up formatting of the diff.
| Wolfgang Walther | 2025-07-20 | 1 | -8/+3 |
| |/ |
|
| * | nixfmt[-rfc-style]: unstable -> 1.0.0 (#425068) | Wolfgang Walther | 2025-07-18 | 1 | -1/+1 |
| |\ |
|
| | * | treewide: nixfmt-rfc-style -> nixfmt•••Except:
- Instances in documentation, because people in older versions
can't switch to nixfmt yet due to it having pointed to nixfmt-classic
before
- In code that runs based on a CI Nixpkgs version, which is also a bit
older still
- In update script shebangs, because many of them don't pin Nixpkgs, and run
with whatever is in NIX_PATH (and it's not easy to fix this, see
https://github.com/NixOS/nixpkgs/issues/425551)
| Silvan Mosberger | 2025-07-15 | 1 | -1/+1 |
| * | | ci/github-script/commits: various fixes and improvements (#425789) | Wolfgang Walther | 2025-07-17 | 2 | -19/+109 |
| |\ \ |
|
| | * | | ci/github-script/commits: shorten and clarify review comment•••Also following the one-sentence-per-line rule now.
| Wolfgang Walther | 2025-07-16 | 1 | -4/+7 |
| | * | | ci/github-script/commits: fix job_url•••This broke when we moved the check-cherry-picks workflow into the bigger
PR workflow. At this time, the "workflow run" became the whole PR
workflow, which includes many more than just 1 job, thus the assumption
in `jobs[0]` doesn't hold anymore.
| Wolfgang Walther | 2025-07-16 | 1 | -2/+3 |
| | * | | ci/github-script/commits: block on errors•••Most of the checks we do for cherry-picks are dismissable warnings, with
one exception: When a commit hash has been found, but this hash is not
available in any of the pickable branches, we raise this with
severity=error. This should also *block* the merge and not be
dismissable. That's because this is a fixable issue in every case.
| Wolfgang Walther | 2025-07-16 | 1 | -9/+88 |
| | * | | ci/github-script/commits: keep formatting for diffs of markdown blocks•••Previously, when the diff contained a context line with ```, this would
end the code block and entirely break the markdown rendering.
Now we use the html code blocks provided by `core.summary` and properly
escape the content, so that it never escapes via html tags.
| Wolfgang Walther | 2025-07-16 | 1 | -3/+8 |
| | * | | ci/github-script/commits: ignore whitespace on diff•••This reduces noise that the cherry-pick reviews produce when formatting
related conflicts had to be resolved. We only do this in the
length-limited review comment, though. All changes, including
whitespace, can still be double-checked in the job log if needed.
| Wolfgang Walther | 2025-07-16 | 1 | -1/+2 |
| | * | | ci/github-script/commits: add comment about --creation-factor | Wolfgang Walther | 2025-07-16 | 1 | -0/+1 |
| * | | | ci/github-script/commits: init from ci/check-cherry-picks (#425449) | Wolfgang Walther | 2025-07-16 | 10 | -184/+246 |
| |\| | |
|
| | * | | ci/github-script/commits: init from ci/check-cherry-picks•••This turns the check-cherry-pick script into a github-script based
JavaScript program. This makes it much easier to extend to check reverts
or merge commits later on.
| Wolfgang Walther | 2025-07-16 | 7 | -174/+242 |
| | * | | ci/github-script: use real @actions/core•••This allows building markdown summaries, which is hard to mock.
| Wolfgang Walther | 2025-07-15 | 4 | -12/+6 |
| * | | | ci/github-script: move from ci/labels; allow single PR testing and non-dry mo... | Wolfgang Walther | 2025-07-15 | 13 | -121/+169 |
| |\| |
| |/
|/| |
|
| | * | ci/github-script: add gh dependency to dev shell | Wolfgang Walther | 2025-07-15 | 2 | -2/+4 |
| | * | ci/github-script: allow running without dry mode | Wolfgang Walther | 2025-07-14 | 1 | -4/+5 |
| | * | ci/github-script: allow running for single PR•••Makes specific tests in the upstream repo easier to do.
| Wolfgang Walther | 2025-07-14 | 1 | -5/+16 |
| | * | ci/github-script: extract common withRateLimit.js•••This can and should be re-used across different scripts.
| Wolfgang Walther | 2025-07-14 | 2 | -63/+69 |
| | * | ci/github-script: default to commonjs•••Since all github-scripts need to be written in commonjs, we now default
to it by not setting package.json. Support from editors for .js files is
slightly better than .cjs. To still allow using module imports in the
test runner script, we trick node into loading the script itself as a
module again via `--import ./run`.
| Wolfgang Walther | 2025-07-14 | 5 | -6/+4 |
| | * | ci/github-script: add commander CLI interface•••This makes it easier to add additional features.
| Wolfgang Walther | 2025-07-14 | 4 | -37/+58 |
| | * | ci/github-script: move from ci/labels•••This just moves things around to use less specific naming - `labels` is
only *one* script that can potentially be run locally while still being
written in github-script. Later, we can add more.
| Wolfgang Walther | 2025-07-14 | 10 | -5/+14 |
| * | | Merge master into staging-next | nixpkgs-ci[bot] | 2025-07-12 | 1 | -1/+1 |
| |\| |
|
| | * | workflows/labels: label rebuilds immediately•••This fixes labeling in the context of the `pull_request` trigger. Of
course, this was supposed to immediately label rebuilds after eval
finishes, but we somehow lost this along the way. Rebuilds are still
labeled fairly soon, because the scheduled trigger will pick up the same
PR within 10 minutes again and then apply the rebuild labels. But of
course, immediate is better.
The reason this happened is, that we're looking at `item.pull_request`
only. This is the correct distinction between "issue items" and "pull
request items", which we both get back from the /issues endpoint. But
the payload for the `pull_request*` event doesn't contain this, so
labeling in this case was treated like an issue and skipped the whole
pull request part.
| Wolfgang Walther | 2025-07-12 | 1 | -1/+1 |
| * | | Merge remote-tracking branch 'origin/master' into staging-next | K900 | 2025-07-09 | 9 | -0/+2447 |
| |\| |
|
| | * | ci/labels: run in dry mode locally•••To avoid mistakes when developing and testing against the upstream repo.
| Wolfgang Walther | 2025-07-08 | 3 | -13/+18 |
| | * | ci/labels: run prettier•••This is the result of:
prettier --no-semi --single-quote
| Wolfgang Walther | 2025-07-08 | 1 | -126/+183 |
| | * | ci/labels: init from workflows/labels•••Moves the labels job into a separate ci/ subfolder to run it locally.
This eases debugging *a lot*.
| Wolfgang Walther | 2025-07-08 | 9 | -0/+2385 |
| * | | Merge staging-next into staging | nixpkgs-ci[bot] | 2025-06-30 | 1 | -1/+3 |
| |\| |
|
| | * | nixVersions.nix_2_3: add knownVulnerabilities | Alyssa Ross | 2025-06-30 | 1 | -1/+3 |
| * | | Merge staging-next into staging | nixpkgs-ci[bot] | 2025-06-30 | 2 | -8/+14 |
| |\| |
|
| | * | ci/eval/README.md: one sentence per line | Wolfgang Walther | 2025-06-29 | 1 | -4/+9 |