ci(security): raise the codeql-gate wait from 45 to 150 minutes - #1960
Merged
Conversation
The gate waited 90 x 30s = 45 min for CodeQL to finish on the PR head. That is shorter than CodeQL actually takes on this repository, so the gate has been failing runs that had not failed. Measured on PR #1426, head 7b72652: the CodeQL SAST workflow completed with conclusion=success at 17:46:05, having started at 15:41:44 -- 124 minutes. The gate step ran 16:52:58 to 17:38:44 and reported "BLOCKED: CodeQL timeout" 7 minutes and 21 seconds before the scan it was waiting for succeeded. Two open contributor pull requests are red from exactly this: #1426 and #1769, both with CodeQL completed=success on their head and every other check green. Three further PRs (#1703, #1741, #1742) are also red on codeql-gate alone, but from a different cause: the CodeQL run on their head is completed=cancelled, so the gate saw a non-success conclusion and correctly exited 1 without waiting. This change does not help those and is not intended to; they need a fresh scan, most likely having been superseded by concurrency cancel-in-progress in codeql.yml. 300 x 30s = 150 min covers the measured 124 min with margin. The job already declares timeout-minutes: 240, so the wait still cannot outlive its own job. No trigger, permission or gating change: codeql-gate blocks exactly what it blocked before, and a genuine CodeQL failure still exits 1 immediately rather than waiting out the budget. Only the absence of a verdict waits longer. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This was referenced Aug 31, 2026
This was referenced Sep 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
security / codeql-gatewaits for the CodeQL run on the PR head, with a budget of90 × 30s= 45 minutes. That is shorter than CodeQL actually takes on this repository, so the gate has been failing runs that had not failed.Measurement
PR #1426, head
7b72652a:conclusion=successBLOCKED: CodeQL timeoutThe gate declared a timeout 7 min 21 s before the scan it was waiting for succeeded.
Blast radius — and what this does not cover
Five open contributor PRs are red on
security / codeql-gatealone with every other check green. Checking each head SHA against the CodeQL workflow splits them into two different causes, and only the first is this bug:completed successcompleted successcompleted cancelledcompleted cancelledcompleted cancelledFor the three cancelled ones the gate behaved correctly: it saw
completedwith a non-success conclusion and exited 1 immediately rather than waiting. Raising the budget does nothing for them — they need CodeQL re-run, most likely having been superseded byconcurrency: cancel-in-progress: trueincodeql.yml. That is a separate question and is not addressed here.The change
seq 1 90→seq 1 300, i.e. 150 minutes. The progress labels and the step name follow.Scope (per the CI-change checklist)
codeql-gateblocks exactly what it blocked before. A genuine CodeQL failure still exits 1 on the spot rather than waiting out the budget — only the absence of a verdict waits longer.ubuntu-latestjob, only in the case that used to fail outright. The job already declarestimeout-minutes: 240, so the wait still cannot outlive its own job.security / codeql-gate; only the step's display name mentions the number, so branch protection is unaffected.What this does not do
It does not address why CodeQL takes ~2 h on a C codebase this size —
build-mode: manualruns the fullscripts/build.shinside the analysis. Making the scan faster is the better long-term fix; this stops the bleeding without pretending to be that.