diff --git a/.github/workflows/phpunit-feature.yml b/.github/workflows/phpunit-feature.yml index 8810c5c45..a27f44844 100644 --- a/.github/workflows/phpunit-feature.yml +++ b/.github/workflows/phpunit-feature.yml @@ -20,6 +20,12 @@ on: permissions: contents: read +# 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' }} + jobs: action-policy: name: Central action policy preflight @@ -116,7 +122,8 @@ jobs: feature: name: PHPUnit feature suite needs: action-policy - if: ${{ always() }} + # Report policy failures while allowing cancelled revisions to stop. + if: ${{ always() && !cancelled() }} runs-on: ubuntu-latest timeout-minutes: 25 steps: @@ -345,7 +352,7 @@ jobs: qualification: name: Feature source qualification needs: [preflight, feature] - if: ${{ always() }} + if: ${{ always() && !cancelled() }} runs-on: ubuntu-latest timeout-minutes: 2