ci: type-check vm test scripts without building the vms
Adds checks.<system>.vm-test-typecheck-<name> for hive-squid, swarm-archive, agent-ephemeral-rootfs, full-setup and wg-hive: ty and ruff F over nixpkgs' test-script prelude, the machine hints from the node names, and the script text. Node configs are never evaluated. vm-test-typecheck-control passes only when ty rejects a known type error.
This commit is contained in:
parent
712dcf2b25
commit
32f5b74ba4
1 changed files with 156 additions and 2 deletions
|
|
@ -114,7 +114,13 @@ slow); run those manually before pushing Rust changes.
|
|||
|
||||
Tests that boot NixOS VMs are the `vmTests.<system>.<name>` flake output
|
||||
(`nix/vm-tests.nix`), not `checks`, so the per-PR **nix flake check** job never
|
||||
builds them. [`.forgejo/workflows/vm-nightly.yml`](../../../.forgejo/workflows/vm-nightly.yml)
|
||||
builds them. It does build the `vm-test-typecheck-<name>` checks
|
||||
(`nix/vm-test-typecheck.nix`): the type check and lint the test driver runs over
|
||||
a test script, on the script text alone. They evaluate no node configuration
|
||||
and build no VM. They cover `hive-squid`,
|
||||
`swarm-archive`, `agent-ephemeral-rootfs`, `full-setup` and `wg-hive`;
|
||||
`vm-test-typecheck-control` passes only when the checker rejects a known type error, which shows the
|
||||
checker resolves `test_driver`. [`.forgejo/workflows/vm-nightly.yml`](../../../.forgejo/workflows/vm-nightly.yml)
|
||||
builds all of them nightly at 02:30; a failing test fails that run. To run one
|
||||
by hand, start the workflow from the forge UI (Actions, vm-nightly, Run
|
||||
workflow, optional `test` input), or run
|
||||
|
|
|
|||
Loading…
Reference in a new issue