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.