Files
2026-07-13 13:22:34 +08:00

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