Skip to content

NO-JIRA: fix(ci): build Playwright browser-tests image on rhoai-3.4 - #2744

Merged
jiridanek merged 1 commit into
rhoai-3.4from
fix/rhoai-3.4-playwright-browser-tests-image
Aug 13, 2026
Merged

NO-JIRA: fix(ci): build Playwright browser-tests image on rhoai-3.4#2744
jiridanek merged 1 commit into
rhoai-3.4from
fix/rhoai-3.4-playwright-browser-tests-image

Conversation

@jiridanek

@jiridanek jiridanek commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

  • Backport the missing Build browser tests image step from opendatahub-io/notebooks#4096 / rhoai-3.5 into rhoai-3.4's build-notebooks-TEMPLATE.yaml.
  • Pass playwright-image (and junit-artifact-file) into the composite action that already requires it after PR #2545.
  • Fixes the codeserver CI failure seen on PR #2699: empty PLAYWRIGHT_IMAGEpodman inspect ''json: cannot unmarshal array into Go value of type define.InspectContainerData.

Test plan

  • Codeserver GHA jobs build localhost/workbench-images-tests:ci before Playwright
  • Playwright verify step no longer hits Podman unmarshalling error
  • Non-codeserver targets unchanged (browser-tests-image step is gated on codeserver)

Made with Cursor

Summary by CodeRabbit

  • Tests
    • Improved browser test execution reliability by validating the required test environment before running tests.
    • Added automated JUnit test results alongside existing reports, making test outcomes easier to review and troubleshoot.
    • Standardized browser testing across codeserver builds using the detected Playwright version.

Backport the browser-tests-image step from opendatahub-io#4096 so
codeserver Playwright runs pass the required playwright-image input. Without
it PLAYWRIGHT_IMAGE is empty and podman inspect fails with a Go JSON
unmarshalling error.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

Superseded by newer run: https://github.com/red-hat-data-services/notebooks/actions/runs/31591554770

CI status [antigravity]

Run: Build Notebooks (push) #315915430463/3 complete · 3 skipped
Last updated: 2026-08-12T11:22:43Z

No workbench image jobs ran; all matrix jobs were skipped.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Repository UI (inherited), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: d5b49873-1cbd-4953-b480-a89b6f9e86ef

📥 Commits

Reviewing files that changed from the base of the PR and between 7b0cd0e and e070627.

📒 Files selected for processing (1)
  • .github/workflows/build-notebooks-TEMPLATE.yaml

📝 Walkthrough

Walkthrough

The workflow builds a dedicated Playwright image for successful codeserver builds. Playwright tests use the generated image and upload a platform- and build-type-specific JUnit artifact.

Changes

Playwright workflow

Layer / File(s) Summary
Build Playwright test image
.github/workflows/build-notebooks-TEMPLATE.yaml
The workflow derives the Playwright version, builds tests/browser/Dockerfile, tags the local image, and exports its reference.
Run tests with image and JUnit output
.github/workflows/build-notebooks-TEMPLATE.yaml
Playwright execution requires the image build, passes the image to the test action, and configures the JUnit artifact filename.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: lgtm

Suggested reviewers: ysok

🚥 Pre-merge checks | ✅ 5 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Branch Prefix Policy ⚠️ Warning Base branch is rhoai-3.4, but the PR title is "NO-JIRA: fix(ci): build Playwright browser-tests image on rhoai-3.4" and lacks the required prefix. Rename the PR title to start with "[rhoai-3.4] ", for example: "[rhoai-3.4] NO-JIRA: fix(ci): build Playwright browser-tests image".
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses imperative mood, includes NO-JIRA, follows the preferred format, and accurately describes the CI change.
Description check ✅ Passed The description clearly explains the change and provides a relevant test plan, but it does not reproduce or complete the template checklists.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/rhoai-3.4-playwright-browser-tests-image
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch fix/rhoai-3.4-playwright-browser-tests-image

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

CI status [antigravity]

