Conversation
Context: E2E tests were running on every push regardless of what changed. Added an `app-code` path filter that only matches actual application code (ghost/, apps/, e2e/, package.json, yarn.lock), and gated the E2E job on it. This avoids ~40 min of unnecessary E2E runs for documentation, Tinybird, or other non-app changes.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThe CI workflow configuration has been updated to include a new file-change filter in the 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #27055 +/- ##
==========================================
- Coverage 73.26% 73.25% -0.02%
==========================================
Files 1530 1530
Lines 121767 121704 -63
Branches 14710 14704 -6
==========================================
- Hits 89218 89152 -66
- Misses 31555 31558 +3
Partials 994 994
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|



Problem
E2E tests run on every push regardless of what changed. A workflow-only or docs-only PR waits ~40 minutes for 8 E2E shards that can't possibly find regressions because no application code changed. This wastes CI minutes and slows down merges for infrastructure work.
Proposal
Add a new
app-codepath filter tojob_setupthat matches actual application code:ghost/**,apps/**,e2e/**,package.json,yarn.lockGate
job_e2e_testson this filter. When no app code changes, e2e tests are skipped. The required check gate (All required tests passed or skipped) already handles skipped jobs — it only fails onfailureorcancelled, notskipped.Not Doing
shared+ package-specific filters.job_build_artifacts— that always runs (needed for Docker image builds on main).sharedanchor that includes.github/**— other test jobs correctly re-run when workflows change since those changes could affect how tests execute.Trade-offs
app-codefilter is deliberately broad (ghost/**,apps/**). A tighter filter could skip more, but the risk of missing real regressions increases.Rollback
if:condition change onjob_e2e_tests. No data migration, no downstream impact.Blast Radius
.github/,docs/,scripts/, or other non-app paths will merge faster.ghost/,apps/,e2e/, or dependency files (package.json,yarn.lock) are unaffected — e2e runs as before.