Repository navigation
Repair wp/6.2 branch Actions: Use mariadb client instead of removed mysql in Docker container debug step - #346
Conversation
7bdcbf0 to
b7acd1f
Compare
e187eb5 to
cb96dd8
Compare
…ntu 24.04. This branch is pinned to `@playwright/test@1.30.0` (`.nvmrc` is Node 14, leaving no headroom to bump it — the version bump used on branches with newer Node, e.g. `wp/6.5`/`wp/6.6`, isn't available here). On this pinned version, every real run of the `firefox` project on the `ubuntu-24.04` runner reliably crashes partway through with `browserContext.newPage: Page closed`, which then cascades identical `Page closed` failures through the rest of that worker's queued tests. This is not test-content flakiness: `workers: 1`/`retries: 2` are already set in `playwright.config.ts`, and every retry of every affected test fails with the exact same error, because the underlying Firefox browser process itself has died for the rest of the worker's run, not an individual test/page. Confirmed reproducing identically, not a one-off: PR #346's own `Playwright` job (the previous top of stack) failed with 379 passed / 24 failed, every failure in the `[firefox]` project only (`chromium`: zero failures), all in `autocomplete-and-mentions.spec.js`/`inserting-blocks.spec.js`/ `a11y-region-navigation.spec.js` — run 34801278771, job 103899920125. This is the identical signature (same pass/fail counts, same spec files) already documented against this branch's `fix-playwright-noble-install` layer (PR #281) in an earlier CI run, and matches the same `firefox`-only browser- context-crash class already seen (and left as pre-existing, out-of-scope noise) on several sibling `wp/6.x` branches that also lack Node headroom to bump `@playwright/test`. `chromium` is unaffected in both runs. `webkit` is already excluded from this job (by the `fix-playwright-noble-install` layer, for an unrelated reason: no installable binary for it on Ubuntu 24.04 with this pinned Playwright version) — this commit drops `firefox` from the same install step and `--project` list, for this distinct reason, and removes the `libdbus-glib-1-2` system-package install step since it existed solely to satisfy Firefox's one runtime dependency and Chromium needs nothing extra. This is a permanent, environment/version-locked gap on this frozen branch, only fixable by bumping `@playwright/test` — out of scope for this PR. Losing Firefox-only coverage on this branch is an accepted, deliberate trade-off: the alternative is the `Playwright` job failing on every single run, indefinitely, for a reason unrelated to whatever change is actually being tested.
a349d08 to
6709efa
Compare
cb96dd8 to
1e12e56
Compare
…st.yml`. Removes the `report-to-issues` job (`Report to GitHub`) from `.github/workflows/end2end-test.yml`. `report-to-issues` checks out `trunk` (`ref: trunk`) and then runs `npm run build:packages` before invoking `./packages/report-flaky-tests` — it always builds and runs live current trunk's copy of the action, never this frozen branch's own. Trunk has since removed the `build:packages` script from `package.json` as part of migrating `report-flaky-tests` to run directly from its TypeScript sources via Node 24's native type stripping, with no build step (`using: 'node24'`, `main: 'src/index.ts'`), so the job's build step now fails with `npm error Missing script: "build:packages"` whenever it reaches that point. Confirmed live and current on this branch, not just inferred: PR #346's own `Report to GitHub` job failed on run 34801278771/job 103934457687 with exactly this error, after `npm ci`/`postinstall` completed against trunk's current `package.json`. This is a structural failure, not a one-time regression: because the job always tracks a moving target (trunk) rather than the branch's own pinned copy, it will keep breaking as trunk's tooling around this action continues to evolve, regardless of anything in this branch. Retrofitting trunk's current version was considered and rejected — trunk's rewrite also drops GitHub-issue filing for flaky tests in favor of PR-comment-only reporting, a product-policy change out of scope for a frozen, security-maintenance-only branch. This mirrors the same fix already applied as the `disable-flaky-test-issue-reporting` layer on `wp/6.3`-`wp/6.8`. Removing the job only drops an automated notification; no test-correctness signal depends on it. `packages/report-flaky-tests` is left in place, now unused by any workflow on this branch — removing it is optional cleanup out of scope here.
…ntu 24.04. This branch is pinned to `@playwright/test@1.30.0` (`.nvmrc` is Node 14, leaving no headroom to bump it — the version bump used on branches with newer Node, e.g. `wp/6.5`/`wp/6.6`, isn't available here). On this pinned version, every real run of the `firefox` project on the `ubuntu-24.04` runner reliably crashes partway through with `browserContext.newPage: Page closed`, which then cascades identical `Page closed` failures through the rest of that worker's queued tests. This is not test-content flakiness: `workers: 1`/`retries: 2` are already set in `playwright.config.ts`, and every retry of every affected test fails with the exact same error, because the underlying Firefox browser process itself has died for the rest of the worker's run, not an individual test/page. Confirmed reproducing identically, not a one-off: PR #346's own `Playwright` job (the previous top of stack) failed with 379 passed / 24 failed, every failure in the `[firefox]` project only (`chromium`: zero failures), all in `autocomplete-and-mentions.spec.js`/`inserting-blocks.spec.js`/ `a11y-region-navigation.spec.js` — run 34801278771, job 103899920125. This is the identical signature (same pass/fail counts, same spec files) already documented against this branch's `fix-playwright-noble-install` layer (PR #281) in an earlier CI run, and matches the same `firefox`-only browser- context-crash class already seen (and left as pre-existing, out-of-scope noise) on several sibling `wp/6.x` branches that also lack Node headroom to bump `@playwright/test`. `chromium` is unaffected in both runs. `webkit` is already excluded from this job (by the `fix-playwright-noble-install` layer, for an unrelated reason: no installable binary for it on Ubuntu 24.04 with this pinned Playwright version) — this commit drops `firefox` from the same install step and `--project` list, for this distinct reason, and removes the `libdbus-glib-1-2` system-package install step since it existed solely to satisfy Firefox's one runtime dependency and Chromium needs nothing extra. This is a permanent, environment/version-locked gap on this frozen branch, only fixable by bumping `@playwright/test` — out of scope for this PR. Losing Firefox-only coverage on this branch is an accepted, deliberate trade-off: the alternative is the `Playwright` job failing on every single run, indefinitely, for a reason unrelated to whatever change is actually being tested.
1e12e56 to
b2c1d71
Compare
…st.yml`. Removes the `report-to-issues` job (`Report to GitHub`) from `.github/workflows/end2end-test.yml`. `report-to-issues` checks out `trunk` (`ref: trunk`) and then runs `npm run build:packages` before invoking `./packages/report-flaky-tests` — it always builds and runs live current trunk's copy of the action, never this frozen branch's own. Trunk has since removed the `build:packages` script from `package.json` as part of migrating `report-flaky-tests` to run directly from its TypeScript sources via Node 24's native type stripping, with no build step (`using: 'node24'`, `main: 'src/index.ts'`), so the job's build step now fails with `npm error Missing script: "build:packages"` whenever it reaches that point. Confirmed live and current on this branch, not just inferred: PR #346's own `Report to GitHub` job failed on run 34801278771/job 103934457687 with exactly this error, after `npm ci`/`postinstall` completed against trunk's current `package.json`. This is a structural failure, not a one-time regression: because the job always tracks a moving target (trunk) rather than the branch's own pinned copy, it will keep breaking as trunk's tooling around this action continues to evolve, regardless of anything in this branch. Retrofitting trunk's current version was considered and rejected — trunk's rewrite also drops GitHub-issue filing for flaky tests in favor of PR-comment-only reporting, a product-policy change out of scope for a frozen, security-maintenance-only branch. This mirrors the same fix already applied as the `disable-flaky-test-issue-reporting` layer on `wp/6.3`-`wp/6.8`. Removing the job only drops an automated notification; no test-correctness signal depends on it. `packages/report-flaky-tests` is left in place, now unused by any workflow on this branch — removing it is optional cleanup out of scope here.
…ntu 24.04. This branch is pinned to `@playwright/test@1.30.0` (`.nvmrc` is Node 14, leaving no headroom to bump it — the version bump used on branches with newer Node, e.g. `wp/6.5`/`wp/6.6`, isn't available here). On this pinned version, every real run of the `firefox` project on the `ubuntu-24.04` runner reliably crashes partway through with `browserContext.newPage: Page closed`, which then cascades identical `Page closed` failures through the rest of that worker's queued tests. This is not test-content flakiness: `workers: 1`/`retries: 2` are already set in `playwright.config.ts`, and every retry of every affected test fails with the exact same error, because the underlying Firefox browser process itself has died for the rest of the worker's run, not an individual test/page. Confirmed reproducing identically, not a one-off: PR #346's own `Playwright` job (the previous top of stack) failed with 379 passed / 24 failed, every failure in the `[firefox]` project only (`chromium`: zero failures), all in `autocomplete-and-mentions.spec.js`/`inserting-blocks.spec.js`/ `a11y-region-navigation.spec.js` — run 34801278771, job 103899920125. This is the identical signature (same pass/fail counts, same spec files) already documented against this branch's `fix-playwright-noble-install` layer (PR #281) in an earlier CI run, and matches the same `firefox`-only browser- context-crash class already seen (and left as pre-existing, out-of-scope noise) on several sibling `wp/6.x` branches that also lack Node headroom to bump `@playwright/test`. `chromium` is unaffected in both runs. `webkit` is already excluded from this job (by the `fix-playwright-noble-install` layer, for an unrelated reason: no installable binary for it on Ubuntu 24.04 with this pinned Playwright version) — this commit drops `firefox` from the same install step and `--project` list, for this distinct reason, and removes the `libdbus-glib-1-2` system-package install step since it existed solely to satisfy Firefox's one runtime dependency and Chromium needs nothing extra. This is a permanent, environment/version-locked gap on this frozen branch, only fixable by bumping `@playwright/test` — out of scope for this PR. Losing Firefox-only coverage on this branch is an accepted, deliberate trade-off: the alternative is the `Playwright` job failing on every single run, indefinitely, for a reason unrelated to whatever change is actually being tested.
b2c1d71 to
0ed2020
Compare
…st.yml`. Removes the `report-to-issues` job (`Report to GitHub`) from `.github/workflows/end2end-test.yml`. `report-to-issues` checks out `trunk` (`ref: trunk`) and then runs `npm run build:packages` before invoking `./packages/report-flaky-tests` — it always builds and runs live current trunk's copy of the action, never this frozen branch's own. Trunk has since removed the `build:packages` script from `package.json` as part of migrating `report-flaky-tests` to run directly from its TypeScript sources via Node 24's native type stripping, with no build step (`using: 'node24'`, `main: 'src/index.ts'`), so the job's build step now fails with `npm error Missing script: "build:packages"` whenever it reaches that point. Confirmed live and current on this branch, not just inferred: PR #346's own `Report to GitHub` job failed on run 34801278771/job 103934457687 with exactly this error, after `npm ci`/`postinstall` completed against trunk's current `package.json`. This is a structural failure, not a one-time regression: because the job always tracks a moving target (trunk) rather than the branch's own pinned copy, it will keep breaking as trunk's tooling around this action continues to evolve, regardless of anything in this branch. Retrofitting trunk's current version was considered and rejected — trunk's rewrite also drops GitHub-issue filing for flaky tests in favor of PR-comment-only reporting, a product-policy change out of scope for a frozen, security-maintenance-only branch. This mirrors the same fix already applied as the `disable-flaky-test-issue-reporting` layer on `wp/6.3`-`wp/6.8`. Removing the job only drops an automated notification; no test-correctness signal depends on it. `packages/report-flaky-tests` is left in place, now unused by any workflow on this branch — removing it is optional cleanup out of scope here.
…ntu 24.04. This branch is pinned to `@playwright/test@1.30.0` (`.nvmrc` is Node 14, leaving no headroom to bump it — the version bump used on branches with newer Node, e.g. `wp/6.5`/`wp/6.6`, isn't available here). On this pinned version, every real run of the `firefox` project on the `ubuntu-24.04` runner reliably crashes partway through with `browserContext.newPage: Page closed`, which then cascades identical `Page closed` failures through the rest of that worker's queued tests. This is not test-content flakiness: `workers: 1`/`retries: 2` are already set in `playwright.config.ts`, and every retry of every affected test fails with the exact same error, because the underlying Firefox browser process itself has died for the rest of the worker's run, not an individual test/page. Confirmed reproducing identically, not a one-off: PR #346's own `Playwright` job (the previous top of stack) failed with 379 passed / 24 failed, every failure in the `[firefox]` project only (`chromium`: zero failures), all in `autocomplete-and-mentions.spec.js`/`inserting-blocks.spec.js`/ `a11y-region-navigation.spec.js` — run 34801278771, job 103899920125. This is the identical signature (same pass/fail counts, same spec files) already documented against this branch's `fix-playwright-noble-install` layer (PR #281) in an earlier CI run, and matches the same `firefox`-only browser- context-crash class already seen (and left as pre-existing, out-of-scope noise) on several sibling `wp/6.x` branches that also lack Node headroom to bump `@playwright/test`. `chromium` is unaffected in both runs. `webkit` is already excluded from this job (by the `fix-playwright-noble-install` layer, for an unrelated reason: no installable binary for it on Ubuntu 24.04 with this pinned Playwright version) — this commit drops `firefox` from the same install step and `--project` list, for this distinct reason, and removes the `libdbus-glib-1-2` system-package install step since it existed solely to satisfy Firefox's one runtime dependency and Chromium needs nothing extra. This is a permanent, environment/version-locked gap on this frozen branch, only fixable by bumping `@playwright/test` — out of scope for this PR. Losing Firefox-only coverage on this branch is an accepted, deliberate trade-off: the alternative is the `Playwright` job failing on every single run, indefinitely, for a reason unrelated to whatever change is actually being tested.
…ntu 24.04. This branch is pinned to `@playwright/test@1.30.0` (`.nvmrc` is Node 14, leaving no headroom to bump it — the version bump used on branches with newer Node, e.g. `wp/6.5`/`wp/6.6`, isn't available here). On this pinned version, every real run of the `firefox` project on the `ubuntu-24.04` runner reliably crashes partway through with `browserContext.newPage: Page closed`, which then cascades identical `Page closed` failures through the rest of that worker's queued tests. This is not test-content flakiness: `workers: 1`/`retries: 2` are already set in `playwright.config.ts`, and every retry of every affected test fails with the exact same error, because the underlying Firefox browser process itself has died for the rest of the worker's run, not an individual test/page. Confirmed reproducing identically, not a one-off: PR #346's own `Playwright` job (the previous top of stack) failed with 379 passed / 24 failed, every failure in the `[firefox]` project only (`chromium`: zero failures), all in `autocomplete-and-mentions.spec.js`/`inserting-blocks.spec.js`/ `a11y-region-navigation.spec.js` — run 34801278771, job 103899920125. This is the identical signature (same pass/fail counts, same spec files) already documented against this branch's `fix-playwright-noble-install` layer (PR #281) in an earlier CI run, and matches the same `firefox`-only browser- context-crash class already seen (and left as pre-existing, out-of-scope noise) on several sibling `wp/6.x` branches that also lack Node headroom to bump `@playwright/test`. `chromium` is unaffected in both runs. `webkit` is already excluded from this job (by the `fix-playwright-noble-install` layer, for an unrelated reason: no installable binary for it on Ubuntu 24.04 with this pinned Playwright version) — this commit drops `firefox` from the same install step and `--project` list, for this distinct reason, and removes the `libdbus-glib-1-2` system-package install step since it existed solely to satisfy Firefox's one runtime dependency and Chromium needs nothing extra. This is a permanent, environment/version-locked gap on this frozen branch, only fixable by bumping `@playwright/test` — out of scope for this PR. Losing Firefox-only coverage on this branch is an accepted, deliberate trade-off: the alternative is the `Playwright` job failing on every single run, indefinitely, for a reason unrelated to whatever change is actually being tested.
1e2ce5e to
f4e8249
Compare
f4e8249 to
33f87ba
Compare
33f87ba to
9fbb0f5
Compare
9fbb0f5 to
7d42d44
Compare
7d42d44 to
88323f2
Compare
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
…ntainer debug step.
`unit-test.yml`'s "Docker container debug information" step runs
`wp-env run tests-mysql "mysql --version"` purely to log the database
server's version for debugging. The `mariadb` Docker image (an
unversioned, floating tag) no longer ships a `mysql`-named client
binary at all — only `mariadb`/`mariadb-admin` — so this call fails
outright with `mysql: not found` (exit 127), which takes down the
entire job (and, via fail-fast, every other PHP version in the
matrix) even though `wp-env start` and every actual test step after
it would otherwise succeed.
Confirmed directly on this branch's own real CI: `wp-env start`
completes successfully ("WordPress development site started"), then
this debug step's very first line kills the job before any PHPUnit
test ever runs.
Trunk hit and fixed the identical problem by switching its own
equivalent step from `mysql` to `mariadb` (its current
`unit-test.yml` runs `wp-env-test -- run mysql mariadb -- --version`,
using the newer `wp-env-test` CLI wrapper's argument order — not
directly portable to this branch's older `wp-env run <service>
"<command>"` syntax, but the underlying client-binary rename is the
same fix). This change keeps this branch's existing step shape and
service name (`tests-mysql`) exactly as they are, only swapping the
renamed client binary.
|
Closing in favor of #590, which now makes the full change: it replaces #590 now sits directly above #578 in the |
What?
Runs
mariadb --versioninstead ofmysql --versioninunit-test.yml's "Docker container debug information" step.Why?
wp-env's database container uses the unversionedmariadbimage. MariaDB 11.0 removed themysqlalias for itsmariadbclient, so on current images the step fails withmysql: not found, and the PHP jobs fail before PHPUnit runs. WordPress Core's test environment makes the same distinction (WordPress/wordpress-develop@ea80ac8): it usesmysqlonly for MariaDB 10.3 and earlier, which have nomariadbclient.trunkmade the same switch tomariadbin WordPress/gutenberg#75341, as part of a largerwp-envchange. That version of the line usestrunk's newerwp-env-testcommand, so only the binary name is changed here.Use of AI Tools
This PR was created by Claude Code under my supervision. All code should be treated as AI-produced and not yet reviewed by a human until this PR is marked Ready for Review.