Excessive tests in Ruqola / dependencies not built as part of the Craft caches

Thomas Baumgart thb at net-bembel.de
Thu Jul 16 15:41:21 BST 2026


On Donnerstag, 16. Juli 2026 14:48:57 Mitteleuropäische Sommerzeit laurent Montel wrote:

> Le jeudi 16 juillet 2026, 14:38:57 heure d’été d’Europe centrale Vlad Zahorodnii a écrit :
> > Hi,
> > 
> > On 7/16/26 3:00 PM, laurent Montel wrote:
> > > Le jeudi 16 juillet 2026, 13:35:05 heure d’été d’Europe centrale Ben Cooksley a écrit :
> > >> Hi Laurent, all,
> > > Hi,
> > >
> > >> Over the past week or two Sysadmin has received a number of complaints
> > >> regarding a lack of CI builder availability, primarily from those who work
> > >> on Plasma. Investigation has revealed that Ruqola appears to use a
> > >> disproportionately high amount of CI time compared to the size of the
> > >> project and it's activity.
> > >>
> > >> This appears to be driven by the fact that Ruqola has a large number of
> > >> tests that do not take very long to execute (700 or so tests, yet done in 6
> > >> minutes - with many of these being less than 1 second to run). Given that
> > >> every single one of these unit tests needs to have automoc / compiler /
> > >> linker run on it i'd suggest that similar tests be merged into the same
> > >> compilation unit (you can run the individual tests, but keep similar tests
> > >> together in the same unit test).
> > > In ruqola each autotest depends against a specific class.
> > > So merging them in one autotest seems not logical.
> > > It's the same idea that merging autotests from kio in one autotest.
> > >
> > > After that I am not against to execute autotests only on linux-qt6-next
> > > It's the main target. but I need to know how to told to CI to exclude other platforms.
> > 
> > If you're looking for a way to run tests only on a specific platform, 
> > there is `run-tests-on: []` option in `.kde-ci.yml`. If you're looking 
> > for a way to also disable building those tests, I'm not sure.
> 
> ok => we can exclude all autotests from windows/freebsd
> => we will reduce timeout.
> 
> We don't have a environment variable which informs that we are on CI ?
> => I can exclude building on CI + specific platform.

I just added that logic to my work project (catching Gitlab and Azure DevOps):

# -------------------------------
# Detect environment: developer or pipeline
# -------------------------------
if(DEFINED ENV{CI} OR DEFINED ENV{GITLAB_CI} OR DEFINED ENV{TF_BUILD})
    set(IS_PIPELINE TRUE)
else()
    set(IS_PIPELINE FALSE)
endif()


-- 

Regards

Thomas Baumgart

-------------------------------------------------------------
Life is a journey, not a race! (unknown source)
-------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 867 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-devel/attachments/20260716/10e129b0/attachment.sig>


More information about the kde-devel mailing list