KernelCI is a project dedicated to testing the upstream Linux kernel. Originally created by Linaro in 2014, it is now given a second breath by joining the Linux Foundation and has a fast growing community. Results are already starting to show.
The upstream Linux kernel is known for having a high rate of changes while supporting a vast range of hardware. How is it being tested? The answer is manifold, with various systems focusing on very different use-cases. From Intel's 0-Day project which has a large test coverage but only runs on x86 platforms to individual hackers who only have their locally available development hardware, there is no comprehensive solution to test the kernel as a whole.
KernelCI was originally created by Linaro in 2014 to address a segmented ARM ecosystem. It then went through a long period of slow progress, with a good range of hardware in its test labs but limited build infrastructure, a reduced community and a lack of advanced features. It is now given a second breath: labs are growing with new devices, functional testing is expanding to cover more subsystems, automated bisection is becoming effective. Last but not least, KernelCI is now joining the Linux Foundation with a membership scheme to provide it with a sustainable structure and funding.
Overall, the project aims at testing the upstream kernel in its entirety. The hope is to gradually shift the kernel development model to become more test-driven with continuous automated testing. It is a very big task, so to start with it's going off the beaten tracks by looking at areas that are not already very well covered. And of course, there are many things there that need fixing before they become real problems for users.
Speakers: Guillaume Tucker