Repository navigation
ci: cut PR CI minutes (changed-project matrix, secrets push on main only, gateway-gated Postgres jobs) - #153
Conversation
…n, gate Postgres jobs on gateway changes
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0097f6dfbf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Addressed the P1 finding: the PR matrix now adds every project that depends on a changed one, transitively (.github/scripts/project_dependents.py builds the graph from manifests, Dockerfile COPY, the gateway's editable SDK install and imports, with a commented fallback map). sdk/python now schedules the gateway and all four integrations, any integration change schedules the gateway, and the Postgres jobs follow whenever the gateway is in the set. |
Signed-off-by: Christopher <131207452+PetrefiedThunder@users.noreply.github.com>
Cuts GitHub Actions minutes after the October overage, without reducing coverage on main.
Job names, permissions and action SHA pins are unchanged. YAML parse and actionlint pass. Written by the Cursor CLI fleet engine.
Note
Medium Risk
PR coverage now depends on static dependency scanning and fallbacks; a missed edge could skip consumer tests, though shared-path changes still run the full matrix.
Overview
PR CI now limits Python/TypeScript matrices to changed projects plus anything that depends on them, instead of a large hand-maintained list of special cases (e.g. “always run gateway when SDK changes”).
A new
project_dependents.pybuilds a repo dependency graph from manifests, Dockerfiles, imports, CIsdk/pythoninstalls, and a small fallback map, thenexpand_with_dependentswalks reverse edges so consumers (gateway, integrations) still run when a dependency changes.limit_matrixapplies this onpull_request; touches under.github/,spec/, or paths outside discovered projects still force the full matrix. Thegatewayoutput (Postgres / gateway-gated jobs) follows whether gateway is in that expanded set or was directly changed.ci.ymlwires the changes job tolimit_matrixandis_shared, adds matrix["skip"]placeholders when no Python/TypeScript projects match (avoids emptyfromJSONfailures), and updatesCI resultso skipped jobs count as green while failure / cancelled still fail the required check.Reviewed by Cursor Bugbot for commit f33e773. Bugbot is set up for automated code reviews on this repo. Configure here.