Skip to content

ci: path-based skip and gate job in pr_checks#3615

Merged
nicktrn merged 3 commits into
mainfrom
ci/pr-checks-gate-and-filters
May 13, 2026
Merged

ci: path-based skip and gate job in pr_checks#3615
nicktrn merged 3 commits into
mainfrom
ci/pr-checks-gate-and-filters

Conversation

@nicktrn
Copy link
Copy Markdown
Collaborator

@nicktrn nicktrn commented May 13, 2026

pr_checks runs the full matrix on every PR. #3609 touched only apps/webapp/app/routes/admin.tsx and still ran the 4-job CLI e2e matrix and 5-job sdk-compat suite.

Adds a changes job using dorny/paths-filter and gates each tier:

  • webapp + e2e-webapp: apps/webapp/**, packages/**, internal-packages/**
  • packages: packages/**
  • internal: internal-packages/** + packages/** (cross-deps)
  • e2e (cli-v3): packages/{cli-v3,build,core,schema-to-json}/**
  • sdk-compat: packages/{trigger-sdk,core}/**

.configs/**, package.json, pnpm-lock.yaml, pnpm-workspace.yaml, turbo.json are also included in every filter since they affect the whole workspace.

Inlines the units reusable-workflow children so each can be gated independently (status check names also flatten from units / webapp / ... to webapp / ...). unit-tests.yml is unaffected - still used by publish.yml.

Adds an all-checks gate that always runs and short-circuits to success when every dependent is success-or-skipped. With this in place a single required status check (All PR Checks) is enough; before this, paths-ignore would have left required checks Pending on docs/changeset PRs (gh docs).

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 13, 2026

⚠️ No Changeset found

Latest commit: d89ec19

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 714c6325-2185-480a-9383-61d2194681df

📥 Commits

Reviewing files that changed from the base of the PR and between 30bd18e and 5a11122.

📒 Files selected for processing (1)
  • .github/workflows/pr_checks.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/pr_checks.yml
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (30)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (7, 8)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (4, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (8, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (1, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (6, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (4, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (5, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (3, 8)
  • GitHub Check: webapp / 🧪 Unit Tests: Webapp (2, 8)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (6, 8)
  • GitHub Check: sdk-compat / Cloudflare Workers
  • GitHub Check: internal / 🧪 Unit Tests: Internal (3, 8)
  • GitHub Check: sdk-compat / Node.js 20.20 (ubuntu-latest)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (2, 8)
  • GitHub Check: e2e / 🧪 CLI v3 tests (windows-latest - npm)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (8, 8)
  • GitHub Check: sdk-compat / Deno Runtime
  • GitHub Check: e2e / 🧪 CLI v3 tests (windows-latest - pnpm)
  • GitHub Check: sdk-compat / Node.js 22.12 (ubuntu-latest)
  • GitHub Check: e2e / 🧪 CLI v3 tests (ubuntu-latest - npm)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (7, 8)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (5, 8)
  • GitHub Check: e2e / 🧪 CLI v3 tests (ubuntu-latest - pnpm)
  • GitHub Check: internal / 🧪 Unit Tests: Internal (1, 8)
  • GitHub Check: sdk-compat / Bun Runtime
  • GitHub Check: packages / 🧪 Unit Tests: Packages (1, 1)
  • GitHub Check: e2e-webapp / 🧪 E2E Tests: Webapp
  • GitHub Check: typecheck / typecheck
  • GitHub Check: Analyze (javascript-typescript)
  • GitHub Check: Analyze (python)

Walkthrough

This PR refactors .github/workflows/pr_checks.yml to implement path-filter-driven conditional job execution. The workflow now runs dorny/paths-filter to compute outputs for six distinct codepaths (code, webapp, packages, internal, cli, sdk), and each downstream CI job—including webapp tests, E2E, package tests, internal tests, CLI E2E, and SDK compatibility—conditionally executes based on those outputs. Permissions were expanded to include pull-requests: read, and a new all-checks aggregator job validates that no CI job failed or was cancelled, allowing the overall workflow to report success when checks pass or are skipped due to path filters.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: adding path-based filtering to skip jobs and a gating job in the PR checks workflow.
Description check ✅ Passed The description is comprehensive and addresses the template structure with testing and changelog information, though some optional sections like Screenshots are not provided.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/pr-checks-gate-and-filters

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

devin-ai-integration[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@nicktrn nicktrn enabled auto-merge (squash) May 13, 2026 21:41
devin-ai-integration[bot]

This comment was marked as resolved.

@nicktrn nicktrn merged commit d144220 into main May 13, 2026
42 checks passed
@nicktrn nicktrn deleted the ci/pr-checks-gate-and-filters branch May 13, 2026 22:37
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.

2 participants