Page MenuHomePhabricator

Setup/teardown xvfb in NodeJS to remove dependency of Docker start script
Open, Needs TriagePublic

Description

Today there's a problem that XVFB is setup in our Docker container (with the screen size) and then ffmpeg use that screen size in our webdriver.io setup. That makes it hard to change the actual screen size.

A way forward would be:

  • Start XVFB in NodeJS with a new screen size, export the DISPLAY for the new number.
  • Let FFMPEG use the new screens size
  • Stop xvfb on the NodeJS container

That way of doing it is implement in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1147173, so we could break out that functionality to an own change and then in the long term remove the extra xvfb in Docker.

WebdriverIO 9 has support for starting XVFB internally so we could look into how that works.

However we should wait with this task until T409392 is done.

We need to check how Cypress handle the screen before we remove XVFB in the container though.

Acceptance Criteria:

  • Create a change that setup and teardown XVFB in NodeJS
  • Create a follow up task to check how it works for Cypress, so that later on removing starting XVFB from the container do not break

Event Timeline

Peter renamed this task from Setup/teardown xvfb in NodeJS to remove dependency of Dock to Setup/teardown xvfb in NodeJS to remove dependency of Docker start script.Nov 4 2025, 8:55 AM