Page MenuHomePhabricator

wikibase-selenium broken on release branches
Closed, ResolvedPublic

Description

See https://integration.wikimedia.org/ci/job/wikibase-selenium/515/console (https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1246823).

21:29:10 [4112bf9c180dbef0fca349b5] [no req]   Error: Class "Onoi\MessageReporter\ObservableMessageReporter" not found
21:29:10 Backtrace:
21:29:10 from /workspace/src/extensions/Wikibase/repo/includes/Store/Sql/DatabaseSchemaUpdater.php(191)
21:29:10 #0 /workspace/src/includes/installer/DatabaseUpdater.php(595): Wikibase\Repo\Store\Sql\DatabaseSchemaUpdater::rebuildPropertyTerms()
21:29:10 #1 /workspace/src/includes/installer/DatabaseUpdater.php(552): MediaWiki\Installer\DatabaseUpdater->runUpdates()
21:29:10 #2 /workspace/src/maintenance/update.php(195): MediaWiki\Installer\DatabaseUpdater->doUpdates()
21:29:10 #3 /workspace/src/maintenance/includes/MaintenanceRunner.php(703): UpdateMediaWiki->execute()
21:29:10 #4 /workspace/src/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
21:29:10 #5 /workspace/src/maintenance/update.php(308): require_once(string)
21:29:10 #6 {main}

Affects release branches for:

mediawiki/core
mediawiki/vendor
mediawiki/skins/MinervaNeue
mediawiki/skins/Vector
mediawiki/extensions/MobileFrontend
mediawiki/extensions/UniversalLanguageSelector
mediawiki/extensions/Wikibase

Gerrit queries:

Event Timeline

+ @zeljkofilipin @Peter with whom we will introduce a similar job for GrowthExperiments.

I have only tested the wikibase-selenium job on master. Looking at the console, Quibble is invoked with --packages-source vendor which means it gets dependencies from mediawiki/vendor. That repositories used to have maintained dependencies for REL branch but that got dropped a while ago (we probably still cut the branch automatically though).

For REL branches we thus need a variant of the job that uses composer.

For Zuul, we need to adjust the job template to use that composer based jobs for the REL* pipelines. Currently it uses the same job for all branches:

zuul/layout.yaml
- name: wikibase-selenium-gate
  test: &wikibase-selenium-gate_jobs
    - wikibase-selenium
  gate-and-submit: *wikibase-selenium-gate_jobs
  test-1_43: *wikibase-selenium-gate_jobs
  gate-and-submit-1_43: *wikibase-selenium-gate_jobs
  test-1_44: *wikibase-selenium-gate_jobs
  gate-and-submit-1_44: *wikibase-selenium-gate_jobs
  test-1_45: *wikibase-selenium-gate_jobs
  gate-and-submit-1_45: *wikibase-selenium-gate_jobs
  test-wmf: *wikibase-selenium-gate_jobs
  gate-and-submit-wmf: *wikibase-selenium-gate_jobs
Zabe renamed this task from wikibase-selenium broken in REL1_43 to wikibase-selenium broken on release branches.Mar 4 2026, 5:39 PM
Zabe triaged this task as High priority.Mar 4 2026, 5:42 PM

This breaks all backports.

Thanks for the ping Zabe, I should have commented earlier today.

I need to introduce some new flavor of the jobs but at the same time there are some other Wikibase jobs we need to rename which is being done via https://gerrit.wikimedia.org/r/c/integration/config/+/1238317 (it is almost complete).

I am looking for a new name for the Wikibase Seleniums. I will probably come with the pattern:

  • quibble-with-Wikibase-extensions-composer-selenium
  • quibble-with-Wikibase-extensions-vendor-selenium

And adjust the existing rule that injects a fixed set of dependencies based on the job being named wikibase-selenium.

I'll check again tomorrow and if I get something deployed, I will happily retrigger the gate-and-submit for Wikibase patches that had a CR+2 in the releases branches.

Change #1248409 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb, Zuul: rename wikibase-selenium job for clarity

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

Change #1248411 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb, Zuul: vary Wikibase Selenium for release branches

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

I have crafted the series of patch. I will check with @Jdforrester-WMF to check whether I have picked up proper renaming for wikibase-selenium job which would be split to:

  • quibble-with-Wikibase-extensions-browser-tests-only-composer-php81
  • quibble-with-Wikibase-extensions-browser-tests-only-composer-php83
  • quibble-with-Wikibase-extensions-browser-tests-only-vendor-php81
  • quibble-with-Wikibase-extensions-browser-tests-only-vendor-php83

That will allow us to use composer on release branches and php 8.1 on REL1_44 and older.

Change #1248409 merged by jenkins-bot:

[integration/config@master] jjb, Zuul: rename wikibase-selenium job for clarity

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

Mentioned in SAL (#wikimedia-releng) [2026-03-06T12:12:20Z] <hashar> Reloaded Zuul for https://gerrit.wikimedia.org/r/c/integration/config/+/1248409/ "jjb, Zuul: rename wikibase-selenium job for clarity" | T418797

Change #1248411 merged by jenkins-bot:

[integration/config@master] jjb, Zuul: vary Wikibase Selenium for release branches

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

Mentioned in SAL (#wikimedia-releng) [2026-03-06T12:32:02Z] <hashar> Reloaded Zuul for https://gerrit.wikimedia.org/r/c/integration/config/+/1248411 "jjb, Zuul: vary Wikibase Selenium for release branches" | T418797

Dropping the gate-and-submit-pipeline and stripping the common job prefix gives:

test:
  - vendor-php83
test-1_43:
  - composer-php81
test-1_44:
  - composer-php81
test-1_45:
  - composer-php83
test-wmf:
  - vendor-php83

I have recheck all patches that were open for the affected repositories release branches and they passed. The exceptions is a series of update for updating the psr/http-message composer library ( Gerrit: bug:T397068+is:open). I have informed the patches author (Reedy).

So essentially this is solved!