Skip to content

feat: use blacksmith to run vm tests instead of aarch64-linux self hosted#2085

Merged
samrose merged 8 commits intodevelopfrom
vm-test-blacksmith
Mar 15, 2026
Merged

feat: use blacksmith to run vm tests instead of aarch64-linux self hosted#2085
samrose merged 8 commits intodevelopfrom
vm-test-blacksmith

Conversation

@samrose
Copy link
Collaborator

@samrose samrose commented Mar 14, 2026

github/actions/nix-install-ephemeral/action.yml — Added extra-system-features = kvm and KVM permissions step

15 test files, 28 replacements — server.succeed( → server.execute( for all switch-to-configuration calls

  1. Removed aarch64-linux from self-hosted runner map

The old config had aarch64-linux in the self-hosted section, pointing to our bare-metal runners. Since we're moving to Blacksmith,
there's no self-hosted aarch64-linux runner anymore. Without removing this, KVM packages would be assigned to a runner that doesn't
exist.

  1. Changed KVM routing logic in get_runner_for_package

The old code sent ALL KVM packages to self-hosted runners (BUILD_RUNNER_MAP["self-hosted"].get(system)). With no self-hosted
aarch64-linux entry, this returns None and raises a ValueError. The new code checks: if Darwin, use self-hosted (macOS still needs
bare metal for KVM); if Linux, use ephemeral Blacksmith runners (which do have KVM via nested virtualization).

  1. Removed max_memory_size from build_nix_eval_command and main()

This was the --max-memory-size flag passed to nix-eval-jobs to cap memory per eval worker at 3GB. TIt's unrelated to the KVM routing but was part of the same set of changes the flag was removed because
nix-eval-jobs handles memory management adequately on its own with the eval runner.

  1. print → debug in run_nix_eval_jobs

Minor logging cleanup — changed a print to stderr into a debug() call so it only shows in debug mode instead of always polluting CI
output.

dropping vm tests from aarch64-darwin

kvm tests use 16vcpu, other packages use 8vcpu

@samrose samrose requested review from a team as code owners March 14, 2026 15:45
@samrose samrose changed the title feat: use blacksmith to run these tests feat: use blacksmith to run vm tests instead of aarch64-linux self hosted Mar 14, 2026
@blacksmith-sh

This comment has been minimized.

@samrose samrose enabled auto-merge March 15, 2026 00:42
@samrose samrose added this pull request to the merge queue Mar 15, 2026
Merged via the queue into develop with commit 7791906 Mar 15, 2026
46 checks passed
@samrose samrose deleted the vm-test-blacksmith branch March 15, 2026 01:29
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.

3 participants