Run: Build Notebooks (pr) #315915547703/3 complete · 1 passed · 2 skipped
Last updated: 2026-08-12T11:23:46Z

No workbench image jobs ran; all matrix jobs were skipped.

@github-actions

Copy link
Copy Markdown

📋 Review Summary

This PR cleanly backports the Build browser tests image step and Playwright test parameters into rhoai-3.4's workflow template, resolving the empty PLAYWRIGHT_IMAGE podman unmarshalling issue for codeserver builds. The changes are correct, follow established patterns from upstream/other branches, and require no additional inline comments.

🔍 General Feedback

  • The backport correctly targets codeserver builds and leverages the version detection script appropriately.
  • Passing playwright-image and junit-artifact-file ensures consistent behavior with upstream PRs.

I did not post inline review comments.

@jiridanek jiridanek left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai review summary

Overview: Faithful backport of the Build browser tests image step from rhoai-3.5/upstream opendatahub-io/notebooks#4096 into rhoai-3.4's build-notebooks-TEMPLATE.yaml, plus wiring playwright-image (now required: true on the composite action since #2545) and junit-artifact-file into the playwright-test action call.

Verification performed

  • Diffed the new block line-by-line against the equivalent section in rhoai-3.5's build-notebooks-TEMPLATE.yaml — byte-identical aside from extra explanatory comments justifying the backport.
  • Confirmed scripts/get_playwright_version.py and tests/browser/Dockerfile exist on this branch.
  • Confirmed .github/actions/playwright-test/action.yml requires playwright-image and consumes junit-artifact-file — both are now supplied, matching the described podman inspect '' failure mode this PR fixes.
  • Checked for id: collisions in the file — browser-tests-image is unique.
  • CI: Test Template with Minimal Notebook / rhoai passed (12m26s); no failing checks. tide is blocked only on the approved label (process gate, not a code issue).

Verdict: Clean, minimal, correct backport. No correctness, security, or convention issues found. See inline notes below for confirmation points (informational only, no changes requested).

# Backport of opendatahub-io/notebooks#4096: playwright-test requires playwright-image;
# without this step PLAYWRIGHT_IMAGE is empty and `podman inspect ''` fails with
# "json: cannot unmarshal array into Go value of type define.InspectContainerData".
- name: Build browser tests image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed: this step's build invocation (podman build --build-arg PLAYWRIGHT_VERSION=... -t localhost/workbench-images-tests:ci -f tests/browser/Dockerfile tests/browser) matches build-browser-tests.yaml and the equivalent step in rhoai-3.5's template byte-for-byte. scripts/get_playwright_version.py and tests/browser/Dockerfile both exist on this branch.

echo "image=${IMAGE}" >> "$GITHUB_OUTPUT"

- name: Run Playwright tests
if: ${{ !cancelled() && contains(inputs.target, 'codeserver') && steps.make-target.outcome == 'success' && steps.browser-tests-image.outcome == 'success' }}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good belt-and-suspenders guard: gating on steps.browser-tests-image.outcome == 'success' in addition to the existing contains(inputs.target, 'codeserver') check ensures Run Playwright tests never executes with an empty playwright-image — which was the root cause of the podman inspect '' failure this PR fixes.

uses: ./.github/actions/playwright-test
with:
test-target: ${{ steps.calculated_vars.outputs.OUTPUT_IMAGE }}
playwright-image: ${{ steps.browser-tests-image.outputs.image }}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified: playwright-image is required: true on .github/actions/playwright-test/action.yml since #2545, so this input was indeed missing before this fix. No other callers of this composite action in the repo were left unpatched (checked).

@ide-developer ide-developer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@openshift-ci

openshift-ci Bot commented Aug 13, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ide-developer
Once this PR has been reviewed and has the lgtm label, please assign atheo89 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jiridanek
jiridanek merged commit ed6eb51 into rhoai-3.4 Aug 13, 2026
132 of 151 checks passed
@jiridanek
jiridanek deleted the fix/rhoai-3.4-playwright-browser-tests-image branch August 13, 2026 21:31
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.

2 participants