[Actions] New workflow runs in a PR should cancel any in-progress ones - #342
Conversation
There was a problem hiding this comment.
Pull request overview
Adds GitHub Actions concurrency settings to the platform build workflows so that newer runs on the same ref (notably PR updates) will cancel any older in-progress runs, reducing redundant CI usage.
Changes:
- Added
concurrency.groupkeyed by${{ github.workflow }}-${{ github.ref }}to ensure cancellation is scoped per-workflow and per-ref. - Enabled
cancel-in-progressfor all refs exceptrefs/heads/master, preserving non-canceling behavior for master branch runs.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/Build ThunderClientLibraries on Windows.yml | Adds concurrency grouping and conditional cancel-in-progress for non-master refs. |
| .github/workflows/Build ThunderClientLibraries on MacOS.yml | Adds concurrency grouping and conditional cancel-in-progress for non-master refs. |
| .github/workflows/Build ThunderClientLibraries on Linux.yml | Adds concurrency grouping and conditional cancel-in-progress for non-master refs. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
Suppressed comments (3)
.github/workflows/Build ThunderClientLibraries on Windows.yml:8
concurrency.groupis based ongithub.ref, which means all runs onrefs/heads/mastershare the same concurrency group. Even thoughcancel-in-progressis false on master, additional master runs will still be serialized (queued) rather than running concurrently. If the intent is to only cancel/limit runs for PRs, consider grouping PR runs bygithub.event.pull_request.numberand using a unique fallback for non-PR events (e.g.,github.run_id/github.sha) so master isn’t queued behind earlier runs.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
.github/workflows/Build ThunderClientLibraries on Linux.yml:8
concurrency.groupis based ongithub.ref, which means all runs onrefs/heads/mastershare the same concurrency group. Even thoughcancel-in-progressis false on master, additional master runs will still be serialized (queued) rather than running concurrently. If the intent is to only cancel/limit runs for PRs, consider grouping PR runs bygithub.event.pull_request.numberand using a unique fallback for non-PR events (e.g.,github.run_id/github.sha) so master isn’t queued behind earlier runs.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
.github/workflows/Build ThunderClientLibraries on MacOS.yml:8
concurrency.groupis based ongithub.ref, which means all runs onrefs/heads/mastershare the same concurrency group. Even thoughcancel-in-progressis false on master, additional master runs will still be serialized (queued) rather than running concurrently. If the intent is to only cancel/limit runs for PRs, consider grouping PR runs bygithub.event.pull_request.numberand using a unique fallback for non-PR events (e.g.,github.run_id/github.sha) so master isn’t queued behind earlier runs.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
No description provided.