CI Requirements - Lessons Not Learnt?

Martin Gräßlin mgraesslin at kde.org
Fri Jan 6 08:28:48 GMT 2017


Am 2017-01-05 22:32, schrieb Adriaan de Groot:
> So what's the impact?
> 
> Twofold: for CI it causes failing builds. We should consider that 
> red-flag
> property of CI to be a *good* thing -- because it indicates something 
> changed
> in our assumptions or in the code, and the source is no longer good 
> (green),
> for some suitable definition of "good".
> 
> And for distro's, there's an upcoming problem, as indicated by Kevin 
> Kofler.
> I'd flag the same thing: it's unpleasant when packaging <X> turns into
> packaging <X>, <X'>, <X''> .. because of dependencies the packagers 
> didn't
> know about beforehand.
> 
> On Thursday 05 January 2017 21:49:52 Martin Gräßlin wrote:
>> .. I think that this dependency is way more important to overall
>> KWin than a few people having to manually build xkbcommon. Which is
>> fairly trivial as David showed in his reply to the thread ..
> 
> The impact is mostly because the automated systems don't know all that 
> much
> about dependency bumps, and also really aren't ready for 
> manually-building-
> stuff. As Martin has pointed out, there *is* now a release to build 
> against, so
> this concrete case is not in the realm of random-GitHub-commit.

To specify even better, it's the case:

Package foo depends on a newer version of the already existing 
dependency bar
which does not introduce any new dependency itself.

> 
> It is, however, a burden to CI and packagers. CI -- or rather the 
> people
> behind CI, which I guess are largely Ben and Scarlett -- does its 
> darnedest to
> give us an accurate picture of the state of KDE software. Packagers are 
> the
> people who get the software in the hands of users.

For packagers it should not matter at all. This is the most common 
situation for
distribution. And in the release of e.g. Plasma they have to handle this 
for
hundreds of updated dependencies.

It's also not unexpected, because we have a dependency freeze in place 
prior to
the release, thus the dependencies are announced way ahead.

It's only a "problem" for distros if they want to backport to an older 
release as
in the case of Fedora. Honestly I consider this unreasonably. If you 
don't have a
problem with backporting hundreds of packages I don't think that the one 
additional
package is a problem.

> Socially, we can try to keep CI (through sysadmin-tickets) and 
> packagers
> (through the distributions@ list) informed of changes in dependencies, 
> so that
> those groups can respond in a timely fashion.

Honestly I would consider it spaming the distribution mailing list if I 
announce a
new dependency which most distributions have already integrated at the 
time of the
increase of the dependency. (In this specific case it was already part 
of e.g.
Opensuse tumbleweed, Debian Testing, Ubuntu 17.04, Arch, ... - yes I did 
my lesson
before increasing the dependency).

The problem in my opinion lies somewhere else. We are used to ensure 
that distros
can package our software. That is we check that the next release will 
have the
dependency. We are targeting a newer stack. But CI is on an older stack.

I don't really see a good solution to this problem. This is a problem 
which will come
up again and we have had quite often in the past. KWin requires overall 
a way more
modern stack than our CI system provides. In most cases that's handled 
by a PPA.

Cheers
Martin




More information about the kde-core-devel mailing list