Skip to content

Update dependency @playwright/test to v1.62.0 - #198

Open
red-hat-konflux[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/test
Open

Update dependency @playwright/test to v1.62.0#198
red-hat-konflux[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/test

Conversation

@red-hat-konflux

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@playwright/test (source) 1.61.11.62.0 age confidence

Release Notes

microsoft/playwright (@​playwright/test)

v1.62.0

Compare 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:

test('click should expand', async ({ mount }) => {
  const component = await mount('components/Expandable/Stateful');
  await component.getByRole('button').click();
  await expect(component.getByTestId('expanded')).toHaveValue('true');
});

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 signal option that takes an AbortSignal, letting you cancel long-running actions, navigations, waits, and assertions:

const controller = new AbortController();
setTimeout(() => controller.abort(), 1000);

await page.getByRole('button', { name: 'Submit' }).click({ signal: controller.signal });
await expect(page.getByText('Done')).toBeVisible({ signal: controller.signal });

Providing a signal does not disable the default timeout; pass timeout: 0 to disable it.

🖼️ WebP screenshots

expect(page).toHaveScreenshot() and expect(locator).toHaveScreenshot() can now store snapshots in the WebP format — just give the snapshot a .webp name:

// Visual comparisons store the golden snapshot as lossless WebP.
await expect(page).toHaveScreenshot('homepage.webp');

// Standalone screenshots can trade quality for size with lossy WebP.
await page.screenshot({ path: 'homepage.webp', quality: 50 });

page.screenshot() and [locator.screenshot() (https://playwright.dev/docs/api/class-locator#locator-screenshot) also accept webp as a type, where quality 100 (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:

class MyReporter {
  async preprocess({ config, suite, testRun }) {
    for (const test of suite.allTests()) {
      if (shouldSkip(test))
        testRun.skip(test);
    }
  }
}

🔁 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:

// playwright.config.ts
export default defineConfig({
  retries: 2,
  retryStrategy: 'isolated',
});

New APIs

Browser and Context
  • New option credentials includes the context's virtual WebAuthn Credentials (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts.
Actions
  • New scroll option ("auto" | "none") on actions to opt out of Playwright's automatic scroll-into-view.
Network
Evaluation
Command line & MCP
Reporters
  • The HTML report's Merge files grouping — previously only a UI toggle — can now be enabled from the config with the new mergeFiles reporter option:
// playwright.config.ts
export default defineConfig({
  reporter: [['html', { mergeFiles: true }]],
});

Announcements

  • ⚠️ Debian 11 is not supported anymore.

Browser Versions

  • Chromium 151.0.7922.34
  • Mozilla Firefox 153.0
  • WebKit 26.5

This version was also tested against the following stable channels:

  • Google Chrome 151
  • Microsoft Edge 151

Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • Every minute (* * * * *)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

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.

Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated the Playwright testing tool to version 1.62.0.

Walkthrough

The pull request updates the @playwright/test development dependency from 1.61.1 to 1.62.0.

Changes

Playwright dependency update

Layer / File(s) Summary
Update Playwright test dependency
package.json
The @playwright/test development dependency changes from 1.61.1 to 1.62.0.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the dependency update from the changeset.
Description check ✅ Passed The description directly explains the @playwright/test version update and summarizes its release changes.
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.

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

@openshift-ci
openshift-ci Bot requested review from harche and raptorsun August 8, 2026 00:07
@openshift-ci

openshift-ci Bot commented Aug 8, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kyoto 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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 2202f72 and a2e517f.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json, !**/package-lock.json
📒 Files selected for processing (1)
  • package.json

Comment thread package.json
},
"devDependencies": {
"@playwright/test": "1.61.1",
"@playwright/test": "1.62.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 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
fi

Repository: 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' . || true

Repository: 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
done

Repository: 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' || true

Repository: 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:


🌐 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:


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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants