Skip to content

chore(ci): remove unused Xvfb from E2E test runner - #5188

Merged
openshift-merge-bot[bot] merged 2 commits into
redhat-developer:mainfrom
zdrapela:chore/remove-ci-xvfb
Jul 29, 2026
Merged

chore(ci): remove unused Xvfb from E2E test runner#5188
openshift-merge-bot[bot] merged 2 commits into
redhat-developer:mainfrom
zdrapela:chore/remove-ci-xvfb

Conversation

@zdrapela

@zdrapela zdrapela commented Jul 29, 2026

Copy link
Copy Markdown
Member

Summary

  • Stop starting/stopping Xvfb and exporting DISPLAY in testing::run_tests — Playwright runs headless in CI and does not need a virtual display.

Scope limited to .ci/pipelines/lib/testing.sh (Dockerfile X11 env vars left unchanged for now).

Jira: RHIDP-15894

Test plan

  • An e2e job that runs testing::run_tests (e.g. pull-ci-*-e2e-ocp-helm) reaches Playwright successfully
  • Job log has no _XSERVTransmkdir / xkbcomp XF86* warnings
  • No Missing X server / DISPLAY browser launch errors

Playwright runs headless in CI, so the virtual display and X11
MIT-SHM env vars only added log noise with no functional value.
@openshift-ci
openshift-ci Bot requested review from josephca and kadel July 29, 2026 06:43
@rhdh-qodo-merge

Copy link
Copy Markdown

PR Summary by Qodo

Remove unused Xvfb from the E2E test runner

⚙️ Configuration changes 🕐 Less than 5 minutes

Grey Divider

AI Description

• Removes unused Xvfb startup and cleanup from headless Playwright E2E execution.
• Drops obsolete X11 MIT-SHM variables from the E2E runner image.
• Eliminates X server warnings without changing test behavior.
Diagram

graph TD
  Image["E2E Runner Image"] -->|provides environment| Runner["Test Runner"] -->|launches headless| Browser["Playwright Chromium"] -->|writes| Artifacts["Test Artifacts"]
Loading
High-Level Assessment

The direct headless Playwright path is optimal because CI does not require an X server. Retaining Xvfb conditionally would preserve unnecessary process management and warning noise without supporting a current test mode.

Files changed (2) +0 / -8

Other (2) +0 / -8
DockerfileRemove obsolete X11 shared-memory environment variables +0/-3

Remove obsolete X11 shared-memory environment variables

• Removes three MIT-SHM environment variables that were only relevant to the retired virtual X display. The E2E image retains its existing CI, tooling, and version configuration.

.ci/images/Dockerfile

testing.shRun Playwright without managing Xvfb +0/-5

Run Playwright without managing Xvfb

• Removes Xvfb startup, DISPLAY export, and process cleanup from testing::run_tests. Playwright now runs directly in its existing headless CI mode while preserving result and artifact handling.

.ci/pipelines/lib/testing.sh

@rhdh-qodo-merge

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.96%. Comparing base (6bcb014) to head (df66905).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5188      +/-   ##
==========================================
- Coverage   63.69%   59.96%   -3.74%     
==========================================
  Files         123      111      -12     
  Lines        2424     2198     -226     
  Branches      573      527      -46     
==========================================
- Hits         1544     1318     -226     
- Misses        878      879       +1     
+ Partials        2        1       -1     
Flag Coverage Δ
rhdh 59.96% <ø> (-3.74%) ⬇️
Components Coverage Δ
Backend plugins ∅ <ø> (∅)
Backend app 66.66% <ø> (ø)
Frontend app 58.89% <ø> (ø)
Plugin utils ∅ <ø> (∅)
Dynamic plugins utils ∅ <ø> (∅)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6bcb014...df66905. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

Narrow RHIDP-15894 / PR scope to testing.sh only for now.
@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@sonarqubecloud

Copy link
Copy Markdown

@zdrapela

zdrapela commented Jul 29, 2026

Copy link
Copy Markdown
Member Author

/cherry-pick release-1.10

@openshift-cherrypick-robot

Copy link
Copy Markdown
Contributor

@zdrapela: once the present PR merges, I will cherry-pick it on top of release in a new PR and assign it to you.

Details

In response to this:

/cherry-pick release 1.10

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@zdrapela

Copy link
Copy Markdown
Member Author

/cherry-pick release-1.10

@openshift-cherrypick-robot

Copy link
Copy Markdown
Contributor

@zdrapela: once the present PR merges, I will cherry-pick it on top of release-1.10 in a new PR and assign it to you.

Details

In response to this:

/cherry-pick release-1.10

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci openshift-ci Bot added the lgtm label Jul 29, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit ddfe8d0 into redhat-developer:main Jul 29, 2026
17 checks passed
@openshift-cherrypick-robot

Copy link
Copy Markdown
Contributor

@zdrapela: #5188 failed to apply on top of branch "release-1.10":

Applying: chore(ci): remove unused Xvfb from E2E test runner
Using index info to reconstruct a base tree...
M	.ci/images/Dockerfile
M	.ci/pipelines/lib/testing.sh
Falling back to patching base and 3-way merge...
Auto-merging .ci/images/Dockerfile
Auto-merging .ci/pipelines/lib/testing.sh
CONFLICT (content): Merge conflict in .ci/pipelines/lib/testing.sh
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 chore(ci): remove unused Xvfb from E2E test runner

Details

In response to this:

/cherry-pick release-1.10

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants