Calamares CI Extended
Feb 17, 2021
The CI (Continuous Integration, but also nightly builds) for Calamares has migrated to GitHub actions. This has now been extended also to the calamares-extensions repository.
All the CI actions for Calamares itself can be found here on GitHub. There is one build that runs in response to a push, and three that run nightly on “likely” platforms for Calamares (although Manjaro is missing). The nightly-neon build produces a tarball of the installed Calamares (this tarball isn’t used by anything except the CI system itself).
KDE neon (and Debian, and Manjaro, and openSUSE) all have their own regular builds of their software; those packaging builds are independent of the Calamares CI.
What’s new this week is that calamares-extensions also has CI now. Calamares-extensions is a second repository with examples of branding, examples of modules, specialised and bespoke modules. It is an illustration of how second- or third-parties can build modules: Calamares provides infrastructure for building modules, which can be used independently.
The calamares-extensions CI needs an installed Calamares in order to function: that infrastructure has to be available to do the build. Rather than build everything again (which takes about 15 minutes), the extensions repository picks up the results of the most recent nightly build of Calamares. Those results are tarred up (by nightly-neon) and extracted and re-used in the other CI.
Calamares-extensions also has a nightly build; all the CI actions for Calamares-extensions can be found on its workflow page. There is a nightly-neon-xtn here as well, so that there is a nightly combined build of Calamares and its extensions – all reported on IRC through the notifications-bot.
That keeps us ready if some part of the system falls apart or if incompatibilities sneak in.