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:
committed by
GitHub
parent
e5a70054bc
commit
7ae281cc49
@@ -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 %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user