Skip to content

ci: skip unrelated jobs based on changed paths#687

Merged
nicoloboschi merged 1 commit intomainfrom
feat/ci-skip-unrelated-jobs
Mar 25, 2026
Merged

ci: skip unrelated jobs based on changed paths#687
nicoloboschi merged 1 commit intomainfrom
feat/ci-skip-unrelated-jobs

Conversation

@nicoloboschi
Copy link
Collaborator

Summary

  • Adds a detect-changes job using dorny/paths-filter@v3 to determine which monorepo paths changed in the PR
  • Gates all 31 CI jobs with if conditions so only relevant jobs run
  • verify-generated-files always runs unconditionally
  • workflow_dispatch (manual triggers) always runs everything

Examples

PR changes Jobs that run Jobs skipped
Docs/README only build-docs, test-doc-examples All API tests, docker, clients, integrations
Integration only (e.g. litellm) test-litellm-integration API tests, docker, other integrations, clients
Client SDK only (e.g. TS) build-typescript-client, test-typescript-client*, build-control-plane, test-doc-examples Docker, API tests, other clients
Core API All API-dependent jobs Unrelated integrations
CI config (.github/**) Everything Nothing

Test plan

  • Verify this PR itself triggers only detect-changes, verify-generated-files, and ci-gated jobs
  • Manual workflow_dispatch should run all jobs

Add a detect-changes job using dorny/paths-filter to determine which
parts of the monorepo changed, then gate each CI job with appropriate
conditions. This avoids running all ~30 jobs for docs-only or
integration-only changes.

Key behaviors:
- Docs/README-only changes only run build-docs and test-doc-examples
- Integration package changes only run their specific test job
- Client SDK changes only run their build/test + dependent jobs
- Core API changes run all API-dependent jobs
- CI config changes (.github/**) run everything as a safety net
- workflow_dispatch (manual) always runs everything
- verify-generated-files always runs unconditionally
@nicoloboschi nicoloboschi merged commit 4fed005 into main Mar 25, 2026
42 checks passed
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