Details
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Stalled | None | T396459 Upgrade WebdriverIO in all repositories | |||
| Stalled | None | T324685 Upgrade WebdriverIO to v8 in all repositories | |||
| Resolved | zeljkofilipin | T324766 Upgrade WebdriverIO to v8 in core | |||
| Resolved | zeljkofilipin | T332393 Selenium Jenkins jobs fail after updating @wdio npm packages to v8 | |||
| Resolved | RickiJay-WMDE | T347137 Update wdio-mediawiki to work with both WebdriverIO v7 and v8 | |||
| Resolved | RickiJay-WMDE | T347138 Update Code after patching WDIO-Mediawiki and WDIO-Wikibase | |||
| Resolved | vaughnwalters | T355556 Webdriverio v7 fails locally with node v18 on macos |
Event Timeline
Change 1002578 had a related patch set uploaded (by Zfilipin; author: Zfilipin):
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change 866386 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Reason:
Moved to https://gerrit.wikimedia.org/r/c/mediawiki/core/+/966447
Change 866386 restored by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change 1003757 had a related patch set uploaded (by Zfilipin; author: Zfilipin):
[mediawiki/core@master] WIP selenium: Fix and update links in comments and documentation
Change 1003757 merged by jenkins-bot:
[mediawiki/core@master] selenium: Fix and update links in comments and documentation
Change 1004089 had a related patch set uploaded (by Zfilipin; author: Zfilipin):
[mediawiki/core@master] selenium: Update readme file
Change 1004096 had a related patch set uploaded (by Zfilipin; author: Zfilipin):
[mediawiki/core@master] selenium: Update wdio-mediawiki readme file
Change 1004096 merged by jenkins-bot:
[mediawiki/core@master] selenium: Update wdio-mediawiki readme file
Change 1004089 merged by jenkins-bot:
[mediawiki/core@master] selenium: Update readme file
Change 866386 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Reason:
@zeljkofilipin the first alpha of 9.0 was release earlier today https://github.com/webdriverio/webdriverio/releases/tag/v9.0.0-alpha.0 so I think we should aim for upgrading to 9 instead.
@Peter it's usually way simpler to update one major version at a time. But since we had trouble with v8, maybe giving v9 a try might be a good idea.
Change #966447 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 restored by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 restored by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 restored by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 restored by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 abandoned by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Change #1002578 restored by Zfilipin:
[mediawiki/core@master] WIP selenium: Upgrade WebdriverIO to v8
Noting that https://gerrit.wikimedia.org/r/1002578 had some problems in CI https://integration.wikimedia.org/ci/job/mediawiki-quibble-selenium-vendor-mysql-php74/25118/console
Notably, it looks like the afterTest hook kept failing, which is also the hook that calls stopVideo in tests/selenium/wdio-mediawiki/wdio-defaults.conf.js.
This matches the symptoms in T392963: CI is overwhelmed and lots of jobs are failing randomly (2025-04-29):
- beforeTest starts an ffmpeg process to record the framebuffer
- afterTest sends killall -2 ffmpeg
- if the afterTest hook is never reached, ffmpeg is never killed, resulting in a ton of processes running—the same number as the number of selenium tests for core.
- The problem of creating a large number of processes without stopping them was exacerbated by the followup patch to run this in a loop :)
We should figure out how to recreate the ffmpeg/afterTest hook failure/chrome crashing issue and try to debug and fix that ideally before we try this again in CI.
There is #5545 where afterTest do not run if the tests timeouts. Going through different issues it seems to be fixed in 8.30 something so it seems the fix do not to work for us (latest for us in 8.40). I think we could be more defensive here and add a check in a after or afterHook hook, and just kill ffmpeg there again. Also we could do some try catch/finally in the current block so that if taking a screenshot fails, we try to kill ffmpeg anyway.
I added https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1139980 to make sure we always try to kill ffmpeg. Then at least we are "safe" in our code.
Change #1146620 had a related patch set uploaded (by Phedenskog; author: Phedenskog):
[mediawiki/core@master] selenium: Pin browser version in CI
Change #1002578 merged by jenkins-bot:
[mediawiki/core@master] selenium: Upgrade WebdriverIO to v8
Change #1146620 merged by jenkins-bot:
[mediawiki/core@master] selenium: Pin browser version in CI