Skip to content

Build/Test Tools: Update runners to Ubuntu 26.04 and Playwright to 1.64.1 in the 7.0 branch. - #15565

Open
desrosj wants to merge 2 commits into
WordPress:7.0from
desrosj:update-runners-ubuntu-26.04-7.0
Open

desrosj wants to merge 2 commits into
WordPress:7.0from
desrosj:update-runners-ubuntu-26.04-7.0

Conversation

@desrosj

@desrosj desrosj commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Backport of the runner update in #15518 to the 7.0 branch.

Changes

  • Changes the GitHub-hosted Ubuntu runners used by this branch's workflows from ubuntu-24.04 to ubuntu-26.04, matching trunk. GitHub is moving ubuntu-latest from 24.04 to 26.04 between 2026-10-19 and 2026-11-19.
  • Adds .github/actionlint.yaml registering the ubuntu-26.04 label. The pinned actionlint version (1.7.11) does not recognize it yet and would fail with label "ubuntu-26.04" is unknown. This can be removed once actionlint is updated.
  • Updates @playwright/test from 1.58.2 to 1.64.1, matching trunk. This update is required on this branch. Playwright 1.50.0–1.60.x fail on Ubuntu 26.04 with ERROR: Playwright does not support chromium on ubuntu26.04-x64, and 1.61.0 is the first version that supports it. This branch's E2E and performance tests run through reusable workflows from trunk, so they break as soon as trunk's reusable workflows move to 26.04 (Build/Test Tools: Update GitHub-hosted runners to Ubuntu 26.04 #15518).

The Playwright changes are in their own commit so they can be reviewed separately.

Playwright 1.58.2 → 1.64.1 review

  • Lockfile: only @playwright/test, playwright and playwright-core change, each to 1.64.1. There are no nested or duplicate copies.
  • Test discovery: playwright test --list output is identical before and after: e2e 25, performance 720, visual-regression 22.
  • API changes: none of the removed or changed APIs in the 1.59–1.64 release notes are used by the tests, configs, @wordpress/scripts, or @wordpress/e2e-test-utils-playwright 1.42.0.
  • Requirements: 1.64.1 requires Node >=20, and this branch uses Node 20.
  • Visual changes: 1.64 forwards the 1920×1080 screen from devices['Desktop Chrome'] in the @wordpress/scripts base config, and 1.57 switched Chromium to Chrome for Testing builds. Either could change toHaveScreenshot output, but the visual regression suite isn't run in CI and has no committed baselines. If the old screen behaviour is needed, add screen: undefined to the config's use.

Trac ticket: Core-66499

Use of AI Tools

Claude Code (Claude Opus 5.5) made these changes, reviewed the Playwright update, ran the fork-based test runs, and drafted this description. Draft PRs should be considered unverified and unreviewed by a human.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

⚠️ PHPStan Static Analysis

PHPStan reported 2 errors when analyzing 0c7232b (workflow run). This comment is updated as new commits are pushed.

Errors

These are also shown as annotations on the changed files. They do not fail the check, but they should still be fixed before the pull request is committed. An error that is a false positive may instead warrant being added to a baseline.

Location Error Identifier First reported
src/wp-admin/load-scripts.php:68 Function get_file not found. function.notFound fc0470e
src/wp-admin/load-styles.php:83 Function get_file not found. function.notFound fc0470e

Running PHPStan locally

To run the analysis on your own machine, use npm run typecheck:php, or composer phpstan outside the Docker environment.

@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

@desrosj desrosj moved this from Backlog to In progress in WordPress Project Build Tooling Nov 5, 2026
@desrosj desrosj self-assigned this Nov 5, 2026
@desrosj
desrosj marked this pull request as ready for review November 5, 2026 22:24
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs.

Core Committers: Use this line as a base for the props when committing in SVN:

Props desrosj.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.


Props Bot commands

You can trigger Props Bot actions by commenting on this PR:

  • @propsbot add <username> to give props to a GitHub user. Requires write access.
  • @propsbot remove <username> to leave a user out of the props. Requires write access.
  • @propsbot refresh to refresh this list. Adding the props-bot label works too.

@desrosj desrosj moved this from In progress to In review in WordPress Project Build Tooling Nov 5, 2026
@desrosj
desrosj requested a review from a team November 5, 2026 23:01
desrosj and others added 2 commits November 5, 2026 21:37
This updates the GitHub-hosted Ubuntu runners used in GitHub Actions workflows to `ubuntu-26.04`.

The pinned version of actionlint does not recognize the new label yet, so it is registered in `.github/actionlint.yaml` for the time being.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Y86gzNmrCaBaUCqQTNKYH
Update `@playwright/test` from `1.58.2` to `1.64.1`, along with its `playwright` and `playwright-core` dependencies. Playwright 1.61.0 is the first version that supports Ubuntu 26.04.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Y86gzNmrCaBaUCqQTNKYH
@desrosj
desrosj force-pushed the update-runners-ubuntu-26.04-7.0 branch from fc0470e to 0c7232b Compare November 6, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

1 participant