ci(acceptance): add hang-proof Playwright smoke gate#5623
Open
DavertMik wants to merge 1 commit into
Open
Conversation
Re-establishes acceptance-level CI signal for 4.x, which currently runs only unit/rest/runner suites while the disabled acceptance workflow still targets 3.x + docker WebDriverIO. - test/acceptance/codecept.Playwright.smoke.js: an explicit allowlist (els/session/within) of acceptance tests that pass reliably on the 4.x promise core. 52 passed / 2 skipped / 0 failed across three consecutive local runs. - .github/workflows/acceptance-smoke.yml: runs the smoke suite on every PR with both timeout-minutes: 20 and an outer `timeout 600` (exit 124 = hang = release blocker), installs Chromium, boots the PHP test app, and uploads test/acceptance/output/ on failure. The allowlist only grows: when a promise-core fix makes an excluded file pass, move it into the glob in the same PR. Long-term goal is to gate on the full codecept.Playwright.js and delete this config. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Re-establishes an acceptance-level CI gate for 4.x. Today CI runs only unit/rest/runner suites; the only acceptance workflow is
acceptance-tests.yml.disabled, which still targets the3.xbranch and a docker-compose WebDriverIO setup. The exact failure class blocking 4.0 (promise-composition hangs / broken error propagation) has zero CI signal.This adds a hang-proof Playwright smoke job that runs the currently-passing subset on every PR, so the passing set can only grow.
Files
test/acceptance/codecept.Playwright.smoke.js— an explicit allowlist config (tests: './{els,session,within}_test.js') of acceptance tests that pass reliably on the 4.x promise core..github/workflows/acceptance-smoke.yml—pushto4.x+pull_requestto**;timeout-minutes: 20and an outertimeout 600(defense-in-depth;exit 124= hang); installs Chromium, boots the PHP test app, GET-polls health, runs the smoke suite, and uploadstest/acceptance/output/on failure.Discovery (local, Node 22 / Playwright 1.59 / PHP 8.5)
Each acceptance file run individually under a hard timeout:
els_test.jssession_test.jswithin_test.jsconfig_test.jscoverage_test.js@Playwrightscenarios → excludedretryTo_test.js@Playwrightscenarios → excludedThe smoke suite is 52 passed / 2 skipped / 0 failed across three consecutive local runs (~58s each; includes the
@Playwrightgherkinbefore_hook.featurevia the base config).Maintenance
The smoke glob is an allowlist: when a promise-core fix makes an excluded file pass, move it into the glob in the same PR. The long-term goal is to delete this config and gate on the full
codecept.Playwright.js.Notes for reviewers
*_test.jsfile was edited, skipped, or tagged to make the gate green.timeout-minutes: 20and the innertimeout 600.🤖 Generated with Claude Code