Skip to content

Commit 1d8d7c2

Browse files
committed
Add support for linux-musl-arm64
1 parent fac3301 commit 1d8d7c2

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

.pipelines/release.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,21 @@ extends:
9999
BuildPlatform: 'alpine'
100100
StageName: 'LinuxMuslBuild'
101101

102+
- stage: LinuxMuslArm64Build
103+
displayName: Linux Musl ARM64 Build
104+
variables:
105+
- name: LinuxContainerImage
106+
value: mcr.microsoft.com/dotnet/sdk:10.0-alpine
107+
108+
jobs:
109+
- template: .pipelines/templates/build-docker.yml@self
110+
parameters:
111+
ARCHITECTURE: 'linux-musl-arm64'
112+
Name: 'Linux_musl_arm64'
113+
hostArchitecture: 'arm64'
114+
BuildPlatform: 'alpine'
115+
StageName: 'LinuxMuslArm64Build'
116+
102117

103118
- stage: LinuxRockyBuild
104119
displayName: Linux Rocky Build
@@ -142,7 +157,7 @@ extends:
142157
Name: 'Build_Linux_arm'
143158

144159
- stage: Build_Nuget
145-
dependsOn: [WinBuildAndSign, LinuxBuild, LinuxBuildARM, LinuxMuslBuild, LinuxRockyBuild]
160+
dependsOn: [WinBuildAndSign, LinuxBuild, LinuxBuildARM, LinuxMuslBuild, LinuxMuslArm64Build, LinuxRockyBuild]
146161
displayName: Build NuGet
147162
jobs:
148163
- template: .pipelines/templates/build-nuget.yml@self

