Skip to content

[release/v7.5] Refactor analyze job to reusable workflow and enable on Windows CI#26799

Merged
daxian-dbw merged 3 commits intoPowerShell:release/v7.5from
daxian-dbw:backport/release/v7.5/26322-5e5e17766
Feb 13, 2026
Merged

[release/v7.5] Refactor analyze job to reusable workflow and enable on Windows CI#26799
daxian-dbw merged 3 commits intoPowerShell:release/v7.5from
daxian-dbw:backport/release/v7.5/26322-5e5e17766

Conversation

@daxian-dbw
Copy link
Member

Backport of #26322 to release/v7.5

Triggered by @daxian-dbw on behalf of @app/copilot-swe-agent

Original CL Label: CL-Tools

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

This change improves CI/CD infrastructure by making CodeQL analysis reusable and enabling security scanning on Windows builds.

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Verified that CodeQL analysis runs correctly on both Linux and Windows CI workflows using the reusable workflow. Already validated in master, 7.4, and 7.6 branches.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

This refactors the CodeQL analysis job to a reusable workflow and enables it on Windows CI. The change improves security coverage and maintainability. Already validated in master, 7.4, and 7.6 branches.

Merge Conflicts

Resolved conflicts in linux-ci.yml and windows-ci.yml: replaced inline analyze job with reusable workflow call and added analyze job to windows-ci.yml.

…owerShell#26322)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TravisEz13 <10873629+TravisEz13@users.noreply.github.com>
@daxian-dbw daxian-dbw requested a review from a team as a code owner February 12, 2026 22:51
@daxian-dbw daxian-dbw added the CL-Tools Indicates that a PR should be marked as a tools change in the Change Log label Feb 12, 2026
Copilot AI review requested due to automatic review settings February 12, 2026 22:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Backports the CI refactor that extracts the CodeQL “analyze” job into a reusable workflow and wires it up for both Linux and Windows CI, reducing duplication and improving security scanning coverage.

Changes:

  • Added a reusable CodeQL workflow (analyze-reusable.yml) parameterized by runner OS.
  • Updated Linux CI to call the reusable CodeQL workflow instead of inlining the job.
  • Updated Windows CI to add the CodeQL workflow and include it in ready_to_merge dependencies.
  • Extended Invoke-CIBuild to accept a -Configuration parameter so CodeQL can build with StaticAnalysis.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
tools/ci.psm1 Adds -Configuration parameter to Invoke-CIBuild to support StaticAnalysis builds for CodeQL.
.github/workflows/analyze-reusable.yml Introduces reusable workflow encapsulating CodeQL init/build/analyze steps.
.github/workflows/linux-ci.yml Replaces inline analyze job with a call to the reusable CodeQL workflow.
.github/workflows/windows-ci.yml Adds analyze job via reusable workflow and makes it a ready_to_merge dependency.

@daxian-dbw daxian-dbw merged commit 6174a09 into PowerShell:release/v7.5 Feb 13, 2026
34 of 36 checks passed
@daxian-dbw daxian-dbw deleted the backport/release/v7.5/26322-5e5e17766 branch February 13, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-Tools Indicates that a PR should be marked as a tools change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants