Plasma CI Health Check

Kristen McWilliam merritt.kr at gmail.com
Tue May 12 15:21:31 BST 2026


Excellent, thank you for doing so! :)

On 5/11/26 10:00 PM, Justin Zobel wrote:
>
> This is great work! I love the dashboard. I've started doing a few 
> repos changing them to:
>
> Options:
> require-passing-tests-on:['@all']
>
> Regards,
>
> Justin
>
> On 11/5/26 22:42, Kristen McWilliam wrote:
>> Hello, and welcome to the new Plasma CI Health Check!
>>
>> You may be familiar with the "KDE Gear projects with failing CI" 
>> project/emails that Albert has been doing for some time — I will be 
>> doing similar for Plasma, to ensure that our CI is healthy and 
>> improve our testing strategy.
>>
>> We'll be looking at a few interesting metrics, for example whether:
>>
>> • CI is passing or failing on master
>>
>> If CI is failing on master its usually a bad sign, and something we 
>> want to fix ASAP.
>>
>>
>> • Tests are being automatically retried
>>
>> Having the CI configured to auto retry tests is usually a sign of a 
>> workaround for flaky tests, and flaky tests are bad tests; at best 
>> they are frustrating and a waste of CI resources, at worst they give 
>> a false sense of security that code is actually reliable. A test 
>> should either pass or fail — if it doesn't do so reliably it should 
>> be fixed or removed.
>>
>> In the .kde-ci.yml this will look something like:
>>
>> ```yaml
>> Options:
>>  ctest-arguments: '--repeat until-pass:5'
>> ```
>>
>> We should prefer to remove this option and fix the tests.
>>
>>
>> • Tests are configured as required passing for the repo
>>
>> With this enabled, if tests fail in the CI the associated merge 
>> request will show this as a nice obvious warning; if it isn't 
>> enabled, the MR will report the pipeline is completely green — not good!
>>
>> We definitely want it to be obvious if the tests failed, otherwise 
>> people are likely to merge it without even being aware there is an 
>> issue.
>>
>> In the .kde-ci.yml this will look like:
>>
>> ```yaml
>> Options:
>>  require-passing-tests-on: ['@all']
>> ```
>>
>> Knowing if the tests are passing or failing is super important, so we 
>> need to work towards this being enabled for all our repos.
>>
>>
>> ---------------------------
>>
>>
>> There will be additional things to track to assess our CI and test 
>> health, but this is a good place to start.
>>
>> Here are our initial metrics:
>>
>> • 86 monitored repos
>> • 10 failing CI in master
>> • 3 configured for auto-repeating tests
>> • 14% of repos configured to require passing tests
>>
>>
>> Failing CI:
>>
>> • plasma/qqc2-breeze-style
>> • plasma/plasma-desktop
>> • plasma/kmenuedit
>> • plasma/discover
>> • plasma/lightdm-kde-greeter
>> • plasma/kde-gtk-config
>> • plasma/plasma-sdk
>> • plasma/plasma-systemmonitor
>> • plasma/latte-dock
>> • plasma-mobile/spacebar
>>
>>
>> Auto-retrying tests:
>>
>> • kwin-x11
>> • kwin
>> • plasma-desktop
>>
>>
>> I hacked together a simple dashboard to help visualize the state of 
>> things, which also includes links to the relevant CI run for each 
>> repo; if interested in checking, it lives here for the moment:
>>
>> https://ci-healthcheck-5e5c80.local-kde.org/
>>
>>
>> Thank you for helping to improve the reliability of our software, and 
>> reducing wasted CI resources.
>>
-- 
Cheers,
   Kristen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20260512/1cbafb1f/attachment.htm>


More information about the Plasma-devel mailing list