[llvm] workflows/premerge: Cancel in progress jobs when a PR is merged (PR #125329)
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 31 19:10:59 PST 2025
https://github.com/tstellar created https://github.com/llvm/llvm-project/pull/125329
None
>From f3be80c40bd79e4fc9b80ccdd65cf92e3e33b477 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 31 Jan 2025 19:07:16 -0800
Subject: [PATCH] workflows/premerge: Cancel in progress jobs when a PR is
merged
---
.github/workflows/premerge.yaml | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 91aa3eefde372c..b268f1faab9890 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -5,6 +5,15 @@ permissions:
on:
pull_request:
+ types:
+ - opened
+ - synchronize
+ - reopened
+ # When a PR is closed, we still start this workflow, but then skip
+ # all the jobs, which makes it effectively a no-op. The reason to
+ # do this is that it allows us to take advantage of concurrency groups
+ # to cancel in progress CI jobs whenever the PR is closed.
+ - closed
paths:
- .github/workflows/premerge.yaml
push:
@@ -14,7 +23,9 @@ on:
jobs:
premerge-checks-linux:
- if: github.repository_owner == 'llvm'
+ if: >-
+ github.repository_owner == 'llvm' &&
+ (github.event_name != 'pull_request' || github.event.action != 'closed')
runs-on: llvm-premerge-linux-runners
concurrency:
group: ${{ github.workflow }}-linux-${{ github.event.pull_request.number || github.sha }}
@@ -73,7 +84,9 @@ jobs:
./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})"
premerge-checks-windows:
- if: github.repository_owner == 'llvm'
+ if: >-
+ github.repository_owner == 'llvm' &&
+ (github.event_name != 'pull_request' || github.event.action != 'closed')
runs-on: llvm-premerge-windows-runners
concurrency:
group: ${{ github.workflow }}-windows-${{ github.event.pull_request.number || github.sha }}
@@ -141,7 +154,8 @@ jobs:
if: >-
github.repository_owner == 'llvm' &&
(startswith(github.ref_name, 'release/') ||
- startswith(github.base_ref, 'release/'))
+ startswith(github.base_ref, 'release/')) &&
+ (github.event_name != 'pull_request' || github.event.action != 'closed')
steps:
- name: Checkout LLVM
uses: actions/checkout at v4
More information about the llvm-commits
mailing list