End-to-End Testing Across the Whole Matrix
The last few posts have been about reach: a
Debian backend, then
Ubuntu almost for free, so a [yoe]
project can now build Alpine, Debian, and Ubuntu side by side. Reach is only
half the story, though — the other half is keeping all of it working as the code
moves underneath it. The latest video walks
through how [yoe] does that: a nightly end-to-end test that builds the whole
matrix, boots each image, and proves you can log in.
Six builds, one job
The matrix is two axes — architecture and distro. ARM and x86, crossed with Alpine, Debian, and Ubuntu, makes six images. Each one runs the same job: build the image, sync the modules, verify the artifacts are there, then boot it under QEMU and confirm SSH works.
That last step is the one that matters. Networking and SSH are the difference between a device you can work on and a brick you have to reflash — so the test doesn’t just check that the image boots, it checks that you can get into it. The builds are quick: most distros finish in around ten minutes, with Alpine the outlier at about thirty because it builds the kernel from source rather than booting a stock one. They run every night in GitHub Actions, against the same CLI build path you’d run by hand.
What “SSH works” actually tests
yoe boot-test launches the image under QEMU and watches the console for the
login prompt — the same boot you’d see from yoe run. Once the prompt appears,
it doesn’t type credentials at the console; it opens an actual SSH connection
into the running image.
That single SSH handshake exercises a surprising amount of the stack at once:
the kernel booted, init brought up its services, the network came up and got an
address, sshd started and bound, and authentication succeeded.
Where it stands
As [yoe] grows across distros and architectures, the surface area that can
quietly break grows with it. A nightly end-to-end test across the whole matrix
is how the project keeps the basics honest: every supported combination still
boots, still networks, still lets you in. The next steps build on the same
foundation — more cells in the matrix as more boards come online, and moving
past QEMU onto real hardware, where the boot test earns its keep.
Get involved
The full set of walkthroughs is on the Videos page. A few ways to go further:
- Try a build — the Getting Started guide covers install and your first image.
- Star and watch the repo — star it and click Watch to follow progress on GitHub.
- Subscribe to the newsletter — occasional progress notes; the email signup is at the foot of every page on yoebuild.org.
- Add a machine or image — the
/new-machineand/new-moduleAI skills scaffold support for new boards and distros. - Open a discussion — questions, ideas, or a board you’d like ported next go in GitHub Discussions.
- Send a note — reach the team at info@yoebuild.org.