diff --git a/.github/workflows/build-cli-native-archives.yml b/.github/workflows/build-cli-native-archives.yml
index fbcd43eca02..983d9ea4580 100644
--- a/.github/workflows/build-cli-native-archives.yml
+++ b/.github/workflows/build-cli-native-archives.yml
@@ -13,20 +13,22 @@ on:
targets:
description: >
JSON array of target objects to build. Each object must have 'os', 'runner', and 'rids' keys.
- Defaults to all platforms (linux-x64, win-x64, osx-arm64).
+ Defaults to all platforms (linux-x64, linux-arm64, win-x64, win-arm64, osx-arm64).
required: false
type: string
default: >-
[
{"os": "ubuntu-latest", "runner": "8-core-ubuntu-latest", "rids": "linux-x64"},
+ {"os": "ubuntu-latest", "runner": "ubuntu-24.04-arm", "rids": "linux-arm64"},
{"os": "windows-latest", "runner": "windows-latest", "rids": "win-x64"},
+ {"os": "windows-latest", "runner": "windows-11-arm", "rids": "win-arm64"},
{"os": "macos-latest", "runner": "macos-latest", "rids": "osx-arm64"}
]
jobs:
build_cli_archives:
- name: Build CLI (${{ matrix.targets.os }})
+ name: Build CLI (${{ matrix.targets.rids }})
runs-on: ${{ matrix.targets.runner }}
strategy:
matrix:
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
index 62ad4c43211..76b20e8fc85 100644
--- a/.github/workflows/run-tests.yml
+++ b/.github/workflows/run-tests.yml
@@ -149,11 +149,15 @@ jobs:
shell: pwsh
run: |
$runnerOs = "${{ runner.os }}"
- switch ($runnerOs) {
- 'Linux' { $rid = 'linux-x64' }
- 'macOS' { $rid = 'osx-arm64' }
- 'Windows' { $rid = 'win-x64' }
- Default { Write-Error "Unknown runner.os '$runnerOs' for RID mapping"; exit 1 }
+ $runnerArch = "${{ runner.arch }}"
+ $rid = switch ("$runnerOs-$runnerArch") {
+ 'Linux-X64' { 'linux-x64' }
+ 'Linux-ARM64' { 'linux-arm64' }
+ 'Windows-X64' { 'win-x64' }
+ 'Windows-ARM64' { 'win-arm64' }
+ 'macOS-ARM64' { 'osx-arm64' }
+ 'macOS-X64' { 'osx-x64' }
+ Default { Write-Error "Unknown runner OS/arch '$runnerOs-$runnerArch' for RID mapping"; exit 1 }
}
Write-Host "Using RID=$rid"
"RID=$rid" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index b2295116337..f8b63d0202c 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -47,6 +47,13 @@ jobs:
versionOverrideArg: ${{ inputs.versionOverrideArg }}
targets: '[{"os": "ubuntu-latest", "runner": "8-core-ubuntu-latest", "rids": "linux-x64"}]'
+ build_cli_archive_linux_arm64:
+ name: Build native CLI archive (Linux ARM64)
+ uses: ./.github/workflows/build-cli-native-archives.yml
+ with:
+ versionOverrideArg: ${{ inputs.versionOverrideArg }}
+ targets: '[{"os": "ubuntu-latest", "runner": "ubuntu-24.04-arm", "rids": "linux-arm64"}]'
+
# Per-OS CLI archive builds produce RID-specific DCP and Dashboard NuGets.
# Split by OS so that test jobs can depend on just their platform's archive,
# allowing Linux tests to start as soon as the Linux archive completes
@@ -58,6 +65,13 @@ jobs:
versionOverrideArg: ${{ inputs.versionOverrideArg }}
targets: '[{"os": "windows-latest", "runner": "windows-latest", "rids": "win-x64"}]'
+ build_cli_archive_windows_arm64:
+ name: Build native CLI archive (Windows ARM64)
+ uses: ./.github/workflows/build-cli-native-archives.yml
+ with:
+ versionOverrideArg: ${{ inputs.versionOverrideArg }}
+ targets: '[{"os": "windows-latest", "runner": "windows-11-arm", "rids": "win-arm64"}]'
+
build_cli_archive_macos:
name: Build native CLI archive (macOS)
uses: ./.github/workflows/build-cli-native-archives.yml
@@ -226,7 +240,9 @@ jobs:
setup_for_tests,
build_packages,
build_cli_archive_linux,
+ build_cli_archive_linux_arm64,
build_cli_archive_windows,
+ build_cli_archive_windows_arm64,
build_cli_archive_macos,
extension_tests_win,
typescript_sdk_tests,
diff --git a/playground/Stress/Stress.TelemetryService/Stress.TelemetryService.csproj b/playground/Stress/Stress.TelemetryService/Stress.TelemetryService.csproj
index c20cd04b721..6440812fe7a 100644
--- a/playground/Stress/Stress.TelemetryService/Stress.TelemetryService.csproj
+++ b/playground/Stress/Stress.TelemetryService/Stress.TelemetryService.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/playground/TestShop/BasketService/BasketService.csproj b/playground/TestShop/BasketService/BasketService.csproj
index 91670be9ed4..6e22fca64c9 100644
--- a/playground/TestShop/BasketService/BasketService.csproj
+++ b/playground/TestShop/BasketService/BasketService.csproj
@@ -9,6 +9,7 @@
+
diff --git a/playground/TestShop/MyFrontend/MyFrontend.csproj b/playground/TestShop/MyFrontend/MyFrontend.csproj
index c958c3afbbc..875bf3311c7 100644
--- a/playground/TestShop/MyFrontend/MyFrontend.csproj
+++ b/playground/TestShop/MyFrontend/MyFrontend.csproj
@@ -14,10 +14,7 @@
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
+
diff --git a/src/Aspire.Dashboard/Aspire.Dashboard.csproj b/src/Aspire.Dashboard/Aspire.Dashboard.csproj
index 5bf8efa6f3b..6e3db1c32bd 100644
--- a/src/Aspire.Dashboard/Aspire.Dashboard.csproj
+++ b/src/Aspire.Dashboard/Aspire.Dashboard.csproj
@@ -51,6 +51,7 @@
+
diff --git a/src/Aspire.Hosting/Aspire.Hosting.csproj b/src/Aspire.Hosting/Aspire.Hosting.csproj
index 0e720063c1a..20d5c5be4c0 100644
--- a/src/Aspire.Hosting/Aspire.Hosting.csproj
+++ b/src/Aspire.Hosting/Aspire.Hosting.csproj
@@ -57,6 +57,7 @@
+
diff --git a/tests/Aspire.Dashboard.Tests/Aspire.Dashboard.Tests.csproj b/tests/Aspire.Dashboard.Tests/Aspire.Dashboard.Tests.csproj
index 9196a29eb77..c3fcf11621a 100644
--- a/tests/Aspire.Dashboard.Tests/Aspire.Dashboard.Tests.csproj
+++ b/tests/Aspire.Dashboard.Tests/Aspire.Dashboard.Tests.csproj
@@ -17,7 +17,7 @@
-
+