Multi-platform continuous integration for KDE
Speaker: Adriaan de Groot
The KDE community produces a huge amount of software: a desktop shell, applications ranging from terminals to painting programs to a video-editor, mobile applications and libraries to support Qt applications everywhere. The software produced by KDE is cross platform: it ought to run everywhere Qt does. When KDE started, some 20 years ago, that meant the big UNIXes and a little of that upstart Linux. Nowadays, it means Linux (in various flavors), Windows, Mac OS X, FreeBSD, and a tiny bit for the dinosaurs of the computing age.
To keep so much software, scattered across 190 git repositories, running on so many platforms, the KDE community uses her own CI (continuous integration) system, currently maintained and developed by Scarlett Clark and aided and abetted by various platform-specialists. I mostly help out on the FreeBSD front.
The CI system van achieve so much by leveraging the power of containers together with some KDE-custom, but OS-agnostic code to run the actual builders. The jobs are generated through Groovy DSL to streamline the automation, and results are sent through a pile of Python scripts and distributed to over 600 active KDE developers, who use the results to keep their applications running on platforms that they themselves do not have access to.
Adriaan de Groot is a member of the KDE community, a large group of Open Source contributors (developers, translators, designers, etc.) that has been creating software for 20 years: a desktop environment, but also applications, mobile platforms and frameworks for Qt-based applications. Adriaan's cares for the “ugly ducklings” among the platforms where KDE software runs: the less- popular – but not less interesting – operating systems like (Open)Solaris and FreeBSD. He mixes C++ with packaging and scripting for the best cross- platform results.
During the day, Adriaan writes Python and C# for the Dutch association of Audiological Centres, where he works on medical-administrative systems.