Page MenuHomePhabricator

Disable meaningless, never green CI jobs for BlueSpice (Hallo Welt! GmbH) extensions
Closed, ResolvedPublic

Description

Some volunteers as well as paid staff members do their best to keep the approx. 1300 extensions on our Wikimedia Gerrit up to date. Unfortunately we constantly run into problems especially with the approx. 100 BlueSpice… extensions that are owned by the German Hallo Welt! GmbH. This keeps wasting the very limited time and resources we have to look after other people's code, for not much benefit, in my opinion. This situation is known for years but never really improved. It came up again in a discussion on https://gerrit.wikimedia.org/r/1146869.

I suggest to disable these failing CI jobs for all BlueSpice… extensions. Notably the jobs that include some kind of PHPUnit run. At least on their master branches.[1]

What this change means:

  • We are not wasting resources any more (energy, time) for jobs that are known to fail.
  • Volunteers don't waste their time any more waiting for failing jobs they cannot fix.
  • It's more obvious that there is no active support for the master branch of these extensions, only for the REL1_… branches.

If needed, the same jobs can still be run individually via a comment with one of the magic words, e.g. check experimental.

[1] The longest response I ever got can be seen on https://gerrit.wikimedia.org/r/1067285:

codebases are all broken

They are not all broken. At least not in REL1_39. But I agree with you that we see lots of issues in master. This is - besides some other reasons - because we can not keep up with the development of the environment there.

why nobody bothers fixing them

We do, but we focus on REL1_39 (or LTS branches in general). We even hired people to support us with this. I have to admit, we were not very successful with that.

What's the point of hosting anything in this shared Gerrit environment when the company uses it effectively as if it's an FTP server?

There are many reasons or that. We want to be part of the community. We want to learn from existing code and share our code for others to learn (yes, this can be done on other platforms as well). We encourage our developers to participate in the community (e.g. Support Desk on MW.org) and provide patches whenever possible (also to third-party extensions). We want them to be familiar with the Wikimedia way of doing things, so they can properly interact. We want to develop in public and be as open as possible ...
We don't even create "BlueSpice*" extensions anymore (with some minor exceptions), but aim for creating pure MediaWiki extensions that can be used outside of our distribution. The inter-extension dependencies are less, the tests work better.
I apologize for any inconvenience that we may have caused and maybe are still causing. I am grateful for hints of what we can do better.

Event Timeline

This task came up on IRC today after @Osnard force merged https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CognitiveProcessDesigner/+/1186453 apparently because the tests are all broken. That force merge happened with a long gate-and-submit queue. Zuul gets confused by force merges which then cascades to even longer waits for all of the work that was in the queue behind the force merged changeset.

Disabling CI in the master branch (that BS don't actively use), but retaining it in the REL1_… branches that they do, as this task suggests, should be OK. It'll be a little confusing for people; maybe a bespoke reporter that says that that repo isn't maintained in master, only in release branches?

Apologies for the confusion caused by failing CI on master branches.

The BlueSpice team only maintains LTS branches (e.g., REL1_39, REL1_43).
Master is not actively supported, so we are happy to disable master tests to avoid wasting CI resources and volunteer time.
LTS branches will continue to be fully tested.

Change #1187672 had a related patch set uploaded (by Hslater; author: Hslater):

[integration/config@master] Zuul: Disable master branch jobs for extension-quibble-bluespice template

https://gerrit.wikimedia.org/r/1187672

Setting to noop:

AssertionError: Project mediawiki/extensions/BlueSpiceProDistributionConnector pipeline test must have either composer-validate or a composer-* job, has: ['noop']

Setting to composer-noop:

FAILURE: Job composer-noop not defined

Change #1187672 merged by jenkins-bot:

[integration/config@master] Zuul: Disable master branch jobs for extension-quibble-bluespice template

https://gerrit.wikimedia.org/r/1187672

Jdforrester-WMF assigned this task to Hslater.

This has been deployed. There are probably different things to think of, but the scope of this is done.

Thank you.
I’ve recently invested effort into ensuring master branches pass. I can start moving some extensions away from the ‘bluespice’ template to allow master tests to run and pass.

Edit: https://gerrit.wikimedia.org/r/c/integration/config/+/1234926
(Not sure if 'extension-quibble' or 'extension-quibble-composer' is preferable)

Change #1234926 had a related patch set uploaded (by Hashar; author: Hslater):

[integration/config@master] Zuul: re-enable master jobs for some BlueSpice repos

https://gerrit.wikimedia.org/r/1234926

Change #1234926 merged by jenkins-bot:

[integration/config@master] Zuul: re-enable master jobs for some BlueSpice repos

https://gerrit.wikimedia.org/r/1234926

Mentioned in SAL (#wikimedia-releng) [2026-02-02T21:17:09Z] <hashar> Reloaded Zuul for https://gerrit.wikimedia.org/r/c/integration/config/+/1234926 "re-enable master jobs for some BlueSpice repos - T403196"