CI Utilisation and system efficiency

Milian Wolff mail at milianw.de
Wed May 7 13:19:22 BST 2025


On Dienstag, 6. Mai 2025 13:05:55 Mitteleuropäische Sommerzeit Ben Cooksley 
wrote:
> On Tue, May 6, 2025 at 9:35 PM Milian Wolff <mail at milianw.de> wrote:
> > On Mittwoch, 30. April 2025 21:07:35 Mitteleuropäische Sommerzeit Ben
> > Cooksley
> > 
> > wrote:
> > > On Thu, May 1, 2025 at 3:42 AM Milian Wolff <mail at milianw.de> wrote:
> > > > On Freitag, 18. April 2025 21:25:36 Mitteleuropäische Sommerzeit Ben
> > > > Cooksley
> > > > 
> > > > wrote:
> > > > > Hi all,
> > > > > 
> > > > > Over the past week or two there have been a number of complaints
> > > > 
> > > > regarding
> > > > 
> > > > > CI builder availability which i've done some investigating into this
> > > > > morning.
> > > > 
> > > > <snip>
> > > > 
> > > > > Plasma Workspace/Desktop: At least in part this seems to be driven
> > > > > by
> > > > > Appium tests. Please reduce the number of these and/or streamline
> > > > > the
> > > > > process for running an Appium test. Consideration should be given to
> > > > > enabling the CI option use-ccache as well.
> > > > > 
> > > > > KDevelop: Please enable the CI option use-ccache.
> > > > 
> > > > How? Where do I find more information on this?
> > > 
> > > Please see
> > 
> > https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/config/global.y
> > ml> 
> > > ?ref_type=heads#L10 You just need to set it to True.
> > > 
> > > Once that is done then
> > 
> > https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/run-ci-build.py
> > ?r> 
> > > ef_type=heads#L202 will be triggered.
> > 
> > Why is this not enabled by default? I.e. why do we need to set this on a
> > per-
> > project level - in my opinion ccache will work with every project and
> > benefit
> > them all?
> 
> Because the builders have limited disk space available, and the reality is
> the vast majority of projects are small enough, and built infrequently
> enough (comparatively) that the cost of that additional disk space is not
> worth it.
> 
> If we use KGuiAddons as an example, on Alpine - everything from the very
> beginning to end of the CI job (which includes cloning code, fetching and
> unpacking deps, configuring, compiling and installing, capturing and
> uploading the built binaries and running tests as well as capturing code
> coverage information only took 64 seconds - see
> https://invent.kde.org/frameworks/kguiaddons/-/jobs/2882133)
> 
> KImageFormats only took 2 minutes -
> https://invent.kde.org/frameworks/kimageformats/-/jobs/2884461
> 
> It is only is a project is built extremely frequently or is of sufficient
> size that it takes a while to compile that optimisations such as ccache
> begin to make sense.

Understood, thanks for the explanatin.

Now I'm still daft - how / where do I enable the `use-ccache` flag then? I 
guess somewhere in the `.gitlab-ci.yml`? We don't have any other options there 
in kdevelop - so if you could link me to a place where this is already done 
that would be helpful. Or, you know, just go ahead and enable it directly in 
KDevelop?

Thanks

-- 
Milian Wolff
http://milianw.de




More information about the kde-devel mailing list