Skip to content

Smoke tests

The Makefile drives all smoke suites. make smoke selects the right one for the host: Firecracker on Linux, Apple VF on macOS.

TargetWhat it covers
make smokeDefault per-host smoke suite
make smoke-rootfsOCI image to ext4 rootfs conversion
make smoke-firecrackerLinux KVM Firecracker boot
make smoke-workspaceHostOS workspace lifecycle
make smoke-bootBoot a Linux VM end-to-end (Apple VF)

Run from the microagent-kit checkout on a Linux amd64 host with KVM:

Terminal window
make smoke-firecracker

This target must run outside sandboxed agent environments. It needs host KVM visibility, network access for OCI layer fetches, and normal writes to Microagent state paths.

The smoke:

  • builds local microagent and microagent-guestinit binaries
  • installs the default Firecracker amd64 kernel
  • verifies the kernel SHA
  • builds a BusyBox OCI-backed rootfs
  • boots with Firecracker
  • runs echo microagent-firecracker-boot-smoke in the guest
  • verifies Firecracker exits cleanly

Expected kernel SHA:

4bbe8b2fd19f78fea4bf02d52a67482227a896c90a63f272b6a084fa46a416c0

Expected output:

firecracker boot smoke passed
kernel_sha=4bbe8b2fd19f78fea4bf02d52a67482227a896c90a63f272b6a084fa46a416c0

microagent-kernels owns kernel build and release artifacts. Its matching non-KVM check is:

Terminal window
make check-kernel-config-amd64
Terminal window
make signed-supervisor # build + ad-hoc sign the supervisor
make smoke-boot

The smoke looks for the kernel at ~/.microagent/kernels/apple-vf/arm64/Image. The older ~/.microagent/kernels/apple-vf/Image path still works.