Conversation
Both playwright.yml and playwright-hlx.yml run tests against fixed, shared external sites (da-sites/da-status and da-testautomation/da-e2e-tests respectively) with no isolation between concurrent runs. Overlapping CI jobs from different PRs collide on the same backend, causing document create/cleanup races and timeouts that look like hangs (e.g. run 31389050902 on #1227: 27 failures, all timing out waiting for the editor to load, while two other PRs' Helix jobs were running against the same site concurrently). Add a concurrency group per workflow so runs queue instead of racing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
dismissAlertBanner only checked once, with a bounded 3s wait, near the start of each test. Some banners (e.g. the "public sandbox" org warning on da-sites/da-status) depend on an async check that can resolve later than that window, so the one-shot check missed them — the banner then appeared mid-test and sat on top of later controls, blocking clicks (e.g. "Clicking Preview opens a confirmation dialog" timing out after 30s trying to click button.preview-button, blocked by #nx-toast-host's "Notifications" region). Now, if the banner isn't visible in the initial window, arm a background watcher for the rest of the test so a late appearance still gets dismissed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
kptdobe
approved these changes
Aug 11, 2026
kptdobe
left a comment
Contributor
There was a problem hiding this comment.
ah... thanks. This explains why it was so hard to reproduce!
mhaack
approved these changes
Aug 11, 2026
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.
Summary
playwright.yml(Da-Admin) andplaywright-hlx.yml(Helix) run e2e tests against fixed, shared external sites (da-sites/da-statusandda-testautomation/da-e2e-tests), with no isolation between concurrent CI runs and noconcurrency:guard in either workflow.div.ProseMirror) to load after "Create document" — across chromium/firefox/webkit and unrelated spec files, which points to a shared-backend problem rather than isolated test flakiness.gh run listconfirmed two other PRs' Helix Playwright jobs were running concurrently against the same shared site at the same time, and the log shows cleanup steps hitting 404s consistent with racing create/delete traffic.concurrencygroup (keyed ongithub.workflow,cancel-in-progress: false) to each workflow so runs targeting the same shared site queue instead of racing each other. Different PRs' runs of the same workflow will now wait their turn rather than hammering the shared backend simultaneously.preview_publish.spec.js"Clicking Preview opens a confirmation dialog" — withlocator.click: Test timeout of 30000ms exceeded, blocked by#nx-toast-host's "Notifications" region. Root cause:dismissAlertBanner()(test/e2e/utils/utils.js) only checked once, with a bounded 3s wait, for a dismissible alert near the start of each test. The "public sandbox" org warning banner (shown forda-sites/da-status, the default test org) depends on an async check that can resolve later than that window, so the one-shot check missed it, and it appeared mid-test, overlapping and blocking the later preview-button click. Fixed by arming a background watcher for the rest of the test when the banner isn't visible in the initial window, so a late appearance still gets dismissed.browser.newPage()calls inedit.spec.js/delete.spec.js/authenticated/collab.spec.jsare never closed, andreporter: 'html'has no explicitopen: 'never'(harmless under GitHub Actions' automaticCI=true, but worth hardening).Test plan
python3 -c "import yaml; yaml.safe_load(open(f))"for both).gh run list --workflow=playwright-hlx.ymlthat overlapping pushes/PRs queue rather than run in parallel.