Skip to content

single entry point for test runners (ofborg, hydra, github actions, etc) #272591

@ghost

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: bugSomething is broken1.severity: significantNovel ideas, large API changes, notable refactorings, issues with RFC potential, etc.2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md6.topic: continuous integrationAffects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions