Stage 7: ui-test CI — make Playwright e2e strict
Tests · UI / test (push) Successful in 11s
Tests · Go / test (pull_request) Successful in 7s
Tests · Integration / integration (pull_request) Successful in 10s
Tests · UI / test (pull_request) Successful in 11s

System libs are now provisioned once on the runner host (install-deps); the job
downloads the browser into the runner cache and runs the smoke strictly (no
--with-deps, no sudo, no continue-on-error; timeouts kept as a hang guard).
This commit is contained in:
Ilia Denisov
2026-06-03 12:15:57 +02:00
parent f2f91ae7e6
commit 5b2e95d3c0
+6 -8
View File
@@ -49,18 +49,16 @@ jobs:
- name: Bundle-size budget - name: Bundle-size budget
run: node scripts/bundle-size.mjs run: node scripts/bundle-size.mjs
# The Gitea runner is an `act` host executor without apt privileges, so # The Playwright system libraries are provisioned once on the runner host
# Playwright's `--with-deps` (apt-get) hangs. We download the browser only and # (`sudo npx playwright@<version> install-deps chromium`), so the job needs no
# run the smoke best-effort, bounded by a timeout: the strict gate above # apt and no sudo: it only downloads the browser binary into the runner cache
# (check / unit / build / size) plus the hard local pre-push e2e cover the # (persisted by the host executor) and runs the smoke. The timeouts guard
# slice; this validates the browser path only when the host already has the # against a future hang. Keep this in lockstep with @playwright/test in
# required libraries. Run the job in a Playwright container to make it strict. # package.json — re-run install-deps on the host after a major bump.
- name: Install Playwright browser - name: Install Playwright browser
run: pnpm exec playwright install chromium run: pnpm exec playwright install chromium
timeout-minutes: 5 timeout-minutes: 5
continue-on-error: true
- name: E2E smoke (mock) - name: E2E smoke (mock)
run: pnpm run test:e2e run: pnpm run test:e2e
timeout-minutes: 5 timeout-minutes: 5
continue-on-error: true