ci: diet — concurrency cancel + no push/PR double runs - #80
Merged
Merged
Conversation
Cancel obsolete CI runs on the same PR or push ref. Trigger push CI on master only so a feature-branch tip is not also tested via push while a PR covers it. Docs-only paths-ignore is push-only so contributor required checks still always report. Co-authored-by: Jason <jkbennitt@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Workflow-only diet of
.github/workflows/ci.yml. Product/Python package code, harnesses, and docs content are untouched.benchmark.ymlandrelease-please.ymlare untouched so the weekly scheduled Benchmark cannot share a PR concurrency group.Concurrency + cancel-in-progress on the main CI workflow:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}Obsolete runs on the same PR (or the same push ref) are cancelled. PR and master-push groups stay distinct, so a landing master run is not cancelled by a PR and Benchmark is not in this group.
No push+PR double run for the same SHA (common case).
pushnow fires onmasteronly. Contributor andfeature/**work is covered bypull_request(same job names, same extras installs). Afeature/**tip with an open PR is no longer also tested viapush. SHA-keyed concurrency was not used:pull_requestruns the merge SHA, so a shared SHA group would race and could cancel the required PR checks.Docs-only
paths-ignoreis push-only (**/*.md,docs/**). It is not applied topull_request, so required checks always report for contributors. No invent-green, no draft/lean skip path, no renamed/removed jobs.Required checks (unchanged for contributors)
Job names and coverage are unchanged:
lint,test,test-no-felix,smoke-test,external-plugin-contract. Felix/mcp extras installs are unchanged. Fork PRs still only seepull_request(same as today) and still run the full suite.Double-run prevention
feature/**(and thefeature/**push)pushandpull_requestran the full suitepull_requestonlymaster(merge / direct)pull_requestfull suitepull_requestfull suiteProduct code
Untouched. Diff is
.github/workflows/ci.ymlonly.