Add win-arm64 and linux-arm64 to CLI native archive build matrix#15599
Add win-arm64 and linux-arm64 to CLI native archive build matrix#15599davidfowl wants to merge 6 commits intorelease/13.2from
Conversation
Add native arm64 build targets to the CI pipeline so the dogfood script and release bundles include arm64 CLI binaries: - win-arm64 on windows-11-arm runner - linux-arm64 on ubuntu-24.04-arm runner Updates build-cli-native-archives.yml default matrix and adds per-OS build jobs in tests.yml following the existing pattern. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15599Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15599" |
There was a problem hiding this comment.
Pull request overview
Extends the CI workflows to produce native Aspire CLI archive builds for additional ARM64 platforms, so release/dogfood bundles include Windows/Linux ARM64 binaries alongside existing x64/macOS builds.
Changes:
- Add
linux-arm64andwin-arm64targets to the reusable native-archive workflow’s default build matrix. - Add corresponding ARM64 archive jobs to
tests.ymland include them in the final “results” gate.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/tests.yml |
Adds Linux/Windows ARM64 native CLI archive jobs and wires them into the final results job dependencies. |
.github/workflows/build-cli-native-archives.yml |
Expands the default targets matrix to include linux-arm64 and win-arm64 native archive builds. |
Comments suppressed due to low confidence (1)
.github/workflows/tests.yml:74
- In the
targetsJSON,osis set towindows-latestbut the runner label iswindows-11-arm. Ifosis intended to be a display value, this currently hides that the build is running on Windows ARM64 and can lead to ambiguous/duplicate job names in the called workflow. Consider aligningoswith the runner/actual platform, or relying onrids/runnerfor display in the reusable workflow.
uses: ./.github/workflows/build-cli-native-archives.yml
with:
versionOverrideArg: ${{ inputs.versionOverrideArg }}
targets: '[{"os": "windows-latest", "runner": "windows-11-arm", "rids": "win-arm64"}]'
Address review feedback: with multiple targets sharing the same 'os' value, the job name 'Build CLI (ubuntu-latest)' appeared twice. Switch to matrix.targets.rids for unique names like 'Build CLI (linux-arm64)'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The RID computation hardcoded x64 for Linux and Windows, which would download wrong-arch NuGet packages if tests ever run on arm64 runners. Use runner.os + runner.arch to correctly map to the target RID. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🎬 CLI E2E Test Recordings — 51 recordings uploaded (commit View recordings
📹 Recordings uploaded automatically from CI run #23578848784 |
|
@copilot Update Grpc.Tools to 2.80.0-pre1 |
Agent-Logs-Url: https://github.com/microsoft/aspire/sessions/c45a0b4c-4ff5-4111-8d23-b713819a9ae4 Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
|
@copilot Change Grpc.Tools version to 2.68.1 |
Agent-Logs-Url: https://github.com/microsoft/aspire/sessions/d4d41e10-f7c9-4607-9055-a79723c7bb5e Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
|
@copilot Update Grpc.AspNetCore and Grpc.Net.ClientFactory to 2.67.0 |
Agent-Logs-Url: https://github.com/microsoft/aspire/sessions/44c9e832-0487-4919-ab10-676903a81175 Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
|
So we had to downgrade grpc? |
|
Yes. The fix either didn't make it into 2.80.0-pre1 or it didn't work. I took a look at grpc-dotnet's change log and there are no fixes or features that impact Aspire from downgrading. |
Description
Adds
win-arm64andlinux-arm64native CLI archive builds to the CI pipeline, fixes architecture detection for test runners, and downgrades gRPC packages to fix linux-arm64 build compatibility.Currently only
linux-x64,win-x64, andosx-arm64are built, which means the dogfood script and release bundles have no arm64 binaries for Windows or Linux.Changes
build-cli-native-archives.ymllinux-arm64target onubuntu-24.04-armrunnerwin-arm64target onwindows-11-armrunnertests.ymlbuild_cli_archive_linux_arm64andbuild_cli_archive_windows_arm64jobs (following existing per-OS pattern)resultsfinal status checkrun-tests.ymlrunner.archin addition torunner.os, so arm64 runners download the correct architecture-specific NuGet packages instead of always assuming x64Directory.Packages.propsGrpc.Toolsfrom2.78.0to2.68.1to fix linux-arm64 build compatibility (see grpc/grpc#38538)Grpc.AspNetCoreandGrpc.Net.ClientFactoryfrom2.76.0to2.67.0for compatibility alignmentThe new jobs run in parallel with existing builds, so they don't increase overall CI wall time.
Checklist
⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.