From 4eea5a930a945b7640d845b8b9c1f640ba1fdcaa Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Sat, 24 Oct 2026 22:11:22 +0000 Subject: [PATCH 1/5] Cancel superseded PHPUnit pull request cycles --- .github/workflows/phpunit-feature.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/phpunit-feature.yml b/.github/workflows/phpunit-feature.yml index 8810c5c45..f0de4ba79 100644 --- a/.github/workflows/phpunit-feature.yml +++ b/.github/workflows/phpunit-feature.yml @@ -20,6 +20,12 @@ on: permissions: contents: read +# Retargeting or updating a PR supersedes its previous qualification. Main and +# manual runs keep distinct run IDs so each requested qualification can finish. +concurrency: + group: phpunit-feature-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: action-policy: name: Central action policy preflight From f834c12adf5577e0779bb480231007fe8674fdd3 Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Sat, 24 Oct 2026 22:15:47 +0000 Subject: [PATCH 2/5] Clarify that concurrency supersedes triggered PR cycles --- .github/workflows/phpunit-feature.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/phpunit-feature.yml b/.github/workflows/phpunit-feature.yml index f0de4ba79..23e719ad7 100644 --- a/.github/workflows/phpunit-feature.yml +++ b/.github/workflows/phpunit-feature.yml @@ -20,8 +20,8 @@ on: permissions: contents: read -# Retargeting or updating a PR supersedes its previous qualification. Main and -# manual runs keep distinct run IDs so each requested qualification can finish. +# A new PR cycle supersedes its previous qualification. Main and manual runs +# keep distinct run IDs so each requested qualification can finish. concurrency: group: phpunit-feature-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} From fc4f0fd722642888fa11a2cdc7ebee5000182f1d Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Sat, 24 Oct 2026 22:18:47 +0000 Subject: [PATCH 3/5] Allow superseded PHPUnit jobs to honor cancellation --- .github/workflows/phpunit-feature.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/phpunit-feature.yml b/.github/workflows/phpunit-feature.yml index 23e719ad7..77e7d81eb 100644 --- a/.github/workflows/phpunit-feature.yml +++ b/.github/workflows/phpunit-feature.yml @@ -122,7 +122,8 @@ jobs: feature: name: PHPUnit feature suite needs: action-policy - if: ${{ always() }} + # Report policy failures while allowing cancelled revisions to stop. + if: ${{ !cancelled() }} runs-on: ubuntu-latest timeout-minutes: 25 steps: From 3e4267afa2aec523fd90b2713ce2b7f74f54b095 Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Sat, 24 Oct 2026 22:25:31 +0000 Subject: [PATCH 4/5] Preserve the reviewed failure-reporting guard when cancelling jobs --- .github/workflows/phpunit-feature.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/phpunit-feature.yml b/.github/workflows/phpunit-feature.yml index 77e7d81eb..03a913ad4 100644 --- a/.github/workflows/phpunit-feature.yml +++ b/.github/workflows/phpunit-feature.yml @@ -123,7 +123,7 @@ jobs: name: PHPUnit feature suite needs: action-policy # Report policy failures while allowing cancelled revisions to stop. - if: ${{ !cancelled() }} + if: ${{ always() && !cancelled() }} runs-on: ubuntu-latest timeout-minutes: 25 steps: From d5bf1d0addb07cab002ce58398376ca5e86bc84b Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Sat, 24 Oct 2026 22:26:43 +0000 Subject: [PATCH 5/5] Let superseded source qualification finish as cancelled --- .github/workflows/phpunit-feature.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/phpunit-feature.yml b/.github/workflows/phpunit-feature.yml index 03a913ad4..a27f44844 100644 --- a/.github/workflows/phpunit-feature.yml +++ b/.github/workflows/phpunit-feature.yml @@ -352,7 +352,7 @@ jobs: qualification: name: Feature source qualification needs: [preflight, feature] - if: ${{ always() }} + if: ${{ always() && !cancelled() }} runs-on: ubuntu-latest timeout-minutes: 2