33 lines
854 B
YAML
33 lines
854 B
YAML
# Cancel workflow runs associated with a pull request when it is closed or merged.
|
|
name: Cancel
|
|
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- closed
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
permissions: {}
|
|
|
|
jobs:
|
|
cancel:
|
|
runs-on: ubuntu-slim
|
|
timeout-minutes: 5
|
|
permissions:
|
|
actions: write # to cancel workflow runs
|
|
steps:
|
|
- env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
REPO: ${{ github.repository }}
|
|
run: |
|
|
gh run list --repo "$REPO" --commit "$HEAD_SHA" --event pull_request \
|
|
--json databaseId,status,name \
|
|
--jq '.[] | select(.status != "completed" and .name != "release-note") | .databaseId' |
|
|
while read -r run_id; do
|
|
gh run cancel "$run_id" --repo "$REPO" || true
|
|
done
|