workflows/pr: fix condition for no-pr-failures job (#433097)

Changed files
+5 -1
.github
workflows
+5 -1
.github/workflows/pr.yml
···
# Do NOT change the name of this job, otherwise the rule will not catch it anymore.
# This would prevent all PRs from merging.
name: no PR failures
-
if: ${{ cancelled() || failure() }}
+
# A single job is "cancelled" when it hits its timeout. This is not the same
+
# as "skipped", which happens when the `if` condition doesn't apply.
+
# The "cancelled()" function only checks the whole workflow, but not individual
+
# jobs.
+
if: ${{ failure() || contains(needs.*.result, 'cancelled') }}
runs-on: ubuntu-24.04-arm
steps:
- run: exit 1