diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index e6ae84bdc..3825ce22f 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -747,6 +747,59 @@ stages: targetOS: linux targetArchitecture: arm64 + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross_Alpine + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: x64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerX64AlpineCrossContainer }} + crossRootFs: '/crossrootfs/x64' + targetOS: linux-musl + targetArchitecture: x64 + extraProperties: /p:TargetRID=linux-musl-x64 + + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross_Alpine_Mono + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: x64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerX64AlpineCrossContainer }} + crossRootFs: '/crossrootfs/x64' + useMonoRuntime: true + targetOS: linux-musl + targetArchitecture: x64 + extraProperties: /p:TargetRID=linux-musl-x64 + + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross_Alpine + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerArmAlpineCrossContainer }} + crossRootFs: '/crossrootfs/arm' + targetOS: linux-musl + targetArchitecture: arm + extraProperties: /p:TargetRID=linux-musl-arm + + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross_Alpine + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerArm64AlpineCrossContainer }} + crossRootFs: '/crossrootfs/arm64' + targetOS: linux-musl + targetArchitecture: arm64 + extraProperties: /p:TargetRID=linux-musl-arm64 + - template: ../jobs/vmr-build.yml parameters: buildName: OSX diff --git a/eng/pipelines/templates/variables/vmr-build.yml b/eng/pipelines/templates/variables/vmr-build.yml index 6db4202d9..9315ac61c 100644 --- a/eng/pipelines/templates/variables/vmr-build.yml +++ b/eng/pipelines/templates/variables/vmr-build.yml @@ -26,6 +26,12 @@ variables: value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm - name: marinerArm64CrossContainer value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64 +- name: marinerX64AlpineCrossContainer + value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64-alpine +- name: marinerArmAlpineCrossContainer + value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine +- name: marinerArm64AlpineCrossContainer + value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine - name: androidCrossContainer value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-android-amd64 - name: browserCrossContainer diff --git a/src/SourceBuild/content/repo-projects/runtime.proj b/src/SourceBuild/content/repo-projects/runtime.proj index 318fe6ad0..94e18fb7e 100644 --- a/src/SourceBuild/content/repo-projects/runtime.proj +++ b/src/SourceBuild/content/repo-projects/runtime.proj @@ -15,8 +15,8 @@ $(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture) $(BuildArgs) $(FlagParameterPrefix)os $(TargetOS) $(BuildArgs) /p:TargetRid=$(TargetRid) - $(BuildArgs) /p:RuntimeOS=$(RuntimeOS) - $(BuildArgs) /p:BaseOS=$(BaseOS) + $(BuildArgs) /p:RuntimeOS=$(RuntimeOS) + $(BuildArgs) /p:BaseOS=$(BaseOS) $(BuildArgs) /p:DotNetBuildRuntimeWasmEnableThreads=true $(BuildArgs) /p:DotNetBuildRuntimeNativeAOTRuntimePack=true $(BuildArgs) $(FlagParameterPrefix)pgoinstrument diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-musl-arm.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-musl-arm.diff new file mode 100644 index 000000000..e69de29bb diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-musl-arm64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-musl-arm64.diff new file mode 100644 index 000000000..e69de29bb diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-musl-x64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-musl-x64.diff new file mode 100644 index 000000000..e69de29bb diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-arm.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-arm.diff new file mode 100644 index 000000000..fff0fe82b --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-arm.diff @@ -0,0 +1,20 @@ +diff --git a/msftSdkFiles.txt b/ubSdkFiles.txt +index ------------ +--- a/msftSdkFiles.txt ++++ b/ubSdkFiles.txt +@@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll ++./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Windows.Extensions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.CodeDom.dll +@@ ------------ @@ + ./sdk/x.y.z/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.dll + ./sdk/x.y.z/Microsoft.NET.StringTools.dll + ./sdk/x.y.z/Microsoft.NETCoreSdk.BundledCliTools.props +-./sdk/x.y.z/Microsoft.NETCoreSdk.BundledMSBuildInformation.props + ./sdk/x.y.z/Microsoft.NETCoreSdk.BundledVersions.props + ./sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.props + ./sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.targets diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-arm64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-arm64.diff new file mode 100644 index 000000000..fff0fe82b --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-arm64.diff @@ -0,0 +1,20 @@ +diff --git a/msftSdkFiles.txt b/ubSdkFiles.txt +index ------------ +--- a/msftSdkFiles.txt ++++ b/ubSdkFiles.txt +@@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll ++./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Windows.Extensions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.CodeDom.dll +@@ ------------ @@ + ./sdk/x.y.z/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.dll + ./sdk/x.y.z/Microsoft.NET.StringTools.dll + ./sdk/x.y.z/Microsoft.NETCoreSdk.BundledCliTools.props +-./sdk/x.y.z/Microsoft.NETCoreSdk.BundledMSBuildInformation.props + ./sdk/x.y.z/Microsoft.NETCoreSdk.BundledVersions.props + ./sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.props + ./sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.targets diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-x64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-x64.diff new file mode 100644 index 000000000..fff0fe82b --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-musl-x64.diff @@ -0,0 +1,20 @@ +diff --git a/msftSdkFiles.txt b/ubSdkFiles.txt +index ------------ +--- a/msftSdkFiles.txt ++++ b/ubSdkFiles.txt +@@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll ++./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/lib/netx.y/System.Windows.Extensions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.CodeDom.dll +@@ ------------ @@ + ./sdk/x.y.z/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.dll + ./sdk/x.y.z/Microsoft.NET.StringTools.dll + ./sdk/x.y.z/Microsoft.NETCoreSdk.BundledCliTools.props +-./sdk/x.y.z/Microsoft.NETCoreSdk.BundledMSBuildInformation.props + ./sdk/x.y.z/Microsoft.NETCoreSdk.BundledVersions.props + ./sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.props + ./sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.targets