Skip to content

ci(e2e): skip shards for backend, sync, and scripts-only pull requests - #3408

Merged
tyler-dane merged 1 commit into
mainfrom
ci/skip-e2e-for-backend-only-prs
Sep 5, 2026
Merged

ci(e2e): skip shards for backend, sync, and scripts-only pull requests#3408
tyler-dane merged 1 commit into
mainfrom
ci/skip-e2e-for-backend-only-prs

Conversation

@tyler-dane

Copy link
Copy Markdown
Contributor

Fixes: no issue. Second fix from the CI audit started in #3407.

What and why

The Playwright suite boots the web dev server (packages/web, which imports only packages/core) against stubbed /api/** routes. Neither e2e/, playwright.config.ts, nor packages/web/dev.ts imports from packages/backend, packages/sync, or packages/scripts, so a PR that touches only those packages cannot change an e2e result. In the audit window, 50 of 232 PR e2e runs (22%, across 33 PRs) were such PRs: 200 shard jobs and about 4 minutes of PR wall clock each, for no signal.

detect-code-changes.sh gains an e2e output next to code: false when every changed file is under those three packages or is docs. The e2e-shard job gates on it; the e2e gate already reports Success when the shards are skipped, so the required check still reports and docs-only handling is unchanged (#2938, #2940). merge_group and push events still report true, so every merge is tested end to end before and after it lands on main. The Unit workflow still reads only code.

Tests cover: backend+sync+scripts+docs skips e2e only; backend plus any one of core, web, e2e/, playwright.config.ts, bun.lock, or the e2e workflow runs everything; unverifiable file lists run everything; the two workflows gate on the intended outputs.

Verify

Selected packages: scripts
Checks run: type-check, lint, knip
Failed: test:scripts:fast
VERDICT: FAIL

The three failures are the same as in #3407: agent-loop-next.sh uses mapfile, which macOS /bin/bash 3.2 lacks. Not touched by this diff; passes on the Linux runner. All 9 detect-code-changes tests, the other scripts tests, type-check, lint, and knip pass locally. CI on Linux is the arbiter.

🤖 Generated with Claude Code

The Playwright suite boots the web dev server (packages/web, which imports
only packages/core) against stubbed routes; packages/backend, packages/sync,
and packages/scripts are never loaded. 22% of PR e2e runs in the 2026-09
audit were on PRs touching only those packages: 200 shard jobs and 4
minutes of PR wall clock each for no signal.

detect-code-changes.sh gains an e2e output next to code; the e2e-shard job
gates on it. The docs-only skip, the e2e gate reporting Success on a skip,
and the always-run merge_group and push behavior are unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Sep 5, 2026
@tyler-dane
tyler-dane enabled auto-merge September 5, 2026 14:46
@tyler-dane
tyler-dane added this pull request to the merge queue Sep 5, 2026
Merged via the queue into main with commit ae3ee76 Sep 5, 2026
27 checks passed
@tyler-dane
tyler-dane deleted the ci/skip-e2e-for-backend-only-prs branch September 5, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-automerge Agent-loop finished; merge-guard may squash-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant