Page MenuHomePhabricator

MetricsPlatform dependency is causing CI to fail on older (yet supported) MediaWiki release branches (REL1_39, REL1_42)
Closed, ResolvedPublic

Description

Example change sets:

  1. https://gerrit.wikimedia.org/r/c/mediawiki/extensions/TwoColConflict/+/1151262
  2. https://gerrit.wikimedia.org/r/c/mediawiki/extensions/TwoColConflict/+/1151261

Affected CI jobs:

  1. quibble-composer-mysql-php81
  2. quibble-composer-mysql-php81-selenium

Sample jenkins error output:

10:55:43 * A dependency error was encountered while installing the extension "MetricsPlatform": MetricsPlatform is not compatible with the current MediaWiki core (version 1.39.12), it requires: >= 1.44.
10:55:43 MetricsPlatform requires EventStreamConfig to be installed.
10:55:43 MetricsPlatform requires EventLogging to be installed.

Event Timeline

Probably caused by f257b92c553d7c52d196569e7562635c2c6b08b9 deployed yesterday, but there's no CI run for old branches from before that was landed for me to confirm.

CC @hashar @pheudx

This is in part due to T389998: Allow control over which extra extensions are installed (Math REL1_43 jobs exceed 60min timeout).

dependencies.yaml
TwoColConflict:
 - BetaFeatures
 - EventLogging
 - WikiEditor

Interestingly, the dependency chain does not cross through EventLogging.

TwoColConflict soft-depends and choses to integrate with WikiEditor, where WikiEditor's own patches normally integrate with WikimediaEvents, which in turn then choses to integrate with WikimediaEvents, which then pulls in MetricsPlatform.

Probably caused by f257b92c553d7c52d196569e7562635c2c6b08b9 deployed yesterday, but there's no CI run for old branches from before that was landed for me to confirm.

CC @hashar @pheudx

Happy to back out that change and make the very-much-temporary code in WikimediaEvents soft depend on MetricsPlatform.

I also considered adding a dependency on EventStreamConfigs as MetricsPlatform has a hard dependency on that (whereas EventLogging only has a soft dependency on it) but doubtless there are other dependency chains like @Krinkle detailed above and, as I said, the code is a short-live experiment/instrument.

Change #1152259 had a related patch set uploaded (by Phuedx; author: Phuedx):

[mediawiki/extensions/WikimediaEvents@master] ext.wikimediaEvents: Soft-depend on MetricsPlatform

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

Change #1152260 had a related patch set uploaded (by Phuedx; author: Phuedx):

[integration/config@master] Revert "Zuul: [mediawiki/extensions/WikimediaEvents] Add MetricsPlatform dependency"

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

Change #1152260 merged by jenkins-bot:

[integration/config@master] Revert "Zuul: [mediawiki/extensions/WikimediaEvents] Add MetricsPlatform dependency"

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

Change #1152259 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] ext.wikimediaEvents: Soft-depend on MetricsPlatform

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

Change #1152349 had a related patch set uploaded (by BryanDavis; author: Phuedx):

[mediawiki/extensions/WikimediaEvents@wmf/1.45.0-wmf.3] ext.wikimediaEvents: Soft-depend on MetricsPlatform

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

Change #1152349 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.45.0-wmf.3] ext.wikimediaEvents: Soft-depend on MetricsPlatform

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

Mentioned in SAL (#wikimedia-operations) [2025-05-30T20:38:37Z] <bd808@deploy1003> Started scap sync-world: Backport for [[gerrit:1152349|ext.wikimediaEvents: Soft-depend on MetricsPlatform (T395684 T395494)]], [[gerrit:1152346|Revert "JCCache: Use WANObjectCache::getWithSetCallback() instead of set/get" (T395368)]]

Mentioned in SAL (#wikimedia-operations) [2025-05-30T20:40:37Z] <bd808@deploy1003> bd808, bvibber: Backport for [[gerrit:1152349|ext.wikimediaEvents: Soft-depend on MetricsPlatform (T395684 T395494)]], [[gerrit:1152346|Revert "JCCache: Use WANObjectCache::getWithSetCallback() instead of set/get" (T395368)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-05-30T20:48:37Z] <bd808@deploy1003> Finished scap sync-world: Backport for [[gerrit:1152349|ext.wikimediaEvents: Soft-depend on MetricsPlatform (T395684 T395494)]], [[gerrit:1152346|Revert "JCCache: Use WANObjectCache::getWithSetCallback() instead of set/get" (T395368)]] (duration: 09m 59s)

phuedx claimed this task.

Being bold