<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/docs/design/2026-06-25-zfs-vm-test-coverage.org, branch main</title>
<subtitle>Builds a full dev workstation from a bare Arch Linux install.
</subtitle>
<id>https://git.cjennings.net/archsetup/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archsetup/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/'/>
<updated>2026-06-25T16:21:15+00:00</updated>
<entry>
<title>test(archsetup): add FS_PROFILE selector for ZFS VM coverage</title>
<updated>2026-06-25T16:21:15+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-25T16:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=353b17968bf48100bbd18ed746e0fbe2fe88141f'/>
<id>urn:sha1:353b17968bf48100bbd18ed746e0fbe2fe88141f</id>
<content type='text'>
The VM harness only built one btrfs base image, so every ZFS-conditional check in the Testinfra suite skipped and the ZFS install path went untested in automation. I added an FS_PROFILE selector (btrfs default, zfs) so `make test FS_PROFILE=zfs` can target a ZFS root.

init_vm_paths derives the image name from FS_PROFILE and validates it. btrfs keeps the legacy unsuffixed archsetup-base.qcow2 so existing images and invocations are untouched. The zfs profile gets archsetup-base-zfs.qcow2. create-base-vm.sh picks archsetup-test.conf vs the new archsetup-test-zfs.conf (FILESYSTEM=zfs, NO_ENCRYPT=yes for an unattended install), and the Makefile resolves the matching image for its base-VM check.

The archsetup run config stays shared. archsetup reads no filesystem key. It detects ZFS from the live root via is_zfs_root, so the ZFS branch fires on its own once the base image is ZFS. The design doc is reconciled to that: no separate archsetup-vm-zfs.conf, and the non-ZFS profile is btrfs, not ext4.

Building the ZFS base image and running the ZFS sweep green is next.
</content>
</entry>
<entry>
<title>docs(design): plan ZFS VM test coverage + bare-metal runner migration</title>
<updated>2026-06-25T15:58:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-25T15:58:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=3ff0ca70b9b7333ec100bd4d4212923a077553c5'/>
<id>urn:sha1:3ff0ca70b9b7333ec100bd4d4212923a077553c5</id>
<content type='text'>
Adds a design note for building a ZFS base VM via archangel with a filesystem
profile selector (so make test covers the ZFS install path, currently only
exercised on bare metal), migrating run-test-baremetal.sh to key auth and the
Testinfra sweep, and then deleting the dead shell-sweep functions. Links it
from the bare-metal migration follow-up.
</content>
</entry>
</feed>
