Files
Martin Vogel 9427dd075d fix(ci): release gates fail closed on cancelled jobs + refuse malformed version input
Three fixes from the v0.10.7 release incident (2026-08-18):

1. build (and smoke/soak) required 'not failed' instead of explicit success.
   failure() does not cover a needed job that TIMED OUT (conclusion
   'cancelled'), so lint hitting its 15-min timeout cascaded test into
   'skipped' and the pipeline published with the whole test matrix and
   asan-soak silently skipped. build now requires lint success plus either
   test success or the sanctioned skip_tests input; smoke/soak require build
   success explicitly.

2. The tag is inputs.version verbatim: dispatching a bare '0.10.7' published
   a release the installers can never resolve (they fetch
   releases/download/v<version>/...), and under immutable releases the
   mis-named tag cannot be retagged or its name reused. A preflight job now
   refuses any non-v-prefixed version before anything runs.

3. Lint's 15-min timeout was one slow-runner day away from cancelling a
   normally-5-min job; raised to 30 so only a genuine hang can hit it.

Release-path only (workflow_dispatch); adds one ~5s preflight job; no PR-CI
gating, cost, or trigger changes.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-08-18 22:12:19 +02:00
..