Commit Graph
2 Commits
Author SHA1 Message Date
Matthew Grossman bd0edb1941 refactor(tests): move tmachine support files under tests/tmachine (#4726)
* refactor(tests): move tmachine support files under tests/tmachine

Ansible, cloud-init, and the tmachine Nix config belong to tmachine, so
they now live in tests/tmachine/ alongside the crate, which moves to
tests/tmachine/cli/. tests/suites/ and tests/support/ are unchanged.

tmachine still runs from the directory holding ansible/, so playbook
paths stay the same; only inputs outside that directory gain a ../
prefix. The Nix build of tmachine and the base images are identical to
before.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>

* refactor(tests): name the tmachine crate directory orchestrator

The crate boots VMs, provisions them with Ansible, runs suites, and
caches disks; the other entries in tests/tmachine/ are its config.
Name the directory for that role rather than for the command-line
entry point.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>

* refactor(tests): keep the tmachine crate at tests/tmachine

Put the crate back at tests/tmachine/, next to the Ansible and Nix config
it uses, instead of in a subdirectory. Build tmachine from a fileset of
Cargo.toml, Cargo.lock, and src/ so edits to that config do not rebuild
the binary.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>

---------

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
2026-10-21 01:09:24 +00:00
Simon ScattonandEvan Lezar 9b52b43b39 test(tmachine): add portable VM-based container runtime testing (#3371)
* test(tmachine): add Docker VM scenario

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* test(tmachine): add portable container scenarios

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* chore(tmachine): isolate downloaded Ansible roles

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* test(tmachine): increase VM resources

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* test(tmachine): improve artifact builds and diagnostics

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* fix(nix): pin tmachine runtime on macOS

Signed-off-by: Evan Lezar <elezar@nvidia.com>

* feat(tests): enable tty and fix supervisor image path

* fix(nix): isolate testing tools from default shell

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* fix(tmachine): initialize test runner working directory

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* fix(tmachine): include Ansible sources in layer cache keys

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* fix(tmachine): build and load separate runtime images

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

* fix(tmachine): use local runtime images for Docker

Signed-off-by: Simon Scatton <sscatton@nvidia.com>

---------

Signed-off-by: Simon Scatton <sscatton@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Co-authored-by: Evan Lezar <elezar@nvidia.com>
2026-09-16 11:54:28 +00:00