...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/d2ef596ea8f6972222c092…
They apparently use some dedicated Quibble test runner:
https://github.com/wikimedia/integration-config/blob/d2ef596ea8f6972222c092…
I don't think this pattern can easily be re-used.
------------------------------------------------------------------------
*Von:* Ostrzyciel <ostrzycielnozyczek(a)gmail.com>
*Gesendet:* Montag, 12. September 2022 16:42
*An:* wikitech-l(a)lists.wikimedia.org <wikitech-l(a)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
<https://phabricator.wikimedia.org/T316479>). 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
<https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DonationInterface/+/733965>
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(a)wikimedia.se>
<mailto:sebastian.berlin@wikimedia.se>
*Gesendet:* Montag, 12. September 2022 12:20
*An:* Wikimedia developers <wikitech-l(a)lists.wikimedia.org>
<mailto: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
<https://www.mediawiki.org/wiki/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
<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(a)wikimedia.se
<mailto:sebastian.berlin@wikimedia.se>
Telefon//Phone/: (+46) 0707 - 92 03 84
_______________________________________________
Wikitech-l mailing list --wikitech-l(a)lists.wikimedia.org
<mailto:wikitech-l@lists.wikimedia.org>
To unsubscribe send an email towikitech-l-leave(a)lists.wikimedia.org
<mailto:wikitech-l-leave@lists.wikimedia.org>
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/
<https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/>
_______________________________________________
Wikitech-l mailing list --wikitech-l(a)lists.wikimedia.org
To unsubscribe send an email towikitech-l-leave(a)lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/