-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
Description
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-tested nixpkgs 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.