diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index cfec860067039..04e7d31ad2f89 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -97,6 +97,31 @@ jobs: helixQueueGroup: ${{ parameters.helixQueueGroup }} ${{ insert }}: ${{ parameters.jobParameters }} +# Linux musl arm + +- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm'), eq(parameters.platformGroup, 'all')) }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + variables: ${{ parameters.variables }} + osGroup: Linux + osSubgroup: _musl + archType: arm + platform: Linux_musl_arm + container: + image: ubuntu-18.04-cross-arm-alpine-20200818211451-14441ae + registry: mcr + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + stagedBuild: ${{ parameters.stagedBuild }} + buildConfig: ${{ parameters.buildConfig }} + ${{ if eq(parameters.passPlatforms, true) }}: + platforms: ${{ parameters.platforms }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossrootfsDir: '/crossrootfs/arm' + ${{ insert }}: ${{ parameters.jobParameters }} + # Linux musl arm64 - ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}: diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index bb6789a277c4b..80c88871892e9 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -47,6 +47,13 @@ jobs: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - (Alpine.312.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.12-helix-20200602002622-e06dc59 + # Linux musl arm32 + - ${{ if eq(parameters.platform, 'Linux_musl_arm') }}: + - ${{ if eq(variables['System.TeamProject'], 'public') }}: + - (Alpine.312.Arm32.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.12-helix-arm32v7-20200908125213-5bece88 + - ${{ if eq(variables['System.TeamProject'], 'internal') }}: + - (Alpine.312.Arm32)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.12-helix-arm32v7-20200908125213-5bece88 + # Linux musl arm64 - ${{ if eq(parameters.platform, 'Linux_musl_arm64') }}: - ${{ if eq(variables['System.TeamProject'], 'public') }}: diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index 619db5a33c99e..3deef33444c41 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -54,6 +54,7 @@ stages: - Linux_arm - Linux_arm64 - Linux_musl_x64 + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_x86 - Windows_NT_x64 @@ -75,6 +76,7 @@ stages: - Linux_arm - Linux_arm64 - Linux_musl_x64 + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_x64 - Windows_NT_arm @@ -104,6 +106,7 @@ stages: - Linux_arm64 - Linux_musl_x64 - Browser_wasm + # - Linux_musl_arm # - Linux_musl_arm64 # - Windows_NT_x64 enable once coreclr.dll has a version header: https://github.com/dotnet/runtime/issues/37503 # - Windows_NT_x86 @@ -174,6 +177,7 @@ stages: - Linux_arm - Linux_arm64 - Linux_musl_x64 + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_x86 - Windows_NT_x64 @@ -215,6 +219,7 @@ stages: - Linux_arm - Linux_arm64 - Linux_musl_x64 + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_x86 - Windows_NT_x64 diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 9ae2ba7758381..7c6722fb880f6 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -144,6 +144,7 @@ jobs: - Linux_x64 - Linux_arm - Linux_arm64 + - Linux_musl_arm - Linux_musl_arm64 - Linux_musl_x64 - Windows_NT_x86 @@ -209,6 +210,7 @@ jobs: - Linux_arm - Linux_arm64 - Linux_musl_x64 + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_x64 - Windows_NT_x86 @@ -563,6 +565,7 @@ jobs: buildConfig: Release platforms: - Linux_arm + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_arm - Windows_NT_arm64 @@ -651,6 +654,7 @@ jobs: buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} platforms: - Linux_arm + - Linux_musl_arm - Linux_musl_arm64 - Windows_NT_x86 - Windows_NT_arm diff --git a/src/coreclr/src/.nuget/Directory.Build.props b/src/coreclr/src/.nuget/Directory.Build.props index 257da02a7ffc9..e44f8de0a11c6 100644 --- a/src/coreclr/src/.nuget/Directory.Build.props +++ b/src/coreclr/src/.nuget/Directory.Build.props @@ -166,6 +166,9 @@ arm + + arm + arm64 diff --git a/src/coreclr/src/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj b/src/coreclr/src/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj index 037a6b102605b..1b1eb74c02a52 100644 --- a/src/coreclr/src/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj +++ b/src/coreclr/src/.nuget/Microsoft.CrossOsDiag.Private.CoreCLR/Microsoft.CrossOsDiag.Private.CoreCLR.proj @@ -3,7 +3,7 @@ false - linux-x64;linux-musl-x64;linux-arm64;linux-musl-arm64;linux-arm; + linux-x64;linux-musl-x64;linux-arm64;linux-musl-arm64;linux-arm;linux-musl-arm @@ -19,6 +19,7 @@ %(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux.arm64.$(Configuration)/x64 %(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux_musl.arm64.$(Configuration)/x64 %(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux.arm.$(Configuration)/x86 + %(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux_musl.arm.$(Configuration)/x86 diff --git a/src/installer/pkg/projects/netcoreappRIDs.props b/src/installer/pkg/projects/netcoreappRIDs.props index 0b3024cf53838..86a934d2b9170 100644 --- a/src/installer/pkg/projects/netcoreappRIDs.props +++ b/src/installer/pkg/projects/netcoreappRIDs.props @@ -30,6 +30,9 @@ arm64 + + arm + arm64 diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json index 230cd39e76d87..aebdd38981496 100644 --- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json +++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json @@ -7,6 +7,18 @@ "any", "base" ], + "alpine-arm": [ + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine-arm64": [ "alpine-arm64", "alpine", @@ -44,6 +56,28 @@ "any", "base" ], + "alpine.3.10-arm": [ + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.10-arm64": [ "alpine.3.10-arm64", "alpine.3.10", @@ -102,6 +136,30 @@ "any", "base" ], + "alpine.3.11-arm": [ + "alpine.3.11-arm", + "alpine.3.11", + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.11-arm64": [ "alpine.3.11-arm64", "alpine.3.11", @@ -165,6 +223,32 @@ "any", "base" ], + "alpine.3.12-arm": [ + "alpine.3.12-arm", + "alpine.3.12", + "alpine.3.11-arm", + "alpine.3.11", + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.12-arm64": [ "alpine.3.12-arm64", "alpine.3.12", @@ -226,6 +310,20 @@ "any", "base" ], + "alpine.3.6-arm": [ + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.6-arm64": [ "alpine.3.6-arm64", "alpine.3.6", @@ -264,6 +362,22 @@ "any", "base" ], + "alpine.3.7-arm": [ + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.7-arm64": [ "alpine.3.7-arm64", "alpine.3.7", @@ -307,6 +421,24 @@ "any", "base" ], + "alpine.3.8-arm": [ + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.8-arm64": [ "alpine.3.8-arm64", "alpine.3.8", @@ -355,6 +487,26 @@ "any", "base" ], + "alpine.3.9-arm": [ + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], "alpine.3.9-arm64": [ "alpine.3.9-arm64", "alpine.3.9", diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json index f9fb470a3b638..05205172d7370 100644 --- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json +++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json @@ -5,6 +5,12 @@ "linux-musl" ] }, + "alpine-arm": { + "#import": [ + "alpine", + "linux-musl-arm" + ] + }, "alpine-arm64": { "#import": [ "alpine", @@ -22,6 +28,12 @@ "alpine.3.9" ] }, + "alpine.3.10-arm": { + "#import": [ + "alpine.3.10", + "alpine.3.9-arm" + ] + }, "alpine.3.10-arm64": { "#import": [ "alpine.3.10", @@ -39,6 +51,12 @@ "alpine.3.10" ] }, + "alpine.3.11-arm": { + "#import": [ + "alpine.3.11", + "alpine.3.10-arm" + ] + }, "alpine.3.11-arm64": { "#import": [ "alpine.3.11", @@ -56,6 +74,12 @@ "alpine.3.11" ] }, + "alpine.3.12-arm": { + "#import": [ + "alpine.3.12", + "alpine.3.11-arm" + ] + }, "alpine.3.12-arm64": { "#import": [ "alpine.3.12", @@ -73,6 +97,12 @@ "alpine" ] }, + "alpine.3.6-arm": { + "#import": [ + "alpine.3.6", + "alpine-arm" + ] + }, "alpine.3.6-arm64": { "#import": [ "alpine.3.6", @@ -90,6 +120,12 @@ "alpine.3.6" ] }, + "alpine.3.7-arm": { + "#import": [ + "alpine.3.7", + "alpine.3.6-arm" + ] + }, "alpine.3.7-arm64": { "#import": [ "alpine.3.7", @@ -107,6 +143,12 @@ "alpine.3.7" ] }, + "alpine.3.8-arm": { + "#import": [ + "alpine.3.8", + "alpine.3.7-arm" + ] + }, "alpine.3.8-arm64": { "#import": [ "alpine.3.8", @@ -124,6 +166,12 @@ "alpine.3.8" ] }, + "alpine.3.9-arm": { + "#import": [ + "alpine.3.9", + "alpine.3.8-arm" + ] + }, "alpine.3.9-arm64": { "#import": [ "alpine.3.9", diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props index 88c01770552ba..eae3576b9c3c9 100644 --- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props +++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props @@ -15,7 +15,7 @@ linux-musl - x64;arm64 + x64;arm;arm64 3.6;3.7;3.8;3.9;3.10;3.11;3.12