Skip to content

Separate CodeQL bundle resolution from installation - #4145

Merged
henrymercer merged 4 commits into
mainfrom
henrymercer/bundle-resolution-pr
Sep 17, 2026
Merged

henrymercer merged 4 commits into
mainfrom
henrymercer/bundle-resolution-pr

Conversation

@henrymercer

@henrymercer henrymercer commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Pass a resolved bundle source to the downloader instead of separate URL, compression, and version arguments. Keep version reporting in setup and move toolcache cleanup into download orchestration. Bundle selection, cache keys, and local installation behavior are unchanged.

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Narrow refactor with no intended behavior changes. Unit tests cover bundle resolution, installation, and toolcache cleanup.

Which use cases does this change impact?

Workflow types:

  • Advanced setup - Impacts users who have custom CodeQL workflows.
  • Managed - Impacts users with dynamic workflows (Default Setup, Code Quality, ...).

Products:

  • Code Scanning - The changes impact analyses when analysis-kinds: code-scanning.
  • Code Quality - The changes impact analyses when analysis-kinds: code-quality.
  • Other first-party - The changes impact other first-party analyses.

Environments:

  • Dotcom - Impacts CodeQL workflows on github.com and/or GitHub Enterprise Cloud with Data Residency.
  • GHES - Impacts CodeQL workflows on GitHub Enterprise Server.

How did/will you validate this change?

  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).

All 101 tests in the combined setup-codeql, codeql, and tools-download suites passed. TypeScript compilation, runtime generation, and scoped lint also passed.

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Rollback - Change can only be disabled by rolling back the release or releasing a new version with a fix.

How will you know if something goes wrong after this change is released?

  • Telemetry - I rely on existing telemetry or have made changes to the telemetry.

Are there any special considerations for merging or releasing this change?

  • No special considerations - This change can be merged at any time.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

@henrymercer
henrymercer requested a balanced review from Copilot September 15, 2026 14:26
@github-actions github-actions Bot added the size/L May be hard to review label Sep 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot review overview

🟢 Approval recommended

The refactor preserves existing behavior and includes comprehensive focused tests.

Review tier: Balanced
Findings: None

What changed in this PR

Separates CodeQL bundle resolution from download and installation while preserving existing behavior.

Changes:

  • Introduces a resolved download-source model.
  • Moves toolcache cleanup into download orchestration.
  • Expands version, caching, cleanup, and failure tests.
File Description
src/​setup-codeql.ts Refactors bundle resolution and download orchestration.
src/​setup-codeql.test.ts Adds focused orchestration and edge-case coverage.
src/​codeql.test.ts Tests version reporting and cache keys.
lib/​entry-points.js Excluded generated artifact; not reviewed.
Files excluded by content exclusion policy (1)
  • lib/entry-points.js

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@henrymercer
henrymercer added this pull request to stack #4147 September 15, 2026 17:19
@henrymercer
henrymercer marked this pull request as ready for review September 15, 2026 18:57
@henrymercer
henrymercer requested a review from a team as a code owner September 15, 2026 18:57

@mbg mbg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly minor comments on this, largely related to the documentation. At a high-level, I think this PR is a bit harder to review than it needs to be, because all of the changes are in one commit. There are several refactorings here that could have been split up or done in stages.

Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts Outdated
Comment thread src/setup-codeql.ts Outdated
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
mbg
mbg previously approved these changes Sep 17, 2026

@mbg mbg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for making those minor improvements and addressing all of my review comments! I spotted a couple of minor things in the changes in the last commit that could be improved further, but again nothing major or blocking.

Comment thread src/setup-codeql.test.ts Outdated
Comment thread src/setup-codeql.test.ts Outdated
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
Comment thread src/setup-codeql.ts
@github-actions github-actions Bot added size/XL May be very hard to review and removed size/L May be hard to review labels Sep 17, 2026

@mbg mbg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Comment thread src/setup-codeql.test.ts
Comment thread src/setup-codeql.ts
@henrymercer
henrymercer added this pull request to the merge queue Sep 17, 2026
Merged via the queue into main with commit a0cc010 Sep 17, 2026
223 checks passed
@henrymercer
henrymercer deleted the henrymercer/bundle-resolution-pr branch September 17, 2026 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL May be very hard to review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants