“Speaking at the Yocto Project Summit 2022.05 on Continuous Integration (CI) for Yocto Embedded Linux”


We’re super excited to announce that our founder and CEO, Alex Lennon, will be speaking on “Building and testing Yocto in an automated fashion with GitHub Actions and self hosted runners” at the upcoming Yocto Project Summit next Wednesday 18th May at 14:50 (UTC) / 15:50 (BST)

Alex has been maintaining the meta-mono layer for some years which has involved lengthy builds in order to test new releases of the Mono framework.

Alex tells us, 

“This is a a Yocto / OpenEmbedded layer which provides support for Mono, an “open source implementation of Microsoft’s .NET Framework based on the ECMA standards for C# and the Common Language Runtime”. Also, more recently, Microsoft’s dotNet is supported, “a free, cross-platform, open source developer platform for building many different types of applications. With . NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, and IoT”

Over the years I’ve had quite a lot of trouble ensuring that new releases of Mono ran properly for the community. It was taking a lot of my time to build for different architectures, with different releases of Yocto, and to test and make sure things were minimally OK.

I’ve tried some different approaches over time, including cloud build providers and my own Jenkins installations.

But now I’ve finally come to where I’ve always wanted to be: With GitHub Actions workflows, leveraging self hosted runners on my own cloud hardware to build and test.

When contributors create a pull request multiple builds are kicked off (qemu-x86-64 and qemu-arm). These are then run up in architecture-specic QEMU virtual machines and a set of simple tests run using the Yocto Test Environment.

It makes life much easier doing some pre-qualification for contributions and makes me feel more confident that I can keep things working.”

More details on the talk are here.

And you can register for the summit here.


meta-mono README