@@ -338,7 +338,7 @@ jobs:
338338
339339 # ── Step 4: Smoke test every binary ─────────────────────────
340340 smoke-unix :
341- if : ${{ inputs.skip_builds != true }}
341+ if : ${{ !cancelled() && inputs.skip_builds != true }}
342342 needs : [build-unix]
343343 strategy :
344344 fail-fast : false
@@ -437,7 +437,7 @@ jobs:
437437 echo "=== ClamAV: clean ==="
438438
439439 smoke-windows :
440- if : ${{ inputs.skip_builds != true }}
440+ if : ${{ !cancelled() && inputs.skip_builds != true }}
441441 needs : [build-windows]
442442 strategy :
443443 fail-fast : false
@@ -511,7 +511,7 @@ jobs:
511511
512512 # ── Step 6: Soak tests (after smoke, per-platform) ──────────
513513 soak-quick :
514- if : ${{ inputs.soak_level != 'none' && inputs.skip_builds != true }}
514+ if : ${{ !cancelled() && inputs.soak_level != 'none' && inputs.skip_builds != true }}
515515 needs : [build-unix]
516516 runs-on : ${{ matrix.os }}
517517 timeout-minutes : 30
@@ -561,7 +561,7 @@ jobs:
561561 retention-days : 14
562562
563563 soak-quick-windows :
564- if : ${{ inputs.soak_level != 'none' && inputs.skip_builds != true }}
564+ if : ${{ !cancelled() && inputs.soak_level != 'none' && inputs.skip_builds != true }}
565565 needs : [build-windows]
566566 runs-on : windows-latest
567567 timeout-minutes : 30
@@ -597,7 +597,7 @@ jobs:
597597 retention-days : 14
598598
599599 soak-asan :
600- if : ${{ inputs.soak_level == 'full' && inputs.skip_builds != true }}
600+ if : ${{ !cancelled() && inputs.soak_level == 'full' && inputs.skip_builds != true }}
601601 needs : [build-unix]
602602 runs-on : ${{ matrix.os }}
603603 timeout-minutes : 45
@@ -651,7 +651,7 @@ jobs:
651651 retention-days : 14
652652
653653 soak-asan-windows :
654- if : ${{ inputs.soak_level == 'full' && inputs.skip_builds != true }}
654+ if : ${{ !cancelled() && inputs.soak_level == 'full' && inputs.skip_builds != true }}
655655 needs : [build-windows]
656656 runs-on : windows-latest
657657 timeout-minutes : 45
0 commit comments