<div dir="ltr">Hi all,<br><br>I'm excited to share an important update to our Continuous Integration system that will improve the stability and reliability of our software. Starting soon, test failures will be fatal by default in KDE CI.<br><br>Historically, making test failures fatal has been an opt-in feature. This allowed some projects to inadvertently overlook failing tests, which could lead to undetected breakages. To address this, we are transitioning to a new default behavior where test failures will block merging, ensuring that every commit keeps our code in a working state.<br><br><br>## Key Details<br><br>### New Opt-Out Option<br><br>We've introduced a new `allow-failing-tests-on` option for the `.kde-ci.yml` file for projects that need temporary flexibility. If your project isn't ready for this change, you can opt out using this option.<br><br>Previously, the `require-passing-tests-on` option was used to make test failures fatal by adding it to the options in the `.kde-ci.yml` file like this:<br><br>    require-passing-tests-on: [ 'Linux', 'Windows' ]<br><br>If you need to opt out of the new default behavior, you can add the `allow-failing-tests-on` option to your `.kde-ci.yml` file like this:<br><br>    allow-failing-tests-on: [ 'Linux', 'Windows' ]<br><br>Full example of a `.kde-ci.yml` file with the new option:<br><br>```yaml<br># SPDX-FileCopyrightText: None<br># SPDX-License-Identifier: CC0-1.0<br><br>Dependencies:<br>- 'on': ['@all']<br>  'require':<br>    'frameworks/kcoreaddons': '@stable-kf6'<br><br>Options:<br>  allow-failing-tests-on: [ 'Windows' ]<br>```<br><br>The new opt-out option is available now, and the default behavior has **not yet changed**. We will have a transition period to allow projects to adjust before implementing the new default.<br><br><br>### Transition Period<br><br>There will be a 6-week transition period to allow projects to adjust before making test failures fatal by default. During this time we will:<br><br>  - Monitor adoption and feedback.<br>  - Assist projects that haven't been adjusted yet, especially those under community maintenance.<br><br><br>### Final Steps<br><br>After the transition period, test failures will become fatal by default. Additionally:<br><br>  - The legacy `require-passing-tests-on` option will be removed.<br>  - We will communicate the change to the community via the mailing list and Discourse.<br><br><br>### What You Need to Do<br><br>We encourage all maintainers to review and update their CI configurations accordingly. Your proactive adjustments and feedback will help ensure a smooth transition and maintain the high quality of KDE projects.<br><br>If your project needs to allow a platform to continue failing tests temporarily, add the `allow-failing-tests-on` option to your `.kde-ci.yml` file with the appropriate platforms listed.<br><br>If some tests are failing because the Windows CI can't handle certain GUI tests, prefer conditionally skipping only those tests on Windows CI runs by adding the following to the problematic tests:<br><br>```cpp<br>if (qEnvironmentVariableIntValue("KDECI_CANNOT_CREATE_WINDOWS")) {<br>    QSKIP("KDE CI can't create a window on this platform, skipping this test");<br>}<br>```<br><br>If you have any questions or need support during this process, reply here or in the accompanying Discourse thread:<br><br><a href="https://discuss.kde.org/t/test-failures-fatal-by-default-in-kde-ci/31670">https://discuss.kde.org/t/test-failures-fatal-by-default-in-kde-ci/31670</a><br><br><br>## TLDR<br><br>Test failures will be fatal by default in KDE CI. Use `allow-failing-tests-on` to opt out temporarily. Review and update your CI configurations to ensure a smooth transition. Reach out for support if needed.<br><br>---<br><br>Thank you for your attention and commitment to maintaining robust, high-quality code.<br><br>Cheers,<br>Kristen</div>