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.*.
The whole log is here: https://phabricator.wikimedia.org/P34482.

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/