Repository navigation
CI: scope PR pipelines, deduplicate feature pushes, cancel stale runs - #156
Conversation
Stop unconditional embedded/control/BRCB/security/C++ matrices on Workbench-only PR changes. Keep full main integration checks, avoid push+PR duplication on feature branches, scope costly Windows release packaging, and add a lightweight CI routing policy gate plus documentation.
Limit four additional push gates to main and cancel superseded PR runs. Preserve on-branch ESP32-P4 test artifacts while coalescing same-branch push/PR runs through shared repository-scoped concurrency. Extend policy guard and documentation.
Use PR-number scoped run groups consistent with routing policy acceptance; preserve main integration runs.
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: cd64a284ba
ℹ️ 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".
| group: esp32p4-smv-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }} | ||
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} |
There was a problem hiding this comment.
Keep reusable firmware runs in a distinct concurrency group
When a PR changes ESP32-P4 firmware, both this standalone workflow and arstack-studio-release.yml trigger, with the latter invoking this file through workflow_call; both instances now resolve this group to the same repository-and-head value with cancellation enabled. GitHub documents that concurrency names are repository-wide and matching groups cancel the other run, so scheduling can cancel either the standalone firmware check or the release workflow's required firmware job, which then prevents its dependent Windows package from running. Include a caller/workflow discriminator while retaining branch deduplication. GitHub concurrency documentation
AGENTS.md reference: AGENTS.md:L249-L263
Useful? React with 👍 / 👎.
| - "agent/phase-4d-c5-control-interoperability" | ||
| pull_request: | ||
| paths: | ||
| - 'tools/control_interop_probe/**' |
There was a problem hiding this comment.
Include the top-level control probe sources in PR paths
For PRs that modify tools/control_interop_probe.cpp, tools/control_inventory_probe.cpp, or tools/control_ctlmodel_probe.cpp, this new filter does not trigger because tools/control_interop_probe/** covers the directory, while all three sources are sibling files under tools/; the workflow's CMake project explicitly compiles them and runs their offline self-tests. Add those source paths so direct harness changes still receive the specialized GCC/Clang/MSVC validation that this filter replaced.
AGENTS.md reference: AGENTS.md:L249-L263
Useful? React with 👍 / 👎.
| branches: ["agent/phase-4d-d2-dynamic-rcb-live-trial"] | ||
| pull_request: | ||
| paths: | ||
| - 'tools/dynamic_rcb_trial/**' |
There was a problem hiding this comment.
Include the top-level RCB trial sources in PR paths
For PRs changing tools/dynamic_rcb_trial.cpp or tools/static_rcb_trial.cpp, the workflow is now skipped because tools/dynamic_rcb_trial/** only covers the subdirectory, even though that subdirectory's CMake project builds both sibling source files and exercises their CLI contracts. Add the two top-level source paths so changes to the trial executables continue to run this dedicated cross-platform matrix.
AGENTS.md reference: AGENTS.md:L249-L263
Useful? React with 👍 / 👎.
Problem
GUI-only Workbench changes triggered unscoped BRCB, Control Interop, C++ CI, Dynamic RCB, Embedded, Security, Windows release packaging and duplicate push/PR events. Repeated small commits from PR #155 multiplied queued CI work.
Fix — one atomic commit
pull_request.paths; unaffected by QML-only Workbench edits.cancel-in-progresson PR events only; integratedmainruns are not cancelled.pushno longer duplicates PR CI for Qt Simulator, SCL-assisted Workbench/Connect, or Studio Qt; push-side integration remains onmain.mainpushes, or by explicitworkflow_dispatchfor exact-head release candidates. It is not run on every QML-only PR iteration.Acceptance gates
Keep Draft until exact-head CI trigger checks are verified. This PR is intentionally separate from stacked Workbench PR #155 and must not be merged without review.