diff --git a/.github/workflows/gc-root-dominance.yml b/.github/workflows/gc-root-dominance.yml index aeb2b0c1a6..ba602980c6 100644 --- a/.github/workflows/gc-root-dominance.yml +++ b/.github/workflows/gc-root-dominance.yml @@ -788,6 +788,9 @@ jobs: # filter. `|| true` is deliberate and is the ONLY one in this file — # this step is not a gate and must not be read as one. - name: Unfiltered hazard census (diagnostic, not a gate) + # Keep this diagnostic within the remaining job budget after the + # required checks; its timeout must not cancel successful gates. + timeout-minutes: 5 # The explicit opt-out `gc_gate_wiring_check.py` looks for. Without it # that gate reads the `|| true` below as a swallowed failure -- which # is exactly right for a gating step and exactly wrong for this one, so diff --git a/changelog.d/11742-bounded-statepoints-census.md b/changelog.d/11742-bounded-statepoints-census.md new file mode 100644 index 0000000000..cfcd9d8d43 --- /dev/null +++ b/changelog.d/11742-bounded-statepoints-census.md @@ -0,0 +1 @@ +Bound the non-gating statepoints hazard census to five minutes so it cannot consume the remaining job budget after required root checks succeed. Required checker coverage and failure thresholds are unchanged.