DevHeads.net

Blacklisting of PIM from the CI system

Hi all,

This morning I went to look into provisioning a new Windows Builder
node for the CI system, but hit a roadblock created by PIM currently
failing to build from source.

As some background to this, we use Craft to provide various
dependencies of our projects that aren't provided by Windows itself
(such as Qt, gettext, poppler and so forth). From time to time this is
updated to provide newer versions of software, but unless it is
necessary for a project, the CI nodes themselves often aren't updated.

We use the same approach for both Linux and FreeBSD, except those
dependencies are provided by the distribution for those two.

This means that when it comes time to provision a new node, all of the
nodes need to be updated. As these changes essentially always break
compatibility in some form or another this makes it necessary for us
to rebuild all the KDE software as well.

It is therefore not possible to proceed with any of the above while
something is failing to build.

Which is where the problem with PIM comes in - because it currently
has many repositories failing to build from source on all platforms
those builds are enabled for (including Linux and FreeBSD).

Given that the PIM project mailing list is emailed by the CI system,
and that the changes in one case were pushed over 2 days ago, there is
no excuse for this series of build failures.

In addition to all of the above, this round of updates was to lay the
ground work for adding additional dependencies which are necessary for
the builds of Digikam and SubtitleComposer to commence on the CI
system for Windows. These failures by PIM have therefore indirectly
harmed other KDE projects.

As this is not the first time that PIM has caused issues in this
manner, I would therefore like to proceed with blacklisting PIM from
the CI system. This would include prohibiting other projects from
depending on any part of PIM, so those projects that have a required
dependency on PIM would also have their builds removed by this.

Whilst I would prefer another solution to this, given that it is a
recurring issue that makes maintenance of the CI system substantially
harder, I see the removal of PIM from the equation as the only
reasonable path forward.

Should the PIM developers wish to avoid this consequence for their
actions, they will need to provide an action plan as to how this will
be avoided in the future.

Fixing the current set of failures will not prevent this blacklisting
action from being carried out - as a recurring issue it needs a
permanent solution.

Regards,
Ben Cooksley
KDE Sysadmin