Test Failures Fatal by Default in KDE CI
Albert Astals Cid
aacid at kde.org
Wed Mar 19 15:30:26 GMT 2025
El dimecres, 19 de març del 2025, a les 16:22:40 (Hora estàndard d’Europa
central), Kristen McWilliam va escriure:
> A) Discussion was initially in
> https://invent.kde.org/sysadmin/ci-utilities/-/merge_requests/296 and then
> moved to https://invent.kde.org/sysadmin/ci-utilities/-/issues/37 for
> overall tracking. Sorry to hear you did that extra work; we're hoping to
> consolidate the effort with this. :)
>
> B) No one has made any specific commitments to helping with this, but I
> know I for one will be trying my best to help where needed, such as the
> community maintained repos mentioned. Any assistance with that is obviously
> very welcome.
Thanks :)
Cheers,
Albert
P.S: Please make sure you also answer to the list :)
>
>
> Cheers,
> Kristen
>
> On Wed, Mar 19, 2025 at 10:48 AM Albert Astals Cid <aacid at kde.org> wrote:
> > El dilluns, 17 de març del 2025, a les 14:54:24 (Hora estàndard d’Europa
> >
> > central), Kristen McWilliam va escriure:
> > > Hi all,
> > >
> > > 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.
> > >
> > > 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.
> > >
> > >
> > > ## Key Details
> > >
> > > ### New Opt-Out Option
> > >
> > > 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.
> > >
> > > 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:
> > > require-passing-tests-on: [ 'Linux', 'Windows' ]
> > >
> > > 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:
> > > allow-failing-tests-on: [ 'Linux', 'Windows' ]
> > >
> > > Full example of a `.kde-ci.yml` file with the new option:
> > >
> > > ```yaml
> > > # SPDX-FileCopyrightText: None
> > > # SPDX-License-Identifier: CC0-1.0
> > >
> > > Dependencies:
> > > - 'on': ['@all']
> > >
> > > 'require':
> > > 'frameworks/kcoreaddons': '@stable-kf6'
> > >
> > > Options:
> > > allow-failing-tests-on: [ 'Windows' ]
> > >
> > > ```
> > >
> > > 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.
> > >
> > >
> > > ### Transition Period
> > >
> > > 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:
> > > - Monitor adoption and feedback.
> > > - Assist projects that haven't been adjusted yet, especially those
> >
> > under
> >
> > > community maintenance.
> > >
> > >
> > > ### Final Steps
> > >
> > > After the transition period, test failures will become fatal by default.
> > >
> > > Additionally:
> > > - The legacy `require-passing-tests-on` option will be removed.
> > > - We will communicate the change to the community via the mailing list
> > >
> > > and Discourse.
> > >
> > >
> > > ### What You Need to Do
> > >
> > > 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.
> > >
> > > 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.
> > >
> > > 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:
> > >
> > > ```cpp
> > > if (qEnvironmentVariableIntValue("KDECI_CANNOT_CREATE_WINDOWS")) {
> > >
> > > QSKIP("KDE CI can't create a window on this platform, skipping this
> > >
> > > test");
> > > }
> > > ```
> > >
> > > If you have any questions or need support during this process, reply
> > > here
> > > or in the accompanying Discourse thread:
> > >
> > > https://discuss.kde.org/t/test-failures-fatal-by-default-in-kde-ci/31670
> > >
> > >
> > > ## TLDR
> > >
> > > 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.
> >
> > Two questions:
> >
> > A) Where was this discussed? I am relatively involved in getting people to
> > get
> > tests passing, etc. and had no idea this was being worked on, if i had
> > known
> > it would have saved me creating all the MRs i created recently for KDE
> > Gear to
> > enable forcing tests to pass.
> >
> > B) Who is going to update all the repositories in KDE Gear (or elsewhere
> > but
> > KDE Gear is my particular worry) that are community maintained (i.e. don't
> > have a clear maintainer)?
> >
> > Cheers,
> >
> > Albert
> >
> > > ---
> > >
> > > Thank you for your attention and commitment to maintaining robust,
> > > high-quality code.
> > >
> > > Cheers,
> > > Kristen
More information about the kde-devel
mailing list