Skip to content

Commit 045882a

Browse files
authored
[release/5.0] Enable MUSL ARM support (#27942)
This change adds support for building MUSL ARM packages of ASP.NET Core.
1 parent 4731c87 commit 045882a

File tree

4 files changed

+38
-1
lines changed

4 files changed

+38
-1
lines changed

.azure/pipelines/ci.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,40 @@ stages:
525525
parameters:
526526
inputName: Linux_musl_x64
527527

528+
# Build Linux Musl ARM
529+
- template: jobs/default-build.yml
530+
parameters:
531+
jobName: Linux_musl_arm_build
532+
jobDisplayName: "Build: Linux Musl ARM"
533+
agentOs: Linux
534+
useHostedUbuntu: false
535+
container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm-alpine-20200827125937-14441ae
536+
buildScript: ./build.sh
537+
buildArgs:
538+
--arch arm
539+
--os-name linux-musl
540+
--pack
541+
--all
542+
--no-build-nodejs
543+
--no-build-java
544+
-p:OnlyPackPlatformSpecificPackages=true
545+
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm.xml
546+
$(_BuildArgs)
547+
$(_PublishArgs)
548+
$(_InternalRuntimeDownloadArgs)
549+
installNodeJs: false
550+
installJdk: false
551+
artifacts:
552+
- name: Linux_musl_arm_Logs
553+
path: artifacts/log/
554+
publishOnError: true
555+
includeForks: true
556+
- name: Linux_musl_arm_Packages
557+
path: artifacts/packages/
558+
- template: jobs/codesign-xplat.yml
559+
parameters:
560+
inputName: Linux_musl_arm
561+
528562
# Build Linux Musl ARM64
529563
- template: jobs/default-build.yml
530564
parameters:
@@ -758,6 +792,7 @@ stages:
758792
- CodeSign_Xplat_Linux_arm
759793
- CodeSign_Xplat_Linux_arm64
760794
- CodeSign_Xplat_Linux_musl_x64
795+
- CodeSign_Xplat_Linux_musl_arm
761796
- CodeSign_Xplat_Linux_musl_arm64
762797
# In addition to the dependencies above, ensure the build was successful overall.
763798
- Source_Build

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@
162162
win-arm64;
163163
osx-x64;
164164
linux-musl-x64;
165+
linux-musl-arm;
165166
linux-musl-arm64;
166167
linux-x64;
167168
linux-arm;

eng/Dependencies.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ and are generated based on the last package release.
9494
<LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-arm" />
9595
<LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-arm64" />
9696
<LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-musl-x64" />
97+
<LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-musl-arm" />
9798
<LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-musl-arm64" />
9899
</ItemGroup>
99100

src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
9292
<PathSeparator Condition="'$(PathSeparator)' == ''">:</PathSeparator>
9393
<PathSeparator Condition=" '$(TargetOsName)' == 'win' ">%3B</PathSeparator>
9494

95-
<CrossCompileDirectory Condition=" '$(TargetRuntimeIdentifier)' == 'linux-arm' ">x64_arm</CrossCompileDirectory>
95+
<CrossCompileDirectory Condition=" '$(TargetRuntimeIdentifier)' == 'linux-arm' OR '$(TargetRuntimeIdentifier)' == 'linux-musl-arm'">x64_arm</CrossCompileDirectory>
9696
<CrossCompileDirectory Condition=" '$(TargetArchitecture)' == 'arm64' AND '$(BuildArchitecture)' != 'arm64' ">x64_arm64</CrossCompileDirectory>
9797
<CrossCompileDirectory Condition=" '$(TargetRuntimeIdentifier)' == 'win-arm' ">x86_arm</CrossCompileDirectory>
9898

0 commit comments

Comments
 (0)