Skip to content

Conversation

@djacu
Copy link
Contributor

@djacu djacu commented Feb 1, 2026

Description of PR

Rework checks. Removes derivations and NixOS VM tests and creates hydra job for easier management of packages to build and NixOS VM tests to run.

  • nix/library: add defaultSystems
  • nix/library: add removeDirectoriesRecursiveAttrs
  • nix/legacy-packages: use defaultSystems
  • nix/hydra-jobs: create a hydra job for the scale-network scope
  • treewide: create new test overlay and package set
  • pytest-facts: move from checks to test package set
  • perl-switches: move from checks to test package sets
  • openwrt-golden: move from checks to test package set
  • nix/checks: clean up unused let..in inherits
  • nix/checks: migrate all the nixos vm tests to the test package set
  • scale-nixos-tests.loghost, scale-nixos-tests.monitor: fix expression
  • scale-network.isc-dhcp: fix meta.platforms
  • scale-network.dhcptest: set meta.platforms
  • nix/hydra-jobs: filter scale-network to remove broken packages
  • scale-network.scale-inventory: fix IFD
  • nix/hydra-jobs: scale-tests init
  • nix/hydra-jobs: scale-nixos-tests init
  • verify-scale-network: init
  • verify-scale-tests: init
  • verify-scale-nixos-tests: init
  • .github/workflows/ci.yml: simplify checks and builds
  • .gitlab-ci.yml: update jobs

@djacu djacu force-pushed the djacu/create-proper-hydra-jobs branch 2 times, most recently from 235d7f1 to f662212 Compare February 1, 2026 23:50
@sarcasticadmin
Copy link
Member

@djacu per usual youve made me feel like: 🤯

Im going to taking this for a spin in the morning, but can't wait to see my laptop get put through it's paces 🚀

Copy link
Member

@sarcasticadmin sarcasticadmin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@djacu very cool! I had a couple of comments/questions for you. Also did did some basic speed tests:

Current speed: 1:29s (roughly) for: nix run .#verify-scale-nixos-tests:

┏━ Dependency Graph with 4 roots:
┃             ┌─ ✔ nixos-system-coremaster-test
┃          ┌─ ✔ closure-info
┃       ┌─ ✔ run-nixos-vm
┃    ┌─ ✔ nixos-vm
┃ ┌─ ✔ nixos-test-driver-core ⏱ 12s
┃ ✔ vm-test-run-core ⏱ 38s
┃       ┌─ ✔ run-nixos-vm ⏱ 1s
┃    ┌─ ✔ nixos-vm
┃ ┌─ ✔ nixos-test-driver-wasgeht ⏱ 13s
┃ ✔ vm-test-run-wasgeht ⏱ 20s
┃       ┌─ ✔ run-nixos-vm
┃    ┌─ ✔ nixos-vm
┃ ┌─ ✔ nixos-test-driver-monitor ⏱ 13s
┃ ✔ vm-test-run-monitor ⏱ 41s
┃ ✔ vm-test-run-routers ⏱ 1m10s
┣━━━ Builds
┗━ ∑ ⏵ 0 │ ✔ 40 │ ⏸ 0 │ Finished at 22:44:54 after 1m29s
/nix/store/q9x25kr9qlzbyh9h01ajxzwfw20z2n9k-vm-test-run-core
/nix/store/zblxilvy249n1nj25lbfslx3l1nic86l-vm-test-run-loghost
/nix/store/13h1sicwp2p40f8422lp4ljngy4mlk9w-vm-test-run-monitor
/nix/store/9id8vb4ikw65bc50mm7355j9sbp36iqv-vm-test-run-borderrouter
/nix/store/yjbf00wznmcbmz04hlbyw15i41rl115p-vm-test-run-routers
/nix/store/95slynaq39fsvs0scamrdk8ajvdb60z0-vm-test-run-wasgeht

Previous time: 2m26s for nix flake check :

$ time nix flake check
warning: unknown flake output 'formatterModule'
warning: unknown flake output 'library'
warning: The check omitted these incompatible systems: aarch64-darwin, aarch64-linux, x86_64-darwin
Use '--all-systems' to check all.

real    2m26.011s
user    1m26.802s
sys     0m13.399s

Any concern with #1064 I think itll merge fine with your changes here but wanted to get your thoughts

tags:
- nix
stage: test
timeout: 1 hour
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could probably also be much lower. Id say we go with something like 30 minutes

- run: nix build -L .#checks.x86_64-linux.formatting
nix_builds:
- run: nix flake check -L --allow-import-from-derivation
# monitor and bind-master uses IFD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Im curious to hear plans for monitor and bind-master IFD usage 🙂

@sarcasticadmin
Copy link
Member

Also subsequent runs 15s 🤤

$ nix run .#verify-scale-nixos-tests
warning: unknown setting 'allowed-users'
warning: unknown setting 'trusted-users'
Finished at 23:32:01 after 15s
/nix/store/q9x25kr9qlzbyh9h01ajxzwfw20z2n9k-vm-test-run-core
/nix/store/zblxilvy249n1nj25lbfslx3l1nic86l-vm-test-run-loghost
/nix/store/13h1sicwp2p40f8422lp4ljngy4mlk9w-vm-test-run-monitor
/nix/store/9id8vb4ikw65bc50mm7355j9sbp36iqv-vm-test-run-borderrouter
/nix/store/yjbf00wznmcbmz04hlbyw15i41rl115p-vm-test-run-routers
/nix/store/95slynaq39fsvs0scamrdk8ajvdb60z0-vm-test-run-wasgeht

@djacu djacu force-pushed the djacu/create-proper-hydra-jobs branch 3 times, most recently from 6ecd79f to 121914b Compare February 10, 2026 04:48
djacu added 4 commits February 9, 2026 20:49
Checks now only check formatting.
verify-scale-network evaluates and builds everything in the
scale-network scope.
Shorten timeout for nix flake check.
Add `verify-scale-network` which builds all packages in the scale-network scope.
Add `verify-scale-tests` which builds all packages in the scale-tests scope.
Add `verify-scale-nixos-tests` which run all NixOS VM tests.
core vm test only runs on x86_64-linux because it has dhcptest as a
dependency.
@djacu djacu force-pushed the djacu/create-proper-hydra-jobs branch from 121914b to c4d5970 Compare February 10, 2026 04:51
@kylerisse kylerisse removed their request for review February 10, 2026 05:02
@djacu djacu force-pushed the djacu/create-proper-hydra-jobs branch from c4d5970 to d84e2b2 Compare February 10, 2026 05:55
Copy link
Member

@sarcasticadmin sarcasticadmin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

paired with @djacu and worked through some of the questions I had. Thanks again @djacu 🚀

@sarcasticadmin sarcasticadmin merged commit c44072f into master Feb 10, 2026
3 checks passed
@sarcasticadmin sarcasticadmin deleted the djacu/create-proper-hydra-jobs branch February 10, 2026 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants