ci: bump skill matrix parser test timeout; install playwright in isolated dir
CI / Architecture Guardrails (push) Successful in 19m4s
CI / Assistant Split Regression (push) Successful in 20m21s
CI / Lint (push) Successful in 21m52s
CI / Typecheck (push) Successful in 22m37s
CI / Unit Tests (push) Successful in 7m48s
CI / Build (push) Successful in 5m16s
CI / Fresh-Linux Docker Deploy (push) Failing after 12m42s
CI / E2E Tests (push) Failing after 35m15s
CI / Release Images (push) Has been skipped
CI / Architecture Guardrails (push) Successful in 19m4s
CI / Assistant Split Regression (push) Successful in 20m21s
CI / Lint (push) Successful in 21m52s
CI / Typecheck (push) Successful in 22m37s
CI / Unit Tests (push) Successful in 7m48s
CI / Build (push) Successful in 5m16s
CI / Fresh-Linux Docker Deploy (push) Failing after 12m42s
CI / E2E Tests (push) Failing after 35m15s
CI / Release Images (push) Has been skipped
Unit Tests flaked on QNAP: skillMatrixParser ExcelJS workbook builds exceeded the 5s default per-test timeout (runtime ~8.6s for the suite). Bumped to 30s. Docker Deploy smoke tests failed because `npm install` in the repo root tried to resolve sibling workspace:* deps (pnpm protocol, not npm-supported). Install @playwright/test into /tmp/pw-install instead and symlink the package dirs into apps/web/node_modules so the CJS require() in playwright.ci.config.ts resolves it by walking up from apps/web/.
This commit is contained in:
@@ -496,20 +496,29 @@ jobs:
|
||||
node-version: "20"
|
||||
|
||||
- name: Install Playwright and Chromium
|
||||
# Install locally (not -g) so the CJS require() in playwright.ci.config.ts
|
||||
# resolves @playwright/test by walking up from apps/web/. A global
|
||||
# install puts it in /opt/hostedtoolcache/.../lib/node_modules which
|
||||
# Node's resolver doesn't check.
|
||||
# The repo root package.json uses pnpm `workspace:*` deps which npm
|
||||
# cannot resolve, so install into an isolated temp dir and symlink
|
||||
# @playwright/test into apps/web/node_modules so playwright.ci.config.ts
|
||||
# (CJS) can resolve it by walking up from apps/web/.
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p /tmp/pw-install
|
||||
cd /tmp/pw-install
|
||||
[ -f package.json ] || npm init -y >/dev/null
|
||||
npm install --no-save --no-package-lock @playwright/test@1.49
|
||||
npx playwright install chromium --with-deps
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
mkdir -p apps/web/node_modules
|
||||
ln -sfn /tmp/pw-install/node_modules/@playwright apps/web/node_modules/@playwright
|
||||
ln -sfn /tmp/pw-install/node_modules/playwright apps/web/node_modules/playwright
|
||||
ln -sfn /tmp/pw-install/node_modules/playwright-core apps/web/node_modules/playwright-core
|
||||
/tmp/pw-install/node_modules/.bin/playwright install chromium --with-deps
|
||||
|
||||
- name: Run smoke tests
|
||||
env:
|
||||
# App runs on the compose network; act_runner job is on gitea_gitea
|
||||
# (docker-compose.ci.yml attaches services to both). Override baseURL.
|
||||
PLAYWRIGHT_BASE_URL: http://app:3100
|
||||
run: npx playwright test --config apps/web/playwright.ci.config.ts
|
||||
run: /tmp/pw-install/node_modules/.bin/playwright test --config apps/web/playwright.ci.config.ts
|
||||
|
||||
- name: Upload Playwright report
|
||||
if: failure()
|
||||
|
||||
Reference in New Issue
Block a user