Docs Validation
Runtimes
Pluggable execution backends so validate looks the same on every machine.
gridtrue validate does not care whether you prefer Docker, Podman, or a native toolchain. It looks at .gridtrue/validate.yaml and picks the runtime the manifest asks for. All runtimes produce the same attestation shape.
- container
- Docker / Podman / nerdctl / Colima. The default. Image digests are pinned; no :latest ever reaches the ledger.
- native
- Calls into a toolchain in ~/.gridtrue/sdk. Used for fast paths where a container round-trip is wasted time (go test, pnpm test).
- vm
- Vagrant + libvirt or QEMU. Needed for workloads that require a kernel of their own (systemd tests, kernel modules).
Picking a runtime
| If the step… | Use |
|---|---|
| Runs tests of a single language in under 30s | native — avoid the container startup tax |
| Needs system packages, services, or a clean filesystem | container — with a pinned image digest |
| Needs a real kernel, systemd, or privileged syscalls | vm — slow but honest |
| Runs a heterogeneous matrix (multiple OSes / versions) | container, one step per matrix entry |
SDK Manager
For the native runtime, the CLI ships a built-in SDK Manager — no Homebrew / apt-get / chocolatey required. It installs pinned toolchains into ~/.gridtrue/sdk so your system Go / Node / Python / Java / Rust is never touched.
bash
gridtrue sdk install go@1.23.3
gridtrue sdk install node@22.11.0
gridtrue sdk install python@3.12.7
gridtrue sdk install rust@1.82.0
gridtrue sdk list # show installed versions
gridtrue sdk gc # remove unused versions