diff --git a/.github/workflows/cancel-workflow-on-merge.yml b/.github/workflows/cancel-workflow-on-merge.yml index 4cd915b526..5d4a5000a2 100644 --- a/.github/workflows/cancel-workflow-on-merge.yml +++ b/.github/workflows/cancel-workflow-on-merge.yml @@ -1,4 +1,4 @@ -name: Cancel Workflow on Merge +name: Cancel Workflow on Merge or Close on: pull_request: @@ -8,8 +8,8 @@ jobs: cancel-workflow: runs-on: ubuntu-latest steps: - - name: Cancel Workflow if Merged - if: ${{ github.event.pull_request.merged }} + - name: Cancel Workflow if Merged or Closed + if: ${{ github.event.pull_request.merged || github.event.pull_request.state == 'closed' }} run: | - echo "PR has been merged, cancelling workflow..." - gh run cancel --repo ${{ github.repository }} --workflow "TDengine Test" --branch ${{ github.event.pull_request.base.ref }} \ No newline at end of file + echo "PR has been merged or closed, cancelling workflow..." + gh run list --repo ${{ github.repository }} --branch ${{ github.event.pull_request.head.ref }} --workflow "TDengine Test" --status in_progress --json databaseId --jq '.[].databaseId' | xargs -I {} gh run cancel {} \ No newline at end of file