feat: use blacksmith to run vm tests instead of aarch64-linux self hosted#2085
Open
feat: use blacksmith to run vm tests instead of aarch64-linux self hosted#2085
Conversation
…ith runners instead of self-hosted.
This comment has been minimized.
This comment has been minimized.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
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.
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).
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.
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.