Repository navigation
Graduate overlay-aware CodeQL version selection - #4246
henrymercer wants to merge 4 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Warning
- Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.
🔵 Needs a closer look
A maintainer should confirm rollout readiness before removing the feature-flag kill switch.
1 open finding
What changed in this PR
Graduates overlay-aware default CodeQL version selection for eligible Code Scanning pull requests.
Changes:
- Removes feature flags, dry-run behavior, and diagnostic telemetry.
- Skips cache lookup on GHES and when only one default version is enabled.
- Updates regression coverage for selection eligibility.
| File | Description |
|---|---|
| src/setup-codeql.ts | Graduates selection and adds cache-lookup guards. |
| src/setup-codeql.test.ts | Covers supported environments and bypass conditions. |
| src/feature-flags.ts | Removes selection and dry-run flags. |
Files excluded by content exclusion policy (1)
- lib/entry-points.js
🧠 Review effort: Max
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…overlay-version-match Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
mbg
left a comment
There was a problem hiding this comment.
The changes make sense and thanks for the explanation of the drive-by improvement in the PR description. Just one minor comment about the rather large condition in getEnabledVersionsWithOverlayBaseDatabases.
| if ( | ||
| !useOverlayAwareDefaultCliVersion || | ||
| (variant !== util.GitHubVariant.DOTCOM && | ||
| variant !== util.GitHubVariant.GHEC_DR) || | ||
| defaultCliVersion.enabledVersions.length === 1 || | ||
| !isAnalyzingPullRequest() | ||
| ) { |
There was a problem hiding this comment.
This is quite a large condition. Can you make this more digestible by naming parts of the expression as constants or refactoring them/the whole condition out into (a) function(s)?
E.g. add to github.ts or feature-flags.ts:
function supportsFeatureFlags(variant: GitHubVariant) {
return variant === util.GitHubVariant.DOTCOM && variant === util.GitHubVariant.GHEC_DR;
}Possibly also add a comment for defaultCliVersion.enabledVersions.length === 1 with the explanation you gave in the PR description.

Graduate
overlay_analysis_match_codeql_versionand remove theoverlay_analysis_match_codeql_version_dry_rundry run, along with the telemetry diagnostic added for it. GHES is excluded explicitly since there are no feature flags and therefore only one CodeQL version will ever be enabled there. Also, as a small optimisation, skip listing the Actions cache when only one default CodeQL version is enabled, since there is only one CodeQL version to choose in this case.Risk assessment
For internal use only. Please select the risk level of this change:
Which use cases does this change impact?
Workflow types:
dynamicworkflows (Default Setup, Code Quality, ...).Products:
analysis-kinds: code-scanning.Environments:
github.comand/or GitHub Enterprise Cloud with Data Residency.How did/will you validate this change?
.test.tsfiles).If something goes wrong after this change is released, what are the mitigation and rollback strategies?
How will you know if something goes wrong after this change is released?
Are there any special considerations for merging or releasing this change?
Merge / deployment checklist