.pipelines/templates/build-nuget.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
- pwsh: |
3636
$platforms = @("drop_LinuxBuild_Build_Linux_arm64",
3737
"drop_LinuxMuslBuild_ExtractLibPSL",
38+
"drop_LinuxMuslArm64Build_ExtractLibPSL",
3839
"drop_LinuxRockyBuild_ExtractLibPSL",
3940
"drop_LinuxBuildARM_Build_Linux_arm",
4041
"drop_WinBuildAndSign_Build_Sign_x64",
@@ -50,6 +51,7 @@ jobs:
5051
$LinuxARMZipPath = "$(ob_outputDirectory)/drop_LinuxBuildARM_Build_Linux_arm.zip"
5152
$LinuxARM64ZipPath = "$(ob_outputDirectory)/drop_LinuxBuild_Build_Linux_arm64.zip"
5253
$LinuxAlpineZipPath = "$(ob_outputDirectory)/drop_LinuxMuslBuild_ExtractLibPSL.zip"
54+
$LinuxAlpineARM64ZipPath = "$(ob_outputDirectory)/drop_LinuxMuslArm64Build_ExtractLibPSL.zip"
5355
$LinuxRockyZipPath = "$(ob_outputDirectory)/drop_LinuxRockyBuild_ExtractLibPSL.zip"
5456
$macOSZipPath = "$(ob_outputDirectory)/drop_osx.zip"
5557
@@ -72,7 +74,7 @@ jobs:
7274
7375
Import-Module $(Build.SourcesDirectory)/build.psm1 -Force
7476
$PackageRoot = New-Item -ItemType Directory -Path $(ob_outputDirectory)\NugetPackageSrc
75-
Start-BuildPowerShellNativePackage -PackageRoot $PackageRoot -Version $(PackageVersion) -WindowsX64ZipPath $WindowsX64ZipPath -WindowsX86ZipPath $WindowsX86ZipPath -WindowsARM64ZipPath $WindowsARM64ZipPath -LinuxZipPath $LinuxRockyZipPath -LinuxARMZipPath $LinuxARMZipPath -LinuxARM64ZipPath $LinuxARM64ZipPath -LinuxAlpineZipPath $LinuxAlpineZipPath -macOSZipPath $macOSZipPath
77+
Start-BuildPowerShellNativePackage -PackageRoot $PackageRoot -Version $(PackageVersion) -WindowsX64ZipPath $WindowsX64ZipPath -WindowsX86ZipPath $WindowsX86ZipPath -WindowsARM64ZipPath $WindowsARM64ZipPath -LinuxZipPath $LinuxRockyZipPath -LinuxARMZipPath $LinuxARMZipPath -LinuxARM64ZipPath $LinuxARM64ZipPath -LinuxAlpineZipPath $LinuxAlpineZipPath -LinuxAlpineARM64ZipPath $LinuxAlpineARM64ZipPath -macOSZipPath $macOSZipPath
7678
7779
Write-Verbose -Verbose "Enumerating $symbolsRoot"
7880
Get-ChildItem -Path $symbolsRoot -Recurse

build.psm1

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,10 @@ function Start-BuildPowerShellNativePackage
590590
[ValidateScript({Test-Path $_ -PathType Leaf})]
591591
[string] $LinuxAlpineZipPath,
592592

593+
[Parameter(Mandatory = $true)]
594+
[ValidateScript({Test-Path $_ -PathType Leaf})]
595+
[string] $LinuxAlpineARM64ZipPath,
596+
593597
[Parameter(Mandatory = $true)]
594598
[ValidateScript({Test-Path $_ -PathType Leaf})]
595599
[string] $macOSZipPath
@@ -611,20 +615,22 @@ function Start-BuildPowerShellNativePackage
611615
$BinFolderLinuxARM = Join-Path $tempExtractionPath "LinuxARM"
612616
$BinFolderLinuxARM64 = Join-Path $tempExtractionPath "LinuxARM64"
613617
$BinFolderLinuxAlpine = Join-Path $tempExtractionPath "LinuxAlpine"
618+
$BinFolderLinuxAlpineARM64 = Join-Path $tempExtractionPath "LinuxAlpineARM64"
614619
$BinFolderMacOS = Join-Path $tempExtractionPath "MacOS"
615620

616621
Expand-Archive -Path $WindowsX64ZipPath -DestinationPath $BinFolderX64 -Force
617622
Expand-Archive -Path $WindowsX86ZipPath -DestinationPath $BinFolderX86 -Force
618623
Expand-Archive -Path $WindowsARM64ZipPath -DestinationPath $BinFolderARM64 -Force
619624
Expand-Archive -Path $LinuxZipPath -DestinationPath $BinFolderLinux -Force
620625
Expand-Archive -Path $LinuxAlpineZipPath -DestinationPath $BinFolderLinuxAlpine -Force
626+
Expand-Archive -Path $LinuxAlpineARM64ZipPath -DestinationPath $BinFolderLinuxAlpineARM64 -Force
621627
Expand-Archive -Path $LinuxARMZipPath -DestinationPath $BinFolderLinuxARM -Force
622628
Expand-Archive -Path $LinuxARM64ZipPath -DestinationPath $BinFolderLinuxARM64 -Force
623629
Expand-Archive -Path $macOSZipPath -DestinationPath $BinFolderMacOS -Force
624630

625631
PlaceWindowsNativeBinaries -PackageRoot $PackageRoot -BinFolderX64 $BinFolderX64 -BinFolderX86 $BinFolderX86 -BinFolderARM64 $BinFolderARM64
626632

627-
PlaceUnixBinaries -PackageRoot $PackageRoot -BinFolderLinux $BinFolderLinux -BinFolderLinuxARM $BinFolderLinuxARM -BinFolderLinuxARM64 $BinFolderLinuxARM64 -BinFolderOSX $BinFolderMacOS -BinFolderLinuxAlpine $BinFolderLinuxAlpine
633+
PlaceUnixBinaries -PackageRoot $PackageRoot -BinFolderLinux $BinFolderLinux -BinFolderLinuxARM $BinFolderLinuxARM -BinFolderLinuxARM64 $BinFolderLinuxARM64 -BinFolderOSX $BinFolderMacOS -BinFolderLinuxAlpine $BinFolderLinuxAlpine -BinFolderLinuxAlpineARM64 $BinFolderLinuxAlpineARM64
628634

629635
$Nuspec = @'
630636
<?xml version="1.0" encoding="utf-8"?>
@@ -710,6 +716,10 @@ function PlaceUnixBinaries
710716
[ValidateScript({Test-Path $_ -PathType Container})]
711717
$BinFolderLinuxAlpine,
712718

719+
[Parameter(Mandatory = $true)]
720+
[ValidateScript({Test-Path $_ -PathType Container})]
721+
$BinFolderLinuxAlpineARM64,
722+
713723
[Parameter(Mandatory = $true)]
714724
[ValidateScript({Test-Path $_ -PathType Container})]
715725
$BinFolderOSX
@@ -719,12 +729,14 @@ function PlaceUnixBinaries
719729
$RuntimePathLinuxARM = New-Item -ItemType Directory -Path (Join-Path $PackageRoot -ChildPath 'runtimes/linux-arm/native') -Force
720730
$RuntimePathLinuxARM64 = New-Item -ItemType Directory -Path (Join-Path $PackageRoot -ChildPath 'runtimes/linux-arm64/native') -Force
721731
$RuntimePathLinuxAlpine = New-Item -ItemType Directory -Path (Join-Path $PackageRoot -ChildPath 'runtimes/linux-musl-x64/native') -Force
732+
$RuntimePathLinuxAlpineARM64 = New-Item -ItemType Directory -Path (Join-Path $PackageRoot -ChildPath 'runtimes/linux-musl-arm64/native') -Force
722733
$RuntimePathOSX = New-Item -ItemType Directory -Path (Join-Path $PackageRoot -ChildPath 'runtimes/osx/native') -Force
723734

724735
Copy-Item "$BinFolderLinux\*" -Destination $RuntimePathLinux -Verbose
725736
Copy-Item "$BinFolderLinuxARM\*" -Destination $RuntimePathLinuxARM -Verbose
726737
Copy-Item "$BinFolderLinuxARM64\*" -Destination $RuntimePathLinuxARM64 -Verbose
727738
Copy-Item "$BinFolderLinuxAlpine\*" -Destination $RuntimePathLinuxAlpine -Verbose
739+
Copy-Item "$BinFolderLinuxAlpineARM64\*" -Destination $RuntimePathLinuxAlpineARM64 -Verbose
728740
Copy-Item "$BinFolderOSX\*" -Destination $RuntimePathOSX -Verbose
729741
}
730742

0 commit comments

Comments
 (0)