1
0
mirror of synced 2025-12-30 12:02:01 -05:00

Update docs on using concurrency to auto-cancel redundant jobs / runs (#11244)

Co-authored-by: Sarah Edwards <skedwards88@github.com>
This commit is contained in:
Machisté N. Quintana
2022-01-13 14:39:48 -05:00
committed by GitHub
parent e5a70054bc
commit 7ae281cc49

View File

@@ -23,3 +23,31 @@ concurrency:
cancel-in-progress: true
```
{% endraw %}
### Example: Using a fallback value
If you build the group name with a property that is only defined for specific events, you can use a fallback value. For example, `github.head_ref` is only defined on `pull_request` events. If your workflow responds to other events in addition to `pull_request` events, you will need to provide a fallback to avoid a syntax error. The following concurrency group cancels in-progress jobs or runs on `pull_request` events only; if `github.head_ref` is undefined, the concurrency group will fallback to the run ID, which is guaranteed to be both unique and defined for the run.
{% raw %}
```yaml
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
```
{% endraw %}
### Example: Only cancel in-progress jobs or runs for the current workflow
If you have multiple workflows in the same repository, concurrency group names must be unique across workflows to avoid canceling in-progress jobs or runs from other workflows. Otherwise, any previously in-progress or pending job will be canceled, regardless of the workflow.
To only cancel in-progress runs of the same workflow, you can use the `github.workflow` property to build the concurrency group:
{% raw %}
```yaml
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
```
{% endraw %}