Skip to content

Refactor how the checkout_path input is obtained - #4157

Merged
mbg merged 4 commits into
mainfrom
mbg/refactor/checkout-path
Sep 22, 2026
Merged

mbg merged 4 commits into
mainfrom
mbg/refactor/checkout-path

Conversation

@mbg

@mbg mbg commented Sep 22, 2026

Copy link
Copy Markdown
Member

A few cherry-picked commits from the draft PR at #4148. These commits just refactor some existing logic that mainly affects the analyze action, where several places query the checkout_path input directly. The refactor here changes this so that the input is only queried once and propagated explicitly to other use sites (with the exception of in workflow.ts and git-utils.ts, which will be addressed separately in the future).

Risk assessment

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

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

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.
  • Third-party analyses - The changes affect the upload-sarif action.

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).
  • End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks).

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.
    • Dashboards - I will watch relevant dashboards for issues after the release. Consider whether this requires this change to be released at a particular time rather than as part of a regular release.
    • Alerts - New or existing monitors will trip if something goes wrong with this change.

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.

@mbg
mbg requested a review from a team as a code owner September 22, 2026 10:17
Copilot AI balanced review requested due to automatic review settings September 22, 2026 10:17
@github-actions github-actions Bot added the size/M Should be of average difficulty to review label Sep 22, 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

🟡 Changes recommended

Existing analyze-action tests may fail because the new actions-based input lookup is not configured.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 Medium severity · 1 Low severity

Open (2)
What changed in this PR

Refactors checkout_path retrieval so the analyze action reads it once and explicitly propagates it.

Changes:

  • Passes checkoutPath to diff analysis, caching, and database upload.
  • Migrates environment reads to ActionState.env.
  • Updates database-upload tests for the new state-based API.
File Description
src/​analyze-action.ts Retrieves and propagates checkout_path.
src/​analyze.ts Accepts the checkout path explicitly.
src/​database-upload.ts Uses propagated state and checkout path.
src/​database-upload.test.ts Updates calls for the refactored API.
src/​overlay/​caching.ts Accepts checkout path explicitly.
src/​init-action.ts Uses state-based environment access.
src/​setup-codeql-action.ts Uses state-based environment access.
lib/​entry-points.js Generated bundle; excluded from review.
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.

Comment thread src/analyze-action.ts
Comment thread src/database-upload.ts
@mbg
mbg added this pull request to stack #4158 September 22, 2026 10:25
@mbg
mbg added this pull request to the merge queue Sep 22, 2026
Merged via the queue into main with commit 416ff0d Sep 22, 2026
236 checks passed
@mbg
mbg deleted the mbg/refactor/checkout-path branch September 22, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M Should be of average difficulty to review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants