Goal
Add an end-to-end provisioning test that proves generated Butane output works on a real Flatcar VM.
Test path
- Build
bt.
- Transpile a representative cloud-config fixture to a Butane config.
- Translate it to Ignition with Butane strict validation.
- Boot a pinned Flatcar image under QEMU.
- Connect over SSH and verify the provisioned users, groups, home directory, shell, authorized keys, and locked-password behavior.
- Fail on provisioning or boot errors and retain useful VM logs as workflow artifacts.
CI requirements
- Pin the Flatcar release used by the test.
- Verify downloaded release artifacts before booting them.
- Bound image download, boot, and SSH waits with explicit timeouts.
- Use KVM when available and document the fallback or skip behavior when it is not.
- Cache the Flatcar image where practical without weakening verification.
- Start as a scheduled or manually dispatched workflow if its download size and runtime make it unsuitable as a required pull-request check; promote it to a PR check only after measuring reliability and cost.
Completion criteria
The workflow provisions a Flatcar VM from bt output, checks the resulting OS state rather than only syntax, and provides enough logs to diagnose failures.
Goal
Add an end-to-end provisioning test that proves generated Butane output works on a real Flatcar VM.
Test path
bt.CI requirements
Completion criteria
The workflow provisions a Flatcar VM from
btoutput, checks the resulting OS state rather than only syntax, and provides enough logs to diagnose failures.