diff --git a/eng/pipelines/templates/jobs/vmr-build.yml b/eng/pipelines/templates/jobs/vmr-build.yml index 21e00e6b3..0a3b14ac6 100644 --- a/eng/pipelines/templates/jobs/vmr-build.yml +++ b/eng/pipelines/templates/jobs/vmr-build.yml @@ -138,6 +138,7 @@ jobs: vmrPath: $(vmrPath) vmrBranch: ${{ parameters.vmrBranch }} targetRef: $(Build.SourceVersion) # Synchronize the current installer commit + architecture: ${{ parameters.architecture }} - ${{ if parameters.buildFromArchive }}: - script: | diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index 88e848f5f..f315bcbea 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -348,6 +348,19 @@ stages: ### Additional jobs for full build ### - ${{ if in(parameters.scope, 'full') }}: + - template: ../jobs/vmr-build.yml + parameters: + buildName: Android_Shortstack + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: x64 + pool: + name: ${{ variables.defaultPoolName }} + demands: ${{ variables.defaultPoolDemandsLinux }} + container: ${{ variables.androidCrossContainer }} + targetOS: android + targetArchitecture: x64 + - template: ../jobs/vmr-build.yml parameters: buildName: OSX @@ -362,36 +375,23 @@ stages: - template: ../jobs/vmr-build.yml parameters: - buildName: Android_Shortstack + buildName: Mariner_x64_Cross isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} vmrBranch: ${{ variables.VmrBranch }} architecture: x64 pool: name: ${{ variables.defaultPoolName }} demands: ${{ variables.defaultPoolDemandsLinux }} - container: ${{ variables.androidCrossContainer }} - targetOS: android + container: ${{ variables.marinerX64CrossContainer }} + crossRootFs: '/crossrootfs/x64' + targetOS: linux targetArchitecture: x64 - # Cross builds are currently failing + # Mariner x64->non-x64 builds are currently broken, see https://github.com/dotnet/source-build/issues/3698 # - template: ../jobs/vmr-build.yml # parameters: - # buildName: MarinerCross - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # architecture: x64 - # pool: - # name: ${{ variables.defaultPoolName }} - # demands: ${{ variables.defaultPoolDemandsLinux }} - # container: ${{ variables.marinerX64CrossContainer }} - # crossRootFs: '/crossrootfs/x64' - # targetOS: linux - # targetArchitecture: x64 - - # - template: ../jobs/vmr-build.yml - # parameters: - # buildName: MarinerCross + # buildName: Mariner_x64_Cross # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} # vmrBranch: ${{ variables.VmrBranch }} # architecture: arm64 @@ -403,14 +403,14 @@ stages: # targetOS: linux # targetArchitecture: arm64 - # - template: ../jobs/vmr-build.yml - # parameters: - # buildName: OSXCross - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # architecture: arm64 - # pool: - # vmImage: ${{ variables.defaultPoolNameMac }} - # container: '' - # targetOS: osx - # targetArchitecture: arm64 + - template: ../jobs/vmr-build.yml + parameters: + buildName: OSX_x64_Cross + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm64 + pool: + vmImage: ${{ variables.defaultPoolNameMac }} + container: '' + targetOS: osx + targetArchitecture: arm64 diff --git a/eng/pipelines/templates/steps/vmr-pull-updates.yml b/eng/pipelines/templates/steps/vmr-pull-updates.yml index 86a6cbd64..01569afa6 100644 --- a/eng/pipelines/templates/steps/vmr-pull-updates.yml +++ b/eng/pipelines/templates/steps/vmr-pull-updates.yml @@ -17,6 +17,11 @@ parameters: type: string default: $(Agent.BuildDirectory)/vmr +- name: architecture + displayName: Architecture used for build artifacts + type: string + default: 'x64' + steps: - checkout: self displayName: Clone dotnet/installer @@ -37,12 +42,12 @@ steps: workingDirectory: ${{ parameters.vmrPath }} - script: | - mkdir -p ${{ parameters.vmrPath }}/artifacts/x64/Release + mkdir -p ${{ parameters.vmrPath }}/artifacts/${{ parameters.architecture }}/Release displayName: Create artifacts folder (Unix) condition: ne(variables['Agent.OS'], 'Windows_NT') - powershell: | - New-Item -ItemType Directory -Path ${{ parameters.vmrPath }}/artifacts/x64/Release + New-Item -ItemType Directory -Path ${{ parameters.vmrPath }}/artifacts/${{ parameters.architecture }}/Release displayName: Create artifacts folder (Windows) condition: eq(variables['Agent.OS'], 'Windows_NT') diff --git a/src/SourceBuild/patches/nuget-client/0001-Eliminate-System.CommandLine-prebuilt-package.patch b/src/SourceBuild/patches/nuget-client/0001-Eliminate-System.CommandLine-prebuilt-package.patch new file mode 100644 index 000000000..c0bf8cf2b --- /dev/null +++ b/src/SourceBuild/patches/nuget-client/0001-Eliminate-System.CommandLine-prebuilt-package.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nikola Milosavljevic +Date: Tue, 6 Feb 2024 23:44:10 +0000 +Subject: [PATCH] Eliminate System.CommandLine prebuilt package + +Backport: https://github.com/NuGet/NuGet.Client/pull/5625 +--- + eng/Version.Details.xml | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml +index d8352707b..282edfd3c 100644 +--- a/eng/Version.Details.xml ++++ b/eng/Version.Details.xml +@@ -30,6 +30,10 @@ + https://github.com/aspnet/xdt + d4d088b6a9c793525b1a27a119cb66ba4587bb39 + ++ ++ https://github.com/dotnet/command-line-api ++ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 ++ + + https://github.com/dotnet/corefx + 30ab651fcb4354552bd4891619a0bdd81e0ebdbf