◐ Shell
clean mode source ↗

Add `deb-arm64` package type for Debian arm64 by andyleejordan · Pull Request #27386 · PowerShell/PowerShell

@andyleejordan

Resolves the in-repo half of #24076 (DSR for Debian 12 arm64). We already
build a `linux-arm64` self-contained binary and a `tar-arm64` tarball, but
the only `.deb` we ship is `amd64`. This adds a `deb-arm64` packaging
path that consumes the existing arm64 signed binary drop and emits a deb
whose control field reports `Architecture: arm64` and whose filename
ends in `_arm64.deb`.

The packaging logic itself was almost free — `New-DebPackage` already
takes `HostArchitecture` and writes it verbatim into the deb control
file and output filename, and Debian uses `arm64` natively (no `aarch64`
translation like RPM needs). So the new switch arm in `Start-PSPackage`
is a clone of `'deb'` with `HostArchitecture = "arm64"`.

Pipeline-side:

- `linux-package-build.yml` learns the `deb-arm64` packageType and maps
  it to the `Signed-linux-arm64` drop folder
- `PowerShell-Packages-Stages.yml` adds a `deb_arm64` job that consumes
  the existing `drop_linux_build_linux_arm64` /
  `drop_linux_sign_linux_arm64` artifacts (the same ones feeding
  `tar-arm64` today)
- `release-validate-packagenames.yml` widens the deb regex from
  `_amd64\.deb` to `_(amd64|arm64)\.deb`

I deliberately did not set `hostArchitecture: arm64` on the new job's
pool. Per OneBranch's ARM64 Build Hosts guidance, that flag is for
native compilation of arm64 code; we're just running `dpkg-deb` over
already-built arm64 binaries, which is what `tar-arm64` does today on
the default amd64 linux pool. The existing signing step's
`files_to_sign: '**/*.rpm;**/*.deb'` glob already picks up the new
artifact with no change.

The remaining DSR checklist items (Docker image in
PowerShell/PowerShell-Docker, PMC publish, lifecycle and install-doc
updates in MicrosoftDocs/PowerShell-Docs) live outside this repo and
are tracked on #24076.

Drafted by Copilot (Claude Opus 4.7 (High reasoning)).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>