[release/v7.6.5] Produce min-size package for arm64 architecture - #27798
Merged
Justin Chung (jshigetomi) merged 1 commit intoAug 10, 2026
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
Backports the build/packaging pipeline updates needed to produce min-size packages for both x64 and arm64 (including proper artifact staging/downloading) on the release/v7.6.5 branch.
Changes:
- Replaces the single
min-sizepackage type withmin-size-x64andmin-size-arm64in packaging dispatch. - Extends minimal-size build support to additional runtimes (linux-arm64, win-arm64, osx-arm64) and aligns pipeline stages to build/package both min-size architectures.
- Updates release upload/downloading templates to include the new artifacts (and ensures arm64 deb is downloaded for publishing).
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/packaging/packaging.psm1 | Adds new min-size package types and runtime selection/dispatch updates for arm64. |
| tools/packaging/packaging.psd1 | Stops exporting removed AzDevOps linux packaging helper functions. |
| build.psm1 | Expands allowed -ForMinimalSize runtimes; clarifies dotnet run arg parsing with --. |
| .pipelines/templates/uploadToAzure.yml | Downloads arm64 deb and splits minSize artifact downloads into x64/arm64. |
| .pipelines/templates/stages/PowerShell-Packages-Stages.yml | Adds separate Windows package/sign stages for x64/arm64 min-size; adds Linux arm64 min-size packaging job. |
| .pipelines/templates/stages/PowerShell-Coordinated_Packages-Stages.yml | Adds coordinated builds for linux-arm64 minSize and windows arm64 minSize. |
| .pipelines/templates/packaging/windows/sign.yml | Maps new runtime keys to min-size package types and adjusts zip/min-size detection logic. |
| .pipelines/templates/packaging/windows/package.yml | Updates coordinated-build artifact download logic and runtime mapping for min-size variants. |
| .pipelines/templates/linux-package-build.yml | Adds min-size-x64/min-size-arm64 mappings and limits LTS rebuild to deb/rpm only. |
Suppressed comments (1)
.pipelines/templates/packaging/windows/package.yml:112
- After downloading the min-size build artifact, the script constructs paths using
${runtime}(e.g.drop_windows_build_windows_x64_minsize). The coordinated build job name usesminSize, so these paths will not exist and will throw when validatingpwsh.exe. Build the artifact folder name from the architecture plus the canonicalminSizesuffix instead of${runtime}.
$signedFilesPath, $psoptionsFilePath = if ($runtime.Contains('minsize')) {
"$(Pipeline.Workspace)\CoOrdinatedBuildPipeline\drop_windows_build_windows_${runtime}\$signedFolder"
"$(Pipeline.Workspace)\CoOrdinatedBuildPipeline\drop_windows_build_windows_${runtime}\psoptions\psoptions.json"
}
else {
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+198
to
201
| if ($packageTypes -contains 'zip' -or $packageTypes -like 'fxdependent*' -or $packageTypes -like 'min-size*') { | ||
| Write-Verbose -Verbose "signed zipPkgPath: $zipPkgPath" | ||
| Copy-Item -Path $zipPkgPath -Destination '$(ob_outputDirectory)' -Force -Verbose | ||
| } |
Comment on lines
68
to
+71
| - download: CoOrdinatedBuildPipeline | ||
| artifact: drop_windows_build_windows_x64_${{ parameters.runtime }} | ||
| artifact: drop_windows_build_windows_${{ parameters.runtime }} | ||
| displayName: Download minsize signed artifacts | ||
| condition: ${{ eq(parameters.runtime, 'minSize') }} | ||
| condition: ${{ contains(parameters.runtime, 'minsize') }} |
Justin Chung (jshigetomi)
enabled auto-merge (squash)
August 10, 2026 16:38
Dongbo Wang (daxian-dbw)
approved these changes
Aug 10, 2026
Justin Chung (jshigetomi)
merged commit Aug 10, 2026
1d649cc
into
PowerShell:release/v7.6.5
39 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #27646 to release/v7.6.5
Triggered by Justin Chung (@jshigetomi) on behalf of Dongbo Wang (@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
Release build and packaging pipelines must produce, sign, stage, and upload the new arm64 min-size artifacts.
Customer Impact
Adds the requested arm64 min-size package and ensures the arm64 Debian package is downloaded for release publishing.
Regression
REQUIRED: Check exactly one box.
This is not a regression.
Testing
Imported tools/packaging/packaging.psd1 and resolved Start-PSPackage successfully; validated PowerShell syntax and confirmed the backport diff has no whitespace errors or conflict markers.
Risk
REQUIRED: Check exactly one box.
The change updates shared cross-platform packaging pipelines and package type dispatch, but is a direct backport of the merged master change with conflicts limited to preserving existing release-branch Windows package handling.
Merge Conflicts
Resolved conflicts in Windows package/sign templates by preserving release/v7.6.5 MSI and EXE artifact handling while using wildcard matching for architecture-specific fxdependent and min-size package types. Preserved MSI as an accepted packaging type while replacing min-size with min-size-x64 and min-size-arm64.