-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
single entry point for test runners (ofborg, hydra, github actions, etc) #272591
Copy link
Copy link
Open
Labels
0.kind: bugSomething is brokenSomething is broken1.severity: significantNovel ideas, large API changes, notable refactorings, issues with RFC potential, etc.Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc.2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.mdhttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md6.topic: continuous integrationAffects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub ActionsAffects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions
Metadata
Metadata
Assignees
Labels
0.kind: bugSomething is brokenSomething is broken1.severity: significantNovel ideas, large API changes, notable refactorings, issues with RFC potential, etc.Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc.2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.mdhttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md6.topic: continuous integrationAffects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub ActionsAffects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions
Fields
Give feedbackNo fields configured for issues without a type.
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.stablein its$PATHand the to-be-testednixpkgscheckout 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.