Update dependency @playwright/test to v1.62.0 - #198
Conversation
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe pull request updates the ChangesPlaywright dependency update
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Line 55: Update the image reference in .devcontainer/Dockerfile.plugin from
the ambiguous TypeScript Node 24 tag to an explicitly supported Debian variant,
using either 24-bookworm or 24-trixie.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 494797dd-62ef-4e13-abfd-45916c5158a7
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.json
📒 Files selected for processing (1)
package.json
| }, | ||
| "devDependencies": { | ||
| "@playwright/test": "1.61.1", | ||
| "@playwright/test": "1.62.0", |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
files="$(fd -HI -t f . | rg '(^|/)(Dockerfile[^/]*|[^/]+\.(ya?ml|json|toml|ini|cfg|md))$' || true)"
if [ -n "$files" ]; then
printf '%s\0' "$files" | xargs -0 rg -n -i -C2 'debian[ :/-]?11|bullseye' || true
fiRepository: openshift/lightspeed-agentic-console
Length of output: 204
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '--- relevant files ---'
git ls-files | rg '(^|/)(Dockerfile[^/]*|[^/]+\.(ya?ml|json|toml|ini|cfg|md)|package-lock\.json|npm-shrinkwrap\.json|yarn\.lock|pnpm-lock\.yaml)$' | head -200
echo '--- Debian 11 and Bullseye references ---'
python3 - <<'PY'
import pathlib, re
pat = re.compile(r'debian[ :/_-]?11|bullseye', re.I)
for p in pathlib.Path('.').rglob('*'):
if not p.is_file() or '.git' in p.parts:
continue
name = p.name
if not (name.startswith('Dockerfile') or re.search(r'\.(ya?ml|json|toml|ini|cfg|md)$', name, re.I)
or name in {'package-lock.json', 'npm-shrinkwrap.json', 'yarn.lock', 'pnpm-lock.yaml'}):
continue
try:
text = p.read_text(errors='replace')
except OSError:
continue
for i, line in enumerate(text.splitlines(), 1):
if pat.search(line):
print(f'{p}:{i}:{line}')
PY
echo '--- Playwright declarations and lockfile resolutions ---'
rg -n -i -C2 '`@playwright/test`|playwright' --glob 'package.json' --glob 'package-lock.json' --glob 'npm-shrinkwrap.json' --glob 'yarn.lock' --glob 'pnpm-lock.yaml' . || trueRepository: openshift/lightspeed-agentic-console
Length of output: 16581
🏁 Script executed:
#!/bin/bash
set -euo pipefail
for f in Dockerfile .devcontainer/Dockerfile.console .devcontainer/Dockerfile.plugin .devcontainer/devcontainer.json .devcontainer/docker-compose.yml .tekton/integration-tests/lightspeed-agentic-console-pre-commit.yaml .tekton/lightspeed-agentic-console-pull-request.yaml .tekton/lightspeed-agentic-console-push.yaml package.json package-lock.json; do
if [ -f "$f" ]; then
echo "--- $f ---"
sed -n '1,220p' "$f"
fi
done
echo '--- all tracked CI and container references ---'
git ls-files | rg '(^|/)(Dockerfile[^/]*|\.github/|\.tekton/|.*(container|compose|runner).*\.(ya?ml|json|toml|cfg|md)$)' | while IFS= read -r f; do
echo "--- $f ---"
rg -n -i 'image:|FROM |container|runner|playwright|debian|ubuntu|rhel|ubi|fedora|node:' "$f" || true
doneRepository: openshift/lightspeed-agentic-console
Length of output: 41584
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '--- tracked Playwright and test-runner references ---'
git grep -n -i -E 'playwright|test-e2e|npx playwright|image: .*playwright|Dockerfile' -- \
':(exclude)node_modules' || true
echo '--- exact CI test image and executed commands ---'
sed -n '55,100p' .tekton/integration-tests/lightspeed-agentic-console-pre-commit.yaml
echo '--- tracked container image references ---'
git grep -n -E '^[[:space:]]*(FROM|image:)' -- \
':(exclude)node_modules' || trueRepository: openshift/lightspeed-agentic-console
Length of output: 8446
🌐 Web query:
mcr.microsoft.com/vscode/devcontainers/typescript-node:24 base image Debian version
💡 Result:
The mcr.microsoft.com/devcontainers/typescript-node:24 image is a multi-variant image that supports several Debian versions [1][2][3]. You can specify the base Debian version by using the appropriate tag suffix [1][2]. The supported Debian variants for the:24 image tag include [1][2][3]: - 24-trixie (Debian 13) [1][4][3] - 24-bookworm (Debian 12) [1][5][4][3] - 24-bullseye (Debian 11) [1][5][4][3] If you use the base tag:24 without a suffix, it typically defaults to one of these versions (often bookworm, depending on the current manifest configuration) [1][2][6]. To ensure you are using a specific Debian distribution, it is recommended to use the explicit tags such as:24-bookworm or:24-trixie [1][2][7].
Citations:
- 1: https://github.com/devcontainers/images/tree/main/src/typescript-node
- 2: https://hub.docker.com/r/microsoft/devcontainers-typescript-node
- 3: https://hub.docker.com/r/microsoft/devcontainers
- 4: https://deepwiki.com/devcontainers/images/2.2.2-javascript-and-typescript
- 5: https://github.com/devcontainers/images/blob/84a5cfc2/src/typescript-node/history/dev.md
- 6: Support: typescript-node 24 devcontainers/images#1447
- 7: https://hub.docker.com/r/microsoft/devcontainers-javascript-node
🌐 Web query:
quay.io/openshift/origin-console:latest base image operating system
💡 Result:
The base image for quay.io/openshift/origin-console has evolved over time in alignment with OpenShift releases, moving from legacy base images to modern RHEL-based images. In recent versions of the project, such as those corresponding to later OpenShift 4.x releases, the Dockerfile uses a base image derived from RHEL, typically referenced in the build process as a Red Hat Enterprise Linux (RHEL) base layer (e.g., base-rhel9) [1]. Historically, the project used images such as openshift/origin-base [2][3][4][5] or openshift3/ose-console [6]. These images were part of the Red Hat and OpenShift ecosystem, built upon Red Hat Enterprise Linux (RHEL). For example, metadata for older versions has explicitly referenced EL8 (Enterprise Linux 8) [6]. Because the:latest tag is continuously updated to track the current development or release branch of the OpenShift console, its exact base image depends on the specific version of OpenShift it is tracking at the time of pull [7][1]. You can verify the specific base image and OS for a particular tag by inspecting the image metadata using the following command [6]: docker inspect quay.io/openshift/origin-console:latest --format '{{ json.Config.Labels }}' | jq This will reveal labels such as the version and vendor, which confirm it is a Red Hat-provided container image [6].
Citations:
- 1: https://github.com/openshift/console/blob/0a0705cb88f879097ffa8e3bc45ce1124e807e1a/Dockerfile
- 2: https://github.com/openshift/console/blob/ecd65715db27e1398aa4e31900bbb27b1902f38f/Dockerfile
- 3: Dockerfile changes for OpenShift console#125
- 4: [DO NOT MERGE] Use openshift/origin-base image console#110
- 5: https://github.com/openshift/console/blob/ae59aa0bfef506a4eaca8f9c499e8d6b8b192933/Dockerfile
- 6: feature: add opencontainers label to the quay.io/openshift/origin-console docker image console#12215
- 7: https://www.github.com/openshift/console
Pin the devcontainer to a supported Debian variant.
.devcontainer/Dockerfile.plugin uses the variant-ambiguous mcr.microsoft.com/vscode/devcontainers/typescript-node:24 tag. Pin it to 24-bookworm or 24-trixie because the image family also provides the unsupported 24-bullseye variant.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` at line 55, Update the image reference in
.devcontainer/Dockerfile.plugin from the ambiguous TypeScript Node 24 tag to an
explicitly supported Debian variant, using either 24-bookworm or 24-trixie.
This PR contains the following updates:
1.61.1→1.62.0Release Notes
microsoft/playwright (@playwright/test)
v1.62.0Compare Source
🧱 New component testing model
Component testing moves to a stories and galleries model.
A story wraps your component in one specific scenario — hard-coded props, mock data, providers — and a gallery page that you serve renders stories on demand.
The new fixtures.mount() fixture navigates to the gallery, mounts a story by id, and returns a Locator scoped to the story's root element:
Pass a story type as a template argument to type-check its props, and use
update(props)/unmount()on the returned locator to re-render or tear down within a test.🛑 Cancel operations with AbortSignal
Most operations and web-first assertions now accept a
signaloption that takes anAbortSignal, letting you cancel long-running actions, navigations, waits, and assertions:Providing a signal does not disable the default timeout; pass
timeout: 0to disable it.🖼️ WebP screenshots
expect(page).toHaveScreenshot() and expect(locator).toHaveScreenshot() can now store snapshots in the WebP format — just give the snapshot a
.webpname:page.screenshot() and [locator.screenshot() (https://playwright.dev/docs/api/class-locator#locator-screenshot) also accept
webpas atype, where quality100(the default) is lossless and lower values use lossy compression.🧩 Custom test filtering with Reporter.preprocess()
New reporter.preprocess() hook runs after the configuration is resolved and before reporter.onBegin(), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a TestRun object:
🔁 Isolated retries
New testConfig.retryStrategy controls when failed tests are retried.
The default
'immediate'retries as soon as a worker is free;'isolated'runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite:New APIs
Browser and Context
credentialsincludes the context's virtual WebAuthn Credentials (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts.Actions
scrolloption ("auto"|"none") on actions to opt out of Playwright's automatic scroll-into-view.Network
Evaluation
Command line & MCP
playwright-cli, runnable vianpx playwright mcpandnpx playwright cli.Reporters
mergeFilesreporter option:Announcements
Browser Versions
This version was also tested against the following stable channels:
Configuration
📅 Schedule: (in timezone UTC)
* * * * *)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
To execute skipped test pipelines write comment
/ok-to-test.Documentation
Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.