Skip to content

Intermittent CodeQL Analyze (go) Autobuild runner termination blocks merges, and GitHub refuses to re-run it #6767

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

Measured 2026-08-29 03:36Z across every open PR, with a main control:

PR Analyze (go)
#6742 success
#6764 failure
#6765 failure
#6766 success
main, 5 newest settled runs success ×5

So it is intermittent, not systemic — same code, both outcomes. The failing job's annotations are
cgo extraction errors, not analysis findings:

could not import C (no metadata for C)
cannot convert w.window (variable of Pointer type pointer) to type windowPointer

Why this blocks merges

main carries a code_scanning ruleset rule (CodeQL: alerts=all, security=all) in addition to
required_status_checks (CI - Required Checks). A run that fails to produce Go results therefore
gates the merge even though Analyze (go) is not in the required-status-checks list. That
distinction is easy to miss: reading only required_status_checks suggests CodeQL is advisory, and it
is not.

Both affected PRs sit BLOCKED with every other check green — including #6764, a release PR with
auto-merge already armed, so this stalls the release train rather than one feature.

Why it does not clear itself

The analysis is GitHub-managed (event: dynamic, path: dynamic/github-code-scanning/codeql), so
there is no workflow file in the repository and gh run rerun is refused outright:

This workflow run cannot be retried

The only way to get a fresh analysis is a new head commit. For a bot-authored release PR nothing
will produce one, so it can sit blocked indefinitely.

Expected

An intermittent extractor failure should not permanently block a merge, and recovering from one should
not require inventing a commit.

Acceptance criteria

  • Root-cause the cgo extraction failure (which package pulls cgo into the Go analysis, and whether
    it can be excluded from CodeQL's build without losing coverage of first-party code).
  • Either stabilise the analysis, or move off default setup to an advanced-setup workflow so the run
    lives in this repository and can be re-run.
  • A blocked PR has a documented recovery path that does not depend on an empty commit.
  • Confirm the intended code_scanning rule behaviour is what we want for an extractor error
    (as opposed to a real alert).

Size

Medium. The diagnosis is bounded; the remedy is likely the default-setup → advanced-setup move, which
is a known, reviewable change.

Blocker: ksail repository settings — CodeQL default setup must be disabled, and the "Require code quality results" ruleset needs a source once it is | authority | last-verified 2026-09-20: default setup still configured (actions, go, javascript, javascript-typescript, typescript; suite extended), and rulesets Require code scanning results (6455804) and Require code quality results (16885082) are both active. The fix (#7130) is written and its own contract failures are resolved, but every Analyze job fails CodeQL analyses from advanced configurations cannot be processed when the default setup is enabled until the setting is changed, so the workflow cannot be validated. | asked pr 2026-09-19

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions