@@ -233,8 +233,16 @@ jobs:
233233 test-guidelines-stable :
234234 runs-on : ubuntu-latest
235235 needs : [test-examples, analyze-requirements]
236+ # Always run so that this job explicitly fails when dependencies fail,
237+ # rather than being skipped. Skipped jobs don't block merge queue.
238+ if : always()
236239 name : Test Guidelines (Stable)
237240 steps :
241+ - name : Fail if dependencies failed
242+ if : needs.test-examples.result != 'success' || needs.analyze-requirements.result != 'success'
243+ run : |
244+ echo "::error::Dependency failed - test-examples: ${{ needs.test-examples.result }}, analyze-requirements: ${{ needs.analyze-requirements.result }}"
245+ exit 1
238246 - name : Checkout repository
239247 uses : actions/checkout@v4
240248
@@ -334,9 +342,16 @@ jobs:
334342 test-guidelines-nightly :
335343 runs-on : ubuntu-latest
336344 needs : [test-examples, analyze-requirements]
337- if : needs.analyze-requirements.outputs.needs_nightly == 'true'
345+ # Always run (when nightly is needed) so that this job explicitly fails
346+ # when dependencies fail, rather than being skipped.
347+ if : always() && needs.analyze-requirements.outputs.needs_nightly == 'true'
338348 name : Test Guidelines (Nightly)
339349 steps :
350+ - name : Fail if dependencies failed
351+ if : needs.test-examples.result != 'success' || needs.analyze-requirements.result != 'success'
352+ run : |
353+ echo "::error::Dependency failed - test-examples: ${{ needs.test-examples.result }}, analyze-requirements: ${{ needs.analyze-requirements.result }}"
354+ exit 1
340355 - name : Checkout repository
341356 uses : actions/checkout@v4
342357
0 commit comments