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/nightly.yml b/.github/workflows/nightly.yml index db0df44..b1e615b 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' || 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/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 diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 02ae701..4a48d31 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -30,10 +30,10 @@ concurrency: jobs: wheels: - name: wheels ${{ 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' }} + name: ${{ matrix.label }} + # 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: