Skip to content

ci: run E2E tests on feature PRs that touch web-relevant paths#393

Closed
FSM1 wants to merge 1 commit into
mainfrom
fix/release-gate-e2e-for-feature-prs
Closed

ci: run E2E tests on feature PRs that touch web-relevant paths#393
FSM1 wants to merge 1 commit into
mainfrom
fix/release-gate-e2e-for-feature-prs

Conversation

@FSM1

@FSM1 FSM1 commented Mar 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • The release gate's "Verify E2E Passed" check was auto-passing for non-release PRs with "Not a release PR — E2E gate not applicable", allowing PRs to merge without E2E verification
  • Now detects web-relevant path changes (apps/web/, apps/api/, packages/, tests/web-e2e/) on all PRs
  • For feature PRs with web changes: runs E2E inline via workflow_call to e2e.yml and gates on the result
  • Release PR behavior unchanged (still polls for E2E on main)

How it works

  1. detect-changes job now runs a web-path check on all PRs (not just release PRs)
  2. New run-web-e2e job calls e2e.yml via workflow_call when web paths are changed and it's not a release PR
  3. verify-e2e checks the run-web-e2e result for feature PRs instead of auto-passing

Test plan

  • This PR itself should trigger the new path: it changes .github/workflows/ which doesn't match web patterns, so E2E should skip with "No web-relevant changes"
  • A PR touching tests/web-e2e/ or apps/web/ should trigger the full E2E run before merge is allowed
  • Release PRs should continue to use the existing polling behavior

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Enhanced release workflow to detect web-related changes and conditionally run end-to-end tests only when necessary, improving CI/CD efficiency and reducing redundant test execution on non-web modifications.

The release gate's "Verify E2E Passed" check was auto-passing for
non-release PRs, allowing merges without E2E verification. Now
detects web-relevant path changes (apps/web, apps/api, packages,
tests/web-e2e) and runs E2E inline via workflow_call before allowing
merge.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: f606ec90ab79
@coderabbitai

coderabbitai Bot commented Mar 29, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

The pull request modifies the release-gate.yml GitHub Actions workflow to detect web-relevant changes across specific directory paths and conditionally execute a web E2E workflow. It adds change detection output, introduces a new job to run the E2E workflow when changes are detected, and updates the verification job to depend on and validate the E2E results.

Changes

Cohort / File(s) Summary
Workflow Change Detection & E2E Gating
.github/workflows/release-gate.yml
Added web_changed output to detect-changes job that queries PR file lists via gh api and matches against apps/web/, apps/api/, packages/, and tests/web-e2e/ directories. Introduced run-web-e2e job that calls the reusable e2e.yml workflow for non-release-please PRs when web changes are detected. Updated verify-e2e job to depend on run-web-e2e and conditionally fail if E2E failed when changes detected, or skip when no changes detected.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding E2E test execution for feature PRs that modify web-relevant code paths, which is exactly what the changeset implements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 fix/release-gate-e2e-for-feature-prs

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.

@FSM1

FSM1 commented Mar 29, 2026

Copy link
Copy Markdown
Owner Author

Closing — this addresses the wrong problem. The real issue is the release gate not re-triggering when new code lands on main.

@FSM1 FSM1 closed this Mar 29, 2026
@FSM1 FSM1 deleted the fix/release-gate-e2e-for-feature-prs branch April 14, 2026 00:05
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