Continuous integration Mark Filion
At Collabora, the majority of our customers use the Linux kernel directly within their products. However, a lot of our customers are modifying the kernel to adapt it to their specific needs.
While this highlights the flexible nature of Linux, it also creates a problem for these companies because they end up working with an outdated kernel that’s no longer receiving vital security updates. The kernel that shipped with its product has become so heavily modified compared to upstream versions that rebasing it on top of newer, mainline releases becomes too expensive and difficult to plan for.
Staying close to upstream as much as possible , by regularly rebasing on top of new releases (typically LTS releases) is the best solution. However, for this work to be feasible, the amount of differences between mainline and downstream sources needs to be manageable. That’s why we recommend contributing back any changes that aren’t specific to their products. Nevertheless, while some companies have upstreaming processes, keeping up with the mainline can take time.
Collabora has been working on continuous integration of software components across a range of hardware. This includes sponsoring one of the major efforts to integrate the mainline Linux kernel codebase: which builds several configurations of different trees and submits boot jobs to several labs around the world, and collates the results. This plays a key role in detecting any changes that either break the builds, or prevent a piece of hardware from completing the boot stage.
Along with helping you keep pace with the Linux kernel, having continuous integration of changes in mainline reduces the risk of introducing regressions to your kernel and makes it easier, and faster, for your contributions to be accepted.