ci: unstick verify-stack on Gitea 1.27 + runner 2.0.0 — drop status-function if on a needs job (refs #134)
CI / build (pull_request) Successful in 1m30s
CI / lint (pull_request) Successful in 1m40s
CI / unit (pull_request) Successful in 1m44s
CI / frontend (pull_request) Successful in 3m45s
CI / mutation (pull_request) Successful in 7m5s
CI / verify-stack (pull_request) Successful in 8m52s

This commit is contained in:
not
2026-07-24 13:31:14 +02:00
parent 4698c869f3
commit a150369fef
2 changed files with 32 additions and 3 deletions
+7 -3
View File
@@ -144,11 +144,15 @@ jobs:
# they never co-schedule now the runner has capacity >1. A concurrent Stryker run + full-stack
# bring-up + Playwright browser on one host is what OOMs the e2e (commit d5e5fa2, #126). The
# light .NET/frontend jobs have no `needs`, so they still parallelise up to runner capacity.
# `if: !cancelled()` keeps verify-stack running even when the mutation ratchet fails (so we don't
# lose its signal) while still honouring run cancellation from the concurrency group above.
#
# No `if: ${{ !cancelled() }}` here (removed in #134): on Gitea 1.27 + act_runner 2.0.0, a job
# gated by a status-function `if` (always()/cancelled()) on top of `needs` routes through the new
# transitional "Cancelling" state + capability negotiation and never leaves `waiting` — it's never
# dispatched (gitea-actions-gotchas.md §7). Default `if: success()` dispatches normally. Cost: a
# failing mutation ratchet now skips verify-stack instead of running it anyway; the fix-and-re-push
# re-run exercises verify-stack, so we still get the signal.
verify-stack:
needs: [mutation]
if: ${{ !cancelled() }}
runs-on: ubuntu-latest
steps:
- uses: https://github.com/actions/checkout@v4