From e4b0d28dbbb0fb786e438afdce7c91c41211c565 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 5 Nov 2026 16:34:34 -0500 Subject: [PATCH 1/3] Build/Test Tools: Update GitHub-hosted runners to Ubuntu 26.04. This updates the GitHub-hosted Ubuntu runners used in GitHub Actions workflows to `ubuntu-26.04`. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_011Y86gzNmrCaBaUCqQTNKYH --- .github/workflows/coding-standards.yml | 2 +- .github/workflows/end-to-end-tests.yml | 2 +- .github/workflows/javascript-tests.yml | 2 +- .github/workflows/php-compatibility.yml | 2 +- .github/workflows/phpunit-tests.yml | 20 ++++++++++---------- .github/workflows/props-bot.yml | 2 +- .github/workflows/pull-request-comments.yml | 6 +++--- .github/workflows/test-build-processes.yml | 8 ++++---- .github/workflows/upgrade-testing.yml | 12 ++++++------ 9 files changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 0dade101dd71e..73460c5226d7b 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -76,7 +76,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ phpcs, jshint, slack-notifications ] diff --git a/.github/workflows/end-to-end-tests.yml b/.github/workflows/end-to-end-tests.yml index 389913f518dc4..d0fbbf11f72b2 100644 --- a/.github/workflows/end-to-end-tests.yml +++ b/.github/workflows/end-to-end-tests.yml @@ -63,7 +63,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ e2e-tests, slack-notifications ] diff --git a/.github/workflows/javascript-tests.yml b/.github/workflows/javascript-tests.yml index b60ba114269cc..b66da1c17960b 100644 --- a/.github/workflows/javascript-tests.yml +++ b/.github/workflows/javascript-tests.yml @@ -66,7 +66,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ slack-notifications ] diff --git a/.github/workflows/php-compatibility.yml b/.github/workflows/php-compatibility.yml index 74a580a46adb3..faee59ea3b74f 100644 --- a/.github/workflows/php-compatibility.yml +++ b/.github/workflows/php-compatibility.yml @@ -62,7 +62,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ slack-notifications ] diff --git a/.github/workflows/phpunit-tests.yml b/.github/workflows/phpunit-tests.yml index 862871dba4069..5cf7bc68faef7 100644 --- a/.github/workflows/phpunit-tests.yml +++ b/.github/workflows/phpunit-tests.yml @@ -41,7 +41,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest ] + os: [ ubuntu-26.04 ] # Test highest and lowest supported version of each major. php: [ '7.2', '7.4', '8.0', '8.4' ] db-type: [ 'mysql' ] @@ -52,14 +52,14 @@ jobs: include: # Include jobs for PHP 7.4 with memcached. - - os: ubuntu-latest + - os: ubuntu-26.04 php: '7.4' db-type: 'mysql' db-version: '5.7' tests-domain: 'example.org' multisite: false memcached: true - - os: ubuntu-latest + - os: ubuntu-26.04 php: '7.4' db-type: 'mysql' db-version: '5.7' @@ -67,14 +67,14 @@ jobs: multisite: true memcached: true # Include jobs with a port on the test domain for both single and multisite. - - os: ubuntu-latest + - os: ubuntu-26.04 php: '7.4' db-type: 'mysql' db-version: '5.7' tests-domain: 'example.org:8889' multisite: false memcached: false - - os: ubuntu-latest + - os: ubuntu-26.04 php: '7.4' db-type: 'mysql' db-version: '5.7' @@ -82,7 +82,7 @@ jobs: multisite: true memcached: false # Report test results to the Host Test Results. - - os: ubuntu-latest + - os: ubuntu-26.04 db-type: 'mysql' db-version: '8.0' tests-domain: 'example.org' @@ -113,7 +113,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest ] + os: [ ubuntu-26.04 ] # Test highest and lowest supported version of each major. php: [ '7.2', '7.4', '8.0', '8.4' ] db-type: [ 'mariadb' ] @@ -123,13 +123,13 @@ jobs: include: # Include jobs for PHP 7.4 with memcached. - - os: ubuntu-latest + - os: ubuntu-26.04 php: '7.4' db-type: 'mariadb' db-version: '10.11' multisite: false memcached: true - - os: ubuntu-latest + - os: ubuntu-26.04 php: '7.4' db-type: 'mariadb' db-version: '10.11' @@ -163,7 +163,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ slack-notifications ] diff --git a/.github/workflows/props-bot.yml b/.github/workflows/props-bot.yml index 548f9023a92e2..019668b2a06a0 100644 --- a/.github/workflows/props-bot.yml +++ b/.github/workflows/props-bot.yml @@ -48,7 +48,7 @@ jobs: # - Removes the props-bot label, if necessary. props-bot: name: Generate a list of props - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: # The action needs permission `write` permission for PRs in order to add a comment. pull-requests: write diff --git a/.github/workflows/pull-request-comments.yml b/.github/workflows/pull-request-comments.yml index 51d87691f769d..dd9e994b26aac 100644 --- a/.github/workflows/pull-request-comments.yml +++ b/.github/workflows/pull-request-comments.yml @@ -22,7 +22,7 @@ permissions: {} jobs: # Comments on a pull request when the author is a first time contributor. post-welcome-message: - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: issues: write pull-requests: write @@ -80,7 +80,7 @@ jobs: # Leaves a comment on a pull request with a link to test the changes in a WordPress Playground instance. playground-details: name: Comment on a pull request with Playground details - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: issues: write pull-requests: write @@ -167,7 +167,7 @@ jobs: # Manages comments reminding contributors to include a Trac ticket link when opening a pull request. trac-ticket-check: name: Manage Trac ticket reminders for pull requests - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: issues: write pull-requests: write diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 9ac24934ed51f..a346c226870e1 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -35,11 +35,11 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest, windows-latest ] + os: [ ubuntu-26.04, windows-latest ] directory: [ 'src', 'build' ] include: # Only prepare artifacts for Playground once. - - os: ubuntu-latest + - os: ubuntu-26.04 directory: 'build' save-build: true prepare-playground: ${{ github.event_name == 'pull_request' && true || '' }} @@ -83,7 +83,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest, windows-latest ] + os: [ ubuntu-26.04, windows-latest ] directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} @@ -132,7 +132,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ slack-notifications ] diff --git a/.github/workflows/upgrade-testing.yml b/.github/workflows/upgrade-testing.yml index 85bd45b5a4eb4..b2f3ac2f1c6ba 100644 --- a/.github/workflows/upgrade-testing.yml +++ b/.github/workflows/upgrade-testing.yml @@ -42,7 +42,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-latest' ] + os: [ 'ubuntu-26.04' ] php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ] db-type: [ 'mysql' ] db-version: [ '5.7', '8.0' ] @@ -65,7 +65,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-latest' ] + os: [ 'ubuntu-26.04' ] php: [ '7.2', '7.3', '7.4' ] db-type: [ 'mysql' ] db-version: [ '5.7', '8.0' ] @@ -92,7 +92,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-latest' ] + os: [ 'ubuntu-26.04' ] php: [ '8.0', '8.1', '8.2', '8.3', '8.4' ] db-type: [ 'mysql' ] db-version: [ '5.7', '8.0' ] @@ -115,7 +115,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-latest' ] + os: [ 'ubuntu-26.04' ] php: [ '7.2', '7.3', '7.4' ] db-type: [ 'mysql' ] db-version: [ '5.7', '8.0' ] @@ -142,7 +142,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-latest' ] + os: [ 'ubuntu-26.04' ] php: [ '8.0', '8.1', '8.2', '8.3', '8.4' ] db-type: [ 'mysql' ] db-version: [ '5.7', '8.0' ] @@ -175,7 +175,7 @@ jobs: failed-workflow: name: Failed workflow tasks - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 permissions: actions: write needs: [ slack-notifications ] From 4da41b0a53630c1f88c2b73966e4dd696484e787 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 5 Nov 2026 16:34:36 -0500 Subject: [PATCH 2/3] Build/Test Tools: Update Playwright to 1.64.1. Update `@playwright/test` from `1.49.1` 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 Claude-Session: https://claude.ai/code/session_011Y86gzNmrCaBaUCqQTNKYH --- package-lock.json | 33 +++++++++++++++------------------ package.json | 2 +- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index a377c2c0a0011..cd7135e728eb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -103,7 +103,7 @@ }, "devDependencies": { "@lodder/grunt-postcss": "^3.1.1", - "@playwright/test": "1.49.1", + "@playwright/test": "1.64.1", "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", "@wordpress/babel-preset-default": "8.8.2", "@wordpress/dependency-extraction-webpack-plugin": "6.8.3", @@ -3733,19 +3733,19 @@ } }, "node_modules/@playwright/test": { - "version": "1.49.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz", - "integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.64.1.tgz", + "integrity": "sha512-IaYGml/nSOiZWROfPtuIL7neuu9qDOZ3TNvNljUIrhDMxiGTgPjzj/g9p9RxpS2tSepPDRY+UwAaEeiKtUvIAg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.49.1" + "playwright": "1.64.1" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { @@ -27340,35 +27340,32 @@ } }, "node_modules/playwright": { - "version": "1.49.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz", - "integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.64.1.tgz", + "integrity": "sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.49.1" + "playwright-core": "1.64.1" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "node": ">=20" } }, "node_modules/playwright-core": { - "version": "1.49.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz", - "integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==", + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.64.1.tgz", + "integrity": "sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==", "dev": true, "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/plur": { diff --git a/package.json b/package.json index 17fde286583f9..af2ea032766cc 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ ], "devDependencies": { "@lodder/grunt-postcss": "^3.1.1", - "@playwright/test": "1.49.1", + "@playwright/test": "1.64.1", "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", "@wordpress/babel-preset-default": "8.8.2", "@wordpress/dependency-extraction-webpack-plugin": "6.8.3", From bd5c59469f08bee99b06f09f4040af30878967a6 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 5 Nov 2026 17:21:07 -0500 Subject: [PATCH 3/3] Build/Test Tools: Pin the Windows and macOS runner versions. This replaces `windows-latest` with `windows-2025` and `macos-latest` with `macos-15`, matching trunk. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_011Y86gzNmrCaBaUCqQTNKYH --- .github/workflows/test-build-processes.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index a346c226870e1..b28172dc18259 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -35,7 +35,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-26.04, windows-latest ] + os: [ ubuntu-26.04, windows-2025 ] directory: [ 'src', 'build' ] include: # Only prepare artifacts for Playground once. @@ -67,7 +67,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ macos-latest ] + os: [ macos-15 ] directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} @@ -83,7 +83,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-26.04, windows-latest ] + os: [ ubuntu-26.04, windows-2025 ] directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} @@ -107,7 +107,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ macos-latest ] + os: [ macos-15 ] directory: [ 'src', 'build' ] with: os: ${{ matrix.os }}