-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
single entry point for test runners (ofborg, hydra, github actions, etc) #272591
Comments
This commit temporarily adds pkgs/test/release to the lib/tests/release.nix test suite, because ofborg already knows about that entry point. We should move the list of test entry points out of ofborg and into a central place in nixpkgs: NixOS/nixpkgs#272591 Once we do that we won't need to have this ugly kludge in an inappropriate place.
This commit temporarily adds pkgs/test/release to the lib/tests/release.nix test suite, because ofborg already knows about that entry point. We should move the list of test entry points out of ofborg and into a central place in nixpkgs: NixOS/nixpkgs#272591 Once we do that we won't need to have this ugly kludge in an inappropriate place.
This commit temporarily adds pkgs/test/release to the lib/tests/release.nix test suite, because ofborg already knows about that entry point. We should move the list of test entry points out of ofborg and into a central place in nixpkgs: NixOS#272591 Once we do that we won't need to have this ugly kludge in an inappropriate place.
Does Nixpkgs package set evaluation still need to hijack the |
https://github.com/nixos/nixpkgs/blob/2b4e18f3d4a7b80af21b640c0970f83b34efceff/lib/tests/release.nix#L27 This line of code referencing this issue is broken because it doesn't pass through pkgs, which then gets reimported, which then in turn explodes if running in pure eval mode. |
This broke Lix's use of the nixpkgs lib tests for regressions in Lix. NixOS#272591 (comment)
Currently we have been adding extra entry points for test runners in a very haphazard way.
Worse, we've been adding them in multiple repositories, which means that adding a new class of tests requires synchronizing with a different repository that has its own (usually smaller and therefore less-responsive) committer group.
As an example, here is the out-of-repo list of test suite entrypoints in nixpkgs that is hardwired into ofborg:
Adding a new test that doesn't obviously belong in any of these existing locations is an enormous pain.
We should create a single entry point into nixpkgs for test runners. It should not be specific to any particular type of infrastructure (i.e. ofborg, github runners, etc). Essentially it should just be a shell script which is invoked in an environment which has
nix.stable
in its$PATH
and the to-be-testednixpkgs
checkout as its current working directory. That script, which is part of nixpkgs, should be responsible for "fanning out" to all the different tests in all the different places where we keep them.A rough (but problematic) sketch of a solution was included in one of the later versions of
See also the useful but not yet implemented feedback here. Ultimately that sketch was pushing the scope of #269356 way too much. We should still do something like it, but as a standalone PR.
The text was updated successfully, but these errors were encountered: