fix(ci OPS50): build e2e em .next-e2e (o webServer do playwright serve esse dir desde 7ca0efc9 — os workflows ainda buildavam em .next/e2e e o 'next start' não achava o bundle) + invariante unit passa a pinar os workflows
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / scope (pull_request) Successful in 41s
CI (PR) / lint (pull_request) Successful in 49s
CI (PR) / format (pull_request) Successful in 1m0s
CI (PR) / typecheck (pull_request) Successful in 34s
CI (PR) / knip (pull_request) Successful in 34s
CI (PR) / cycles (pull_request) Successful in 33s
CI (PR) / unit (pull_request) Successful in 47s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Successful in 2m0s
CI (PR) / e2e (2) (pull_request) Successful in 4m23s
CI (PR) / e2e (1) (pull_request) Successful in 4m33s
CI (PR) / checks (pull_request) Successful in 1s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 24s
Agent pool supervisor / tick (pull_request) Failing after 1m3s
CI / int (push) Failing after 1m22s
CI / static (push) Successful in 2m1s
CI / build (push) Successful in 2m36s
CI / e2e (1) (push) Failing after 9m2s
CI / e2e (2) (push) Failing after 8m37s
CI / checks (push) Failing after 1s
CI / deploy (push) Has been skipped
CI / requeue (push) Successful in 7s
Some checks failed
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / docs-guards (pull_request) Successful in 6s
CI (PR) / plans-only-closes (pull_request) Successful in 6s
CI (PR) / scope (pull_request) Successful in 41s
CI (PR) / lint (pull_request) Successful in 49s
CI (PR) / format (pull_request) Successful in 1m0s
CI (PR) / typecheck (pull_request) Successful in 34s
CI (PR) / knip (pull_request) Successful in 34s
CI (PR) / cycles (pull_request) Successful in 33s
CI (PR) / unit (pull_request) Successful in 47s
CI (PR) / build (pull_request) Has been skipped
CI (PR) / int (pull_request) Successful in 2m0s
CI (PR) / e2e (2) (pull_request) Successful in 4m23s
CI (PR) / e2e (1) (pull_request) Successful in 4m33s
CI (PR) / checks (pull_request) Successful in 1s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 24s
Agent pool supervisor / tick (pull_request) Failing after 1m3s
CI / int (push) Failing after 1m22s
CI / static (push) Successful in 2m1s
CI / build (push) Successful in 2m36s
CI / e2e (1) (push) Failing after 9m2s
CI / e2e (2) (push) Failing after 8m37s
CI / checks (push) Failing after 1s
CI / deploy (push) Has been skipped
CI / requeue (push) Successful in 7s
This commit is contained in:
parent
b51f745f66
commit
ac664093d2
3 changed files with 10 additions and 4 deletions
|
|
@ -351,7 +351,9 @@ jobs:
|
|||
if: needs.scope.outputs.e2e_mode == 'full' || matrix.shard == 1
|
||||
run: pnpm build
|
||||
env:
|
||||
NEXT_DIST_DIR: .next/e2e
|
||||
# Same dir the Playwright webServer serves (playwright.config.ts
|
||||
# falls back to '.next-e2e'; gate-ci.mjs builds there too).
|
||||
NEXT_DIST_DIR: .next-e2e
|
||||
|
||||
- name: E2E tests (full suite, shard ${{ matrix.shard }})
|
||||
if: needs.scope.outputs.e2e_mode == 'full'
|
||||
|
|
|
|||
|
|
@ -114,11 +114,11 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
# Main always runs the full suite: split it across 2 jobs (OPS34), each
|
||||
# building its own `.next/e2e` (measured 2026-08-10: build 172s + tests
|
||||
# building its own `.next-e2e` (measured 2026-08-10: build 172s + tests
|
||||
# 196s + ~54s fixed → ≈ 5.5 min per shard vs 435s serial). `fail-fast:
|
||||
# false` so one shard's failure keeps the other's diagnostics. Keep the
|
||||
# [1, 2] / 2 literal in sync with `e2eShardConfig` in
|
||||
# scripts/lib/test-affected-core.mjs (ci-pr reads it via the scope job).
|
||||
# scripts/lib/test-affected-core.mjs (ci-pr pins the same literal).
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
|
@ -168,7 +168,9 @@ jobs:
|
|||
- name: Build for e2e
|
||||
run: pnpm build
|
||||
env:
|
||||
NEXT_DIST_DIR: .next/e2e
|
||||
# Same dir the Playwright webServer serves (playwright.config.ts
|
||||
# falls back to '.next-e2e'; gate-ci.mjs builds there too).
|
||||
NEXT_DIST_DIR: .next-e2e
|
||||
- name: E2E tests (full suite, shard ${{ matrix.shard }})
|
||||
# No `--` separator: pnpm would forward it verbatim to playwright and
|
||||
# the flag would be parsed as a file pattern ("No tests found").
|
||||
|
|
|
|||
|
|
@ -77,6 +77,8 @@ describe('ciSkipInvariants', () => {
|
|||
|
||||
it('keeps local e2e build artifacts outside the development dist directory', () => {
|
||||
for (const file of [
|
||||
'.forgejo/workflows/ci.yml',
|
||||
'.forgejo/workflows/ci-pr.yml',
|
||||
'.gitignore',
|
||||
'.prettierignore',
|
||||
'eslint.config.mjs',
|
||||
|
|
|
|||
Loading…
Reference in a new issue