...and it's not likely that Wikimedia would want to investigate that, because helping devs make their extensions compatible and secure across MW versions is not within the scope of the Foundation's mission.

It's really sad to me that MW has CI that only suits WMF's use of the software, and is inadequate to the needs of third party wikis. It is also quite frustrating to me, because it means I am forced to move my extension to GitHub or GitLab where I can set up CI that meets the bare minimum requirements for professionally maintaining an extension. Ugh :(

--
The Very Disappointed And Rather Grumpy Ostrzyciel

On 12/09/2022 16:54, Robert Vogel via Wikitech-l wrote:
The "DonationInterface" has some "special handling" in the CI config: https://github.com/wikimedia/integration-config/blob/d2ef596ea8f6972222c0920270939c1bf967e0be/zuul/layout.yaml#L4464-L4480

They apparently use some dedicated Quibble test runner: https://github.com/wikimedia/integration-config/blob/d2ef596ea8f6972222c0920270939c1bf967e0be/jjb/wm-fundraising.yaml#L63-L76

I don't think this pattern can easily be re-used.

Von: Ostrzyciel <ostrzycielnozyczek@gmail.com>
Gesendet: Montag, 12. September 2022 16:42
An: wikitech-l@lists.wikimedia.org <wikitech-l@lists.wikimedia.org>
Betreff: [Wikitech-l] Re: How to specify version of MW that Jenkins should run?
 
Hi all,

I've been looking into a similar thing for a different extension, where I wanted it to be compatible with MW 1.37+ (see task). Basically, I want the tests to run both on REL1_37 and master to make sure that whatever I merge is compatible with 1.37. The cherry-picking approach is not a valid solution, as it's tedious, error-prone, and I can never be sure that the patch works with both branches.

I know of one extension that seemingly has something like this: DonationInterface. For example, this master patch had its tests run against REL1_35.

Can something like this be replicated in other extensions? I think it's a vital feature for extension developers, because compatibility with only master is next to useless. To be honest, it boggles my mind that this hasn't become common practice long ago.

--
The Slightly Mind-Boggled Ostrzyciel

On 12/09/2022 16:14, Robert Vogel via Wikitech-l wrote:
The continous integration testing currently uses the same branch fot the "dependecies" as it tests. So if you create a change set on branch `master`, it will use `master` for all the other repos (like mw core, extensions, skins) it clones to build up the environment. I am not aware of any way to influence this on a per repo level.

The only way I am currently aware of is to commit against a branch called `REL1_35` of your extension and then cherry-pick the changes up to `master`, once the tests have passed. This will make the CI tests use the `REL1_35` branch of each dependency (including mw core).

--
Robert

Von: Sebastian Berlin <sebastian.berlin@wikimedia.se>
Gesendet: Montag, 12. September 2022 12:20
An: Wikimedia developers <wikitech-l@lists.wikimedia.org>
Betreff: [Wikitech-l] How to specify version of MW that Jenkins should run?
 
I'm having some issues with Jenkins running the latest version of MW for an extension (Wikispeech). Jenkins run with the 1.40 alpha, but we want the extension to support the latest LTS (1.35 as of right now).

I tried changing in extension.json to:
"requires": {
     "MediaWiki": "1.35.*"
}
which caused an error for Jenkins:
12:44:09 A dependency error was encountered while installing the extension "Wikispeech": Wikispeech is not compatible with the current MediaWiki core (version 1.40.0-alpha), it requires: 1.35.*.

How can I specify what version of MW to run with? I've looked at both the MW wiki and Wikitech, but hasn't found any instructions for this.

Best,

Sebastian Berlin
Utvecklare/Developer
Wikimedia Sverige (WMSE)

E-post/E-Mail: sebastian.berlin@wikimedia.se
Telefon/Phone: (+46) 0707 - 92 03 84

_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/



_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/