|
26 | 26 | # evaluates it once per workflow. This narrows it again for the corpus job alone. |
27 | 27 | changes: |
28 | 28 | name: 🔍 Which paths moved |
| 29 | + # Only the pull request path reads this job's output. On a schedule the action has no base to |
| 30 | + # diff, warns that `before` is missing and reports the files in the last commit on main, which |
| 31 | + # nothing then consults. Skipping it there keeps the nightly off a job it does not need. |
| 32 | + if: github.event_name == 'pull_request' |
29 | 33 | runs-on: warp-ubuntu-latest-x64-2x |
30 | 34 | outputs: |
31 | 35 | package: ${{ steps.filter.outputs.package }} |
|
63 | 67 | mutation-corpus: |
64 | 68 | name: 🧬 Mutation corpus |
65 | 69 | needs: changes |
66 | | - if: github.event_name != 'pull_request' || needs.changes.outputs.package == 'true' |
| 70 | + # `!cancelled()` is here for the nightly, not for tidiness. `needs` carries an implicit |
| 71 | + # success() on the job it names, and that implicit test outranks the `||` below: with a plain |
| 72 | + # condition, a `changes` job that failed or was skipped skips this one, so the nightly would |
| 73 | + # stop scanning for tree drift and report nothing about having stopped. A status-check function |
| 74 | + # in the `if` is what drops the implicit success(), so the event test below decides alone. |
| 75 | + # `!cancelled()` rather than `always()` because `cancel-in-progress` above is a real path and a |
| 76 | + # superseded run should not finish this job. |
| 77 | + # |
| 78 | + # Pull request behaviour is deliberately unchanged: on a PR a failed `changes` leaves |
| 79 | + # `needs.changes.outputs.package` empty, so the corpus still skips. The nightly is the backstop |
| 80 | + # for that, which is the same trade the paths gate already makes for routes-only pull requests. |
| 81 | + if: >- |
| 82 | + !cancelled() && |
| 83 | + (github.event_name != 'pull_request' || needs.changes.outputs.package == 'true') |
67 | 84 | runs-on: warp-ubuntu-latest-x64-4x |
68 | 85 | steps: |
69 | 86 | - name: ⬇️ Checkout repo |
|
0 commit comments