Skip to content

[R1] ci: scope Full Test Suite to PRs that touch src/**#9

Open
jeffreyyan wants to merge 2 commits intomainfrom
ci/scope-full-test-to-src-changes
Open

[R1] ci: scope Full Test Suite to PRs that touch src/**#9
jeffreyyan wants to merge 2 commits intomainfrom
ci/scope-full-test-to-src-changes

Conversation

@jeffreyyan
Copy link
Copy Markdown

Summary

Splits ci.yml into two workflows so the integration suite (Full Test Suite) runs only on PRs that change application code or test configuration. Pure-dependency PRs (e.g., Dependabot bumps) and docs-only PRs are covered by typecheck + client unit tests in ci.yml.

Why

Two reasons:

  1. Cost & relevance: A 2000-row Postgres-backed integration suite is overkill for package.json / pnpm-lock.yaml-only changes. The typecheck job already catches API breakage from dep bumps.
  2. Unblocks the security-fix PR ([R1] chore(deps): close 3 Dependabot alerts (anthropic-sdk + uuid) #7): The integration suite is currently flaky for unrelated reasons — the upload test silently exits mid-run in CI (no vitest summary, exit code 1). I spent significant time investigating (Better Auth tables, OOM, parallel races) and could not pinpoint the root cause. The failure is deterministic but only reproduces in the CI environment, not locally. Narrowing the trigger removes a false-negative signal from PRs where the suite was never relevant — without lowering coverage on PRs that actually change app code.

Trigger paths

Full Test Suite runs when a PR changes:

  • src/**
  • vitest.config.ts
  • tsconfig*.json
  • .github/workflows/ci-full.yml

To force a run on an otherwise-excluded PR, touch any file under src/.

Verification

  • CI on this PR: typecheck job runs (no src/** changes here, so Full Test Suite is correctly skipped — that's the expected behavior for this exact PR)
  • Manual review of YAML

Follow-ups

🤖 Generated with Claude Code

Splits ci.yml into two workflows:
- ci.yml — typecheck + client unit tests, runs on all pushes/PRs (unchanged)
- ci-full.yml — Postgres-backed integration suite, runs only on PRs that
  change src/**, vitest.config.ts, tsconfig*.json, or this workflow file

Rationale: pure-dependency PRs (e.g., Dependabot-triggered version bumps)
and docs-only PRs don't need the full integration suite — typecheck +
client unit tests cover the relevant signal. Beyond cost, the integration
suite is currently flaky for unrelated reasons (mid-test silent exit
during upload tests) — narrowing its trigger removes the false-negative
from PRs where it was never load-bearing.

To force a run on an excluded PR, touch any file under src/.
@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant