Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[release/v7.5.6] Fix the APIScan pipeline#27276

Merged
daxian-dbw merged 2 commits into
PowerShell:release/v7.5.6PowerShell/PowerShell:release/v7.5.6from
daxian-dbw:backport/release/v7.5.6/26016-cfc0bcd9fdaxian-dbw/PowerShell:backport/release/v7.5.6/26016-cfc0bcd9fCopy head branch name to clipboard
Apr 15, 2026
Merged

[release/v7.5.6] Fix the APIScan pipeline#27276
daxian-dbw merged 2 commits into
PowerShell:release/v7.5.6PowerShell/PowerShell:release/v7.5.6from
daxian-dbw:backport/release/v7.5.6/26016-cfc0bcd9fdaxian-dbw/PowerShell:backport/release/v7.5.6/26016-cfc0bcd9fCopy head branch name to clipboard

Conversation

@daxian-dbw
Copy link
Copy Markdown
Member

Backport of #26016 to release/v7.5.6

Triggered by @daxian-dbw on behalf of @daxian-dbw

Original CL Label: CL-BuildPackaging

/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)

Fixes the APIScan pipeline: keeps win and win-x64 runtime folders when removing unused runtimes, and stops downloading getfilesiginforedist.dll from Azure blob (the build-produced version works correctly with dotnet-symbols).

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

The APIScan validation pipeline was run and passed successfully. This change only affects CI/build tooling with no user-facing code changes, so no new automated tests are needed.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

This is a CI/build pipeline-only fix with no changes to user-facing PowerShell code. The risk of regression is minimal.

1. When removing unused runtimes, keep the `win` and `win-x64` runtime folders.
2. Stop downloading `getfilesiginforedist.dll` from Azure blob. The original `getfilesiginforedist.dll` produced from the build works fine with the symbols retrieved by `dotnet-symbols`.
@daxian-dbw daxian-dbw requested a review from a team as a code owner April 15, 2026 21:39
@daxian-dbw daxian-dbw added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Apr 15, 2026
Copilot AI review requested due to automatic review settings April 15, 2026 21:39
@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
5 pipeline(s) require an authorized user to comment /azp run to run.

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
5 pipeline(s) require an authorized user to comment /azp run to run.

Copy link
Copy Markdown
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

Backport to release/v7.5.6 to fix the APIScan validation pipeline by adjusting how build outputs/runtimes are prepared and removing reliance on an externally downloaded getfilesiginforedist.dll.

Changes:

  • Remove Azure Blob variable group usage and the AzurePowerShell download step for getfilesiginforedist.dll.
  • Ensure the OneBranch output directory exists before copying build outputs into it.
  • Update runtime-pruning logic to retain Windows runtimes and delete non-Windows (and certain Windows) runtime folders.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.

File Description
.pipelines/templates/compliance/apiscan.yml Removes blob download step; improves output folder handling; updates runtime cleanup logic used by APIScan.
.pipelines/apiscan-gen-notice.yml Adjusts APIScan SDL configuration (including versionNumber).

# Only key windows runtimes
Get-ChildItem -Path '$(ob_outputDirectory)\runtimes\*' -File -Recurse | Where-Object {$_.FullName -notmatch '.*\/runtimes\/win'} | Foreach-Object {
# Only keep windows runtimes
Write-Verbose -Verbose -Message "Deleting non-win-x64 runtimes ..."
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

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

The log message says "Deleting non-win-x64 runtimes", but the filter keeps both runtimes\win and runtimes\win-x64 (and only later removes win-x86/win-arm*). This message is misleading when troubleshooting pipeline failures; consider updating it to reflect the actual behavior (e.g., deleting non-Windows runtimes, then deleting win-x86/win-arm*).

Suggested change
Write-Verbose -Verbose -Message "Deleting non-win-x64 runtimes ..."
Write-Verbose -Verbose -Message "Deleting non-Windows runtimes ..."

Copilot uses AI. Check for mistakes.
@daxian-dbw daxian-dbw merged commit 6633028 into PowerShell:release/v7.5.6 Apr 15, 2026
34 checks passed
@daxian-dbw daxian-dbw deleted the backport/release/v7.5.6/26016-cfc0bcd9f branch April 15, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.