Skip to content
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

Open
ghost opened this issue Dec 7, 2023 · 2 comments
Open

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

ghost opened this issue Dec 7, 2023 · 2 comments
Labels
0.kind: bug Something is broken 2.status: work-in-progress This PR isn't done 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc.

Comments

@ghost
Copy link

ghost commented Dec 7, 2023

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.

@ghost ghost added the 0.kind: bug Something is broken label Dec 7, 2023
@ghost ghost self-assigned this Dec 7, 2023
@ghost ghost changed the title We need a single entry point for test runners (ofborg, hydra, github actions, etc) single entry point for test runners (ofborg, hydra, github actions, etc) Dec 7, 2023
github-actions bot pushed a commit to arcnmx/nixpkgs-lib that referenced this issue Dec 16, 2023
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.
github-actions bot pushed a commit to nix-community/nixpkgs.lib that referenced this issue Dec 17, 2023
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.
Lainera pushed a commit to Lainera/nixpkgs that referenced this issue Dec 20, 2023
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.
@roberth
Copy link
Member

roberth commented Feb 14, 2024

Does Nixpkgs package set evaluation still need to hijack the lib tests?
It creates an impossibly long iteration cycle for working on lib.

@lf-
Copy link
Member

lf- commented Jun 10, 2024

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.

lf- added a commit to lf-/nixpkgs that referenced this issue Jun 10, 2024
This broke Lix's use of the nixpkgs lib tests for regressions in Lix.

NixOS#272591 (comment)
@philiptaron philiptaron added 2.status: work-in-progress This PR isn't done significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc. labels Jul 5, 2024
@tomodachi94 tomodachi94 added the 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions label Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken 2.status: work-in-progress This PR isn't done 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions significant Novel ideas, large API changes, notable refactorings, issues with RFC potential, etc.
Projects
None yet
Development

No branches or pull requests

4 participants