Skip to content

ci/eval/compare: add 10.rebuild-nixos-tests label#439255

Merged
wolfgangwalther merged 3 commits intoNixOS:masterfrom
wolfgangwalther:ci-nixos-rebuilds
Sep 15, 2025
Merged

ci/eval/compare: add 10.rebuild-nixos-tests label#439255
wolfgangwalther merged 3 commits intoNixOS:masterfrom
wolfgangwalther:ci-nixos-rebuilds

Conversation

@wolfgangwalther
Copy link
Contributor

@wolfgangwalther wolfgangwalther commented Sep 1, 2025

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.

I created the new label with the following description for now:

This PR causes rebuilds for all NixOS tests and should normally target the staging branches.

(before anyone wants to suggest changes, this has a 100 character limit, keep that in mind!)

This can later be adjusted, when the kernel-updates-rebuilding-all-nixos-tests branch exists.

Resolves #437208

Things done


Add a 👍 reaction to pull requests you find important.

@wolfgangwalther wolfgangwalther requested a review from a team September 1, 2025 16:55
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions backport release-25.05 labels Sep 1, 2025
Copy link
Member

@emilazy emilazy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this 💜

Yes, mentioning staging in the label sounds okay to me until we get a branch. It doesn’t hurt to send such changes to staging and kernel maintainers will know it doesn’t apply to them.

BTW, if you want GitHub to display the diff of stacked PRs more sensibly, you can push the first PR to a branch in the Nixpkgs repository, and then open a second PR that targets that PR’s branch. This will show only the additional commits compared to the first PR, and when the first PR is merged, the second PR will automatically adjust to target the first PR’s base branch instead. GitHub doesn’t have great support for this workflow, and it’s unfortunate that it requires the preemptive use of branches on the main repo, but it’s a better review experience than the commits being included in both PRs.

@wolfgangwalther

This comment was marked as resolved.

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.
Copy link
Member

@Ma27 Ma27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One suggestion (I won't die on that hill, though).
Otherwise, looks reasonable, thanks!

Copy link
Contributor

@MattSturgeon MattSturgeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just commenting to say that I see no issues in the diff, but I don't feel confident enough in these weeds to sign off with an approval. I trust those more familiar will do so.

Comment on lines 109 to 111
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this in the last push, which addresses #437208 (comment).

@emilazy like this?

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.
This should be a test that will change whenever most likely *all* NixOS
tests change. As such it should use the most "default" configuration
possible. This decreases chances of a change that will affect almost
other NixOS tests to go unnoticed by this test.

With the minimal profile used previously, there could be changes made to
the default behavior of NixOS modules which were explicitly disabled in
this profile. These would not change the simple test, but would change
all other tests.

Removing as many moving parts as possible from this test should make it
the most default it can be. It now contains only pieces that every other
NixOS test has, too: A name, a machine and a testScript. But nothing
fancy.
Copy link
Contributor

@philiptaron philiptaron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that the way ci/eval and the various release top-level derivation entry points fit together is pretty awkward. Fixing that or even trying to find a direction to resolve that awkwardness doesn't fit with this scope of this PR.

So, I support merging this only minor tweaks and continuing to evolve the interface in refactor PRs.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Sep 6, 2025
@wolfgangwalther
Copy link
Contributor Author

Let's try and see how the label works out.

@wolfgangwalther wolfgangwalther added this pull request to the merge queue Sep 15, 2025
Merged via the queue into NixOS:master with commit e5ce5c2 Sep 15, 2025
31 of 32 checks passed
@wolfgangwalther wolfgangwalther deleted the ci-nixos-rebuilds branch September 15, 2025 14:32
@nixpkgs-ci

This comment was marked as resolved.

@LordGrimmauld
Copy link
Contributor

I restarted CI on #441918, that is an all-tests rebuild and should get the tag. We'll see how this goes.

@LordGrimmauld
Copy link
Contributor

Yep, tag is there, seems to work just fine. Nice!

@wolfgangwalther wolfgangwalther added the 8.has: port to stable This PR already has a backport to the stable release. label Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: port to stable This PR already has a backport to the stable release. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI labelling and branch for PRs that rebuild all NixOS tests

6 participants