Skip to content

chore(ci): add path-based filtering to skip unnecessary E2E jobs#52

Merged
abueide merged 1 commit into
mainfrom
chore/ci-path-filtering
May 1, 2026
Merged

chore(ci): add path-based filtering to skip unnecessary E2E jobs#52
abueide merged 1 commit into
mainfrom
chore/ci-path-filtering

Conversation

@abueide

@abueide abueide commented May 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds dorny/paths-filter to pr-checks.yml so CI only runs jobs relevant to the files changed in a PR. This is the first step toward making incremental development faster as we migrate shell scripts to segkit.

Changes

  • Added detect-changes job using dorny/paths-filter@v3 to categorize changes into segkit, android, ios, rn, shell, and ci buckets
  • Each test/E2E job now has an if condition that skips it when irrelevant paths changed
  • Updated status-check to treat skipped jobs as success (not just success)

Why

E2E jobs take 20-45 minutes each. Without path filtering, every PR (including segkit-only or docs-only changes) triggers all E2E suites. This change means a segkit-only PR skips ~30 minutes of unnecessary E2E runs.

PR touches Jobs that run Jobs skipped
segkit/** only lint shell tests, device config, all E2E
plugins/android/** lint, shell tests, device config, android E2E iOS E2E, RN E2E
plugins/ios/** lint, shell tests, device config, iOS E2E android E2E, RN E2E
.github/** everything nothing (safety net)

🤖 Generated with Claude Code

@abueide abueide added the chore Maintenance, dependencies, tooling label May 1, 2026
Uses dorny/paths-filter to detect which areas of the codebase changed
and only runs relevant CI jobs. Segkit-only PRs skip all E2E tests
(~30min saved), Android-only PRs skip iOS/RN E2E, etc. The status-check
job now treats skipped jobs as success.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abueide abueide force-pushed the chore/ci-path-filtering branch from 7c0e5da to b6a261f Compare May 1, 2026 21:32
@abueide abueide marked this pull request as ready for review May 1, 2026 21:42
@abueide abueide merged commit 8a19c48 into main May 1, 2026
17 checks passed
@abueide abueide deleted the chore/ci-path-filtering branch May 8, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance, dependencies, tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant