Page MenuHomePhabricator

Update the Patch demo `tarball` preset to reflect updates to the list of bundled extensions/skins since October 2020
Closed, ResolvedPublic

Description

Unless I'm missing something, the 'tarball' Patch demo preset -- which I believe is intended to include extensions & skins that are bundled along with the MediaWiki release -- hasn't been updated since it was originally created in October 2020 (except 2 weeks ago by @jnuche to remove the archived MediaWiki-extensions-LocalisationUpdate extension).

There have been a number of changes to the list of bundled skins/extensions since then, so the Patch demo preset should be updated to reflect the changes to it that've been made.

Note: while the list of bundled extensions/skins has changed between different versions of MediaWiki; to my knowledge, there's currently no way to vary the contents of a Patch demo repository-preset based on the selected MediaWiki version. Because of this, I'm sort of proceeding on the presumption that the preset should contain the extensions that are currently included in the tarball at any given moment in time.


As far as I'm aware, the authoritative/canonical list for bundled skins/extensions is contained within https://gitlab.wikimedia.org/repos/releng/release/-/blob/main/make-release/settings.yaml (permalink).


Repos to add to the list
Repos to remove from the list

These repositories were removed from the canonical list of bundled extensions due to being merged into mediawiki/core.

Open question: should these be removed from the preset?
As these extension repos are currently stubs, they won't (or at least, shouldn't) have any substantive effect - other than being listed at Special:Version - on new Patch demo wikis that are (e.g.) built from the master branch. However, for wikis that start from release-branches that were made before these extensions were merged into core, these repos will still contain active code.
Removing these extensions from the preset seems like it'd be (in effect) removing functionality from wikis built from some older release-branches; but (IIUC) keeping them shouldn't have any user-facing effect (other than at Special:Version) on wikis built from a branch that does contain an extension's merge into core.
Answer: No, they can be left in the preset. (T399035#10993230 onwards)


Future planning

Event Timeline

Will see if I can work this out & submit a patch for it tomorrow.

from the task's description; re extensions that have been merged to core:

Open question: should these be removed from the preset?
As these extension repos are currently stubs, they won't (or at least, shouldn't) have any substantive effect - other than being listed at Special:Version - on new Patch demo wikis that are (e.g.) built from the master branch. However, for wikis that start from release-branches that were made before these extensions were merged into core, these repos will still contain active code.
Removing these extensions from the preset seems like it'd be (in effect) removing functionality from wikis built from some older release-branches; but (IIUC) keeping them shouldn't have any user-facing effect (other than at Special:Version) on wikis built from a branch that does contain an extension's merge into core.

@jnuche (and/or any other patch demo maintainer, and/or anyone else) - I'd appreciate your input on this question :)
I currently lean towards the opinion of 'keep them within the tarball', for the reasons I described above (even though that probably slightly contradicts what I wrote earlier about me presuming "that the preset should contain the extensions that are currently included in the tarball at any given moment in time"). I'd appreciate a second opinion here, though!

@jnuche (and/or any other patch demo maintainer, and/or anyone else) - I'd appreciate your input on this question :)
I currently lean towards the opinion of 'keep them within the tarball', for the reasons I described above (even though that probably slightly contradicts what I wrote earlier about me presuming "that the preset should contain the extensions that are currently included in the tarball at any given moment in time"). I'd appreciate a second opinion here, though!

You have dug up more context than I actually had. It seems like the cleanest solution would be to have different tarball presets based on the starting branch; but tbh since the inclusion of those extensions in newer branches is a no-op, I would do the simpler thing and just keep them.

Pinging @thcipriani and @jeena too

It seems like the cleanest solution would be to have different tarball presets based on the starting branch

Agreed, FWIW :)
This would also allow (e.g.) varying the Wikimedia preset based on when an extension was widely deployed to Wikimedia wikis, if something like that would be desirable.
It would obviously need some engineering within Patch Demo to accomplish this, though (in addition to potentially needing to think of a new way to structure the .yaml preset files).

asmartkitten opened https://gitlab.wikimedia.org/repos/test-platform/catalyst/patchdemo/-/merge_requests/179

Draft: repository-lists: Update the "tarball" preset to include repos bundled since October 2020

jhuneidi merged https://gitlab.wikimedia.org/repos/test-platform/catalyst/patchdemo/-/merge_requests/179

repository-lists: Update the "tarball" preset to include repos bundled since October 2020

A_smart_kitten updated the task description. (Show Details)

I believe this is now complete :)