BalenaOS is an open-source, Yocto-based Linux operating system supported on over 90 IoT boards.
90 different balenaOS images are being supported, developed, tested, and released by our CI/CD system.
These 90 images have versions. Hundreds of versions each.
Each pull request builds all 90 balenaOS images for all supported boards to test changes. About 30 of these draft images are tested on actual hardware in a board farm made up of testing kits called Autokit.
When the tests pass, the balenaOS image is considered ready and released to production.
In this talk, we talk about the hardware-in-the-loop pipelines and their use case in our CI/CD toolchain to build an OS, test it out, and eventually release it to production. The audience is invited to the session to take a journey from PR to release in building and testing a balenaOS operating system. We explain how we test using our own hardware workers with tests running on Jenkins and how we have scaled the system to test 30-40 releases of balenaOS in a day.
To the point that the pipeline can now fully test a PR in hours to release a production release and save a few weeks of engineering time with confident deployments.