From 1059ce15c44ff0fc8cf402fd8ea80d88a516b448 Mon Sep 17 00:00:00 2001 From: Aaron Jomy Date: Mon, 7 Sep 2026 18:29:36 +0200 Subject: [PATCH 1/3] [ci] Rename the CI workflow to Test and drop the wheels prefix --- .github/workflows/ci.yml | 2 +- .github/workflows/main-failure-report.yml | 2 +- .github/workflows/wheels.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 47e152c..e1f97ed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: CI +name: Test on: push: diff --git a/.github/workflows/main-failure-report.yml b/.github/workflows/main-failure-report.yml index f70647c..2e2fc2a 100644 --- a/.github/workflows/main-failure-report.yml +++ b/.github/workflows/main-failure-report.yml @@ -6,7 +6,7 @@ name: Main failure report on: workflow_run: - workflows: [CI, Wheels] + workflows: [Test, Wheels] types: [completed] permissions: diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 02ae701..02f2ac2 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -30,7 +30,7 @@ concurrency: jobs: wheels: - name: wheels ${{ matrix.label }} + name: ${{ matrix.label }} # A labeled event re-runs the workflow only for build-wheels itself; # jobs without a needs edge to this one repeat the guard by alias. if: &label-guard ${{ github.event.action != 'labeled' || github.event.label.name == 'build-wheels' }} From 53ed0aff07808900fb829501ea57f4441b88256c Mon Sep 17 00:00:00 2001 From: Aaron Jomy Date: Mon, 7 Sep 2026 17:11:22 +0200 Subject: [PATCH 2/3] [ci] Fold the PR nightly trigger into the nightly workflow --- .github/workflows/nightly.yml | 10 ++++++---- .github/workflows/pr-nightly.yml | 20 -------------------- 2 files changed, 6 insertions(+), 24 deletions(-) delete mode 100644 .github/workflows/pr-nightly.yml diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index db0df44..2edb54d 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1,23 +1,25 @@ name: Nightly -# The full test matrix on a schedule; pr-nightly.yml also runs it on -# PRs labeled test-nightly. +# The full test matrix on a schedule; applying the test-nightly label +# runs it on a PR (re-apply the label for a fresh run). on: schedule: - cron: '30 2 * * *' workflow_dispatch: - workflow_call: + pull_request: + types: [labeled] permissions: contents: read concurrency: - group: nightly-${{ github.workflow }} + group: nightly-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build-test: + if: ${{ github.event_name != 'pull_request' || github.event.label.name == 'test-nightly' }} name: ${{ matrix.os }}/llvm${{ matrix.llvm }}/py${{ matrix.py }}/c++${{ matrix.cxx }}${{ matrix.vg && '/vg' || '' }}${{ matrix.flavor == 'cling' && '/cling' || '' }} strategy: fail-fast: false diff --git a/.github/workflows/pr-nightly.yml b/.github/workflows/pr-nightly.yml deleted file mode 100644 index 79a6caa..0000000 --- a/.github/workflows/pr-nightly.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: PR Nightly - -# Run the nightly matrix on a PR when the test-nightly label is applied. -# Label events only: re-apply the label for a fresh run. - -on: - pull_request: - types: [labeled] - -permissions: - contents: read - -concurrency: - group: pr-nightly-${{ github.event.pull_request.number }} - cancel-in-progress: true - -jobs: - nightly: - if: ${{ github.event.label.name == 'test-nightly' }} - uses: ./.github/workflows/nightly.yml From 739bcaad0077210d98f8ef56939dd6474be68136 Mon Sep 17 00:00:00 2001 From: Aaron Jomy Date: Mon, 7 Sep 2026 18:58:42 +0200 Subject: [PATCH 3/3] [ci] Key the label guards on PR labels, not the firing event --- .github/workflows/nightly.yml | 2 +- .github/workflows/wheels.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 2edb54d..b1e615b 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -19,7 +19,7 @@ concurrency: jobs: build-test: - if: ${{ github.event_name != 'pull_request' || github.event.label.name == 'test-nightly' }} + if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'test-nightly') }} name: ${{ matrix.os }}/llvm${{ matrix.llvm }}/py${{ matrix.py }}/c++${{ matrix.cxx }}${{ matrix.vg && '/vg' || '' }}${{ matrix.flavor == 'cling' && '/cling' || '' }} strategy: fail-fast: false diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 02f2ac2..4a48d31 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -31,9 +31,9 @@ concurrency: jobs: wheels: name: ${{ matrix.label }} - # A labeled event re-runs the workflow only for build-wheels itself; - # jobs without a needs edge to this one repeat the guard by alias. - if: &label-guard ${{ github.event.action != 'labeled' || github.event.label.name == 'build-wheels' }} + # Label events run only when the PR carries build-wheels, whichever + # label fired; jobs without a needs edge repeat the guard by alias. + if: &label-guard ${{ github.event.action != 'labeled' || contains(github.event.pull_request.labels.*.name, 'build-wheels') }} strategy: fail-fast: false matrix: