Page MenuHomePhabricator

Version compare apps' externalized modules and core modules
Closed, ResolvedPublic

Description

tldr; We use vue and vuex from core. THis can cause surprises if core changes the version and Wikibase product don't realize. We could do with some check or test for this.

There is no guarantee that Package.jsons of our applications and MediaWiki core, holding externalized versions of those packages (vue, vuex), actually align.
We should add some form of testing to ensure nothing breaks in the future.

https://gerrit.wikimedia.org/r/591328 made a first suggestion for that

Acceptance Criteria:

  • There is an automated way of ensuring that versions of vue and vuex packages defined in package.json file of the (micro)application and delivered by the master branch of MediaWiki in resources/lib/vue/vue.common.prod.unminified.js are aligned
    • Wikibase
    • Data Bridge (client/data-bridge/package.json)
    • Tainted References (view/lib/wikibase-tainted-ref/package.json)
    • Termbox v2
    • WikibaseLexeme

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

It has been spaculated that potential approach could be putting a version number used to mediawiki's package.json, and having a machinery in place in mediawiki that ensure that that information stays accurate

Jakob_WMDE subscribed.

From the task inspection: We go with an approach similar to the one outlined in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/591328/ but instead of checking the version number from a file loaded via the file system (which doesn't work because it's not available) we need to download the relevant Vue and Vuex module files from MediaWiki core and check against those.

Change 645029 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[mediawiki/extensions/Wikibase@master] bridge: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/645029

Change 645098 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/Wikibase@master] bridge: test appropriate MediaWiki branch in mwlibs

https://gerrit.wikimedia.org/r/645098

Change 645029 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] bridge: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/645029

Change 645098 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] bridge: test appropriate MediaWiki branch in mwlibs

https://gerrit.wikimedia.org/r/645098

Change 646681 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[mediawiki/extensions/Wikibase@master] Wikibase: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/646681

Change 646681 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Wikibase: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/646681

Change 649644 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[mediawiki/extensions/Wikibase@master] Tainted-ref: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/649644

Change 649644 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Tainted-ref: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/649644

Change 650115 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[mediawiki/extensions/WikibaseLexeme@master] WikibaseLexeme: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/650115

Change 650124 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[wikibase/termbox@master] Termbox: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/650124

Change 650124 merged by jenkins-bot:
[wikibase/termbox@master] Termbox: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/650124

Change 650115 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] WikibaseLexeme: add test comparing Vue versions with MW

https://gerrit.wikimedia.org/r/650115

Created a follow up ticket for a possible improvement, that has been pondered during the code review: T271413.