ci(lint): bound the advisory public-surface step so it can't time out the blocking footguns job (#106103)

The 'Public-surface diff vs base (advisory)' step already carries
continue-on-error: true, so its own failure never fails the Windows-footguns
job. But continue-on-error does not shield the job-level timeout-minutes: 5:
when the deepen/fetch loop runs long (a distant or missing merge-base), the
step eats the whole job budget and the job is cancelled at ~5m even though the
blocking footgun/compat checks passed and the public-surface check is advisory.

Give the advisory step its own timeout-minutes: 2. A step overrun is then
killed and, via continue-on-error, kept off the job outcome the same way a
step failure already is, so the blocking job can finish under its budget.
Fixes #106103.
This commit is contained in:
PRATHAMESH75
2026-09-09 04:12:20 +05:30
committed by Teknium
parent b7bef04861
commit 981dc9c367

View File

@@ -193,6 +193,11 @@ jobs:
- name: Public-surface diff vs base (advisory)
if: github.event_name == 'pull_request'
continue-on-error: true
# Bound the advisory step so a long deepen/fetch (e.g. a distant or missing
# merge-base) can't consume the blocking job's 5-minute budget and cancel it.
# continue-on-error already keeps a step *failure* off the job; a step-level
# timeout keeps a step *overrun* off the job-level timeout the same way.
timeout-minutes: 2
run: |
git fetch --no-tags --deepen=200 origin "${{ github.base_ref }}" HEAD
for i in 1 2 3; do