diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 8e4f528e5..530f929b4 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -56,8 +56,8 @@ extends: image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode cblMariner20Fpm: image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm - centosStream8: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 + centosStream9: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 debian11Amd64: image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64 fedora39: @@ -128,8 +128,8 @@ extends: - template: eng/build.yml@self parameters: agentOs: Linux - jobName: Build_CentOS_8_Stream_Debug_x64 - container: centosStream8 + jobName: Build_CentOS_9_Stream_Debug_x64 + container: centosStream9 buildConfiguration: Debug buildArchitecture: x64 linuxPortable: false diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 22ad4d4a3..1421df19d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -5,41 +5,41 @@ Source-build uses transitive dependency resolution to determine correct build SHA of all product contributing repos. The order of dependencies is important and should not be modified without approval from dotnet/source-build-internal. --> - + https://github.com/dotnet/windowsdesktop - 0c21ff31531b14dc1712e2811625beb51cacee97 + 1233632200ec6df0ca38fa1c7ad54f7d820fa9c5 - + https://github.com/dotnet/windowsdesktop - 0c21ff31531b14dc1712e2811625beb51cacee97 + 1233632200ec6df0ca38fa1c7ad54f7d820fa9c5 - + https://github.com/dotnet/windowsdesktop - 0c21ff31531b14dc1712e2811625beb51cacee97 + 1233632200ec6df0ca38fa1c7ad54f7d820fa9c5 - + https://github.com/dotnet/windowsdesktop - 0c21ff31531b14dc1712e2811625beb51cacee97 + 1233632200ec6df0ca38fa1c7ad54f7d820fa9c5 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 @@ -47,70 +47,70 @@ https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/aspnetcore - 4e75678e761c993ed85b108fab57353eeecf5245 + 76a4e7507352de5cbabfd8d0130b69012442fe3f - + https://github.com/dotnet/sdk - 9d6ed6d197399176e0110fe83d2ef0f86baac8a2 + 54a101e9c8682d7260c382b6de04653e21cfe0b9 - + https://github.com/dotnet/sdk - 9d6ed6d197399176e0110fe83d2ef0f86baac8a2 + 54a101e9c8682d7260c382b6de04653e21cfe0b9 - + https://github.com/dotnet/sdk - 9d6ed6d197399176e0110fe83d2ef0f86baac8a2 + 54a101e9c8682d7260c382b6de04653e21cfe0b9 - + https://github.com/dotnet/sdk - 9d6ed6d197399176e0110fe83d2ef0f86baac8a2 + 54a101e9c8682d7260c382b6de04653e21cfe0b9 - + https://github.com/dotnet/sdk - 9d6ed6d197399176e0110fe83d2ef0f86baac8a2 + 54a101e9c8682d7260c382b6de04653e21cfe0b9 @@ -133,48 +133,48 @@ https://github.com/dotnet/test-templates 49c9ad01f057b3c6352bbec12b117acc2224493c - + https://github.com/dotnet/test-templates - 49c9ad01f057b3c6352bbec12b117acc2224493c + 3c37712adb7b45506e8445f349367222b35a97dd - + https://github.com/dotnet/test-templates - 49c9ad01f057b3c6352bbec12b117acc2224493c + 3c37712adb7b45506e8445f349367222b35a97dd - + https://github.com/dotnet/winforms - 6710618bf954958130cd0e940cc25223079b12d5 + 3c3f911e162ab3528fe14b3f221bcc4c4bd447ec - + https://github.com/dotnet/wpf - 25ba139a0c67220a843c989343d27580877c3f8b + f1ebf9d0652f379a98482b276860b0f5aa19627b - + https://github.com/dotnet/fsharp - 1632b069d8b6a8f323e9f53240a500bf71387c43 + 31fccb72266fabbf4f82208fca4e0a5c1b687406 - + https://github.com/dotnet/fsharp - 1632b069d8b6a8f323e9f53240a500bf71387c43 + 31fccb72266fabbf4f82208fca4e0a5c1b687406 - + https://github.com/microsoft/vstest - 1cd0d8998250d36c95ed65a76304ef5d1b33e98f + 56d28849af08dc3143d019694aa92f186b89d2ac - + https://github.com/microsoft/vstest - 1cd0d8998250d36c95ed65a76304ef5d1b33e98f + 56d28849af08dc3143d019694aa92f186b89d2ac - + https://github.com/dotnet/runtime - 995989e8b33864648080c55e31116d9818b8760c + ffb257818db89672d84d538964cec1b54fb2a094 https://github.com/dotnet/roslyn @@ -201,19 +201,14 @@ fb50d1a45ed10b39b5f335bc3a4bdcaea9b951cf - - - https://github.com/Microsoft/ApplicationInsights-dotnet - 53b80940842204f78708a538628288ff5d741a1d - - + https://github.com/dotnet/emsdk - 5b7beea1daa64d283d62d52a0027b13ee9484ff6 + bd79d3dd7ed2db36b3c3d4fa807c21a06d2024ec - + https://github.com/dotnet/emsdk - 5b7beea1daa64d283d62d52a0027b13ee9484ff6 + bd79d3dd7ed2db36b3c3d4fa807c21a06d2024ec @@ -244,17 +239,17 @@ - + https://github.com/dotnet/arcade - 0ffb8e9f4a064d8c77f07420dc399baec9daef89 + 532f956a119bce77ca279994054d08dbc24418f7 - + https://github.com/dotnet/arcade - 0ffb8e9f4a064d8c77f07420dc399baec9daef89 + 532f956a119bce77ca279994054d08dbc24418f7 - + https://github.com/dotnet/arcade - 0ffb8e9f4a064d8c77f07420dc399baec9daef89 + 532f956a119bce77ca279994054d08dbc24418f7 https://github.com/dotnet/arcade-services @@ -264,14 +259,14 @@ https://github.com/dotnet/arcade-services 0e9abfee048404d9b994fc64235b42216ce68dad - + https://github.com/dotnet/arcade - 0ffb8e9f4a064d8c77f07420dc399baec9daef89 + 532f956a119bce77ca279994054d08dbc24418f7 - + https://github.com/dotnet/arcade - 0ffb8e9f4a064d8c77f07420dc399baec9daef89 + 532f956a119bce77ca279994054d08dbc24418f7 diff --git a/eng/Versions.props b/eng/Versions.props index 1c723cf43..903f37964 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -39,7 +39,7 @@ - 9.0.0-beta.24201.3 + 9.0.0-beta.24203.1 @@ -47,11 +47,11 @@ - 9.0.0-preview.4.24201.2 + 9.0.0-preview.4.24203.6 - 9.0.0-preview.4.24202.2 + 9.0.0-preview.4.24204.1 @@ -59,7 +59,7 @@ 1.1.0-rc.24069.1 1.1.0-rc.24069.1 1.1.0-rc.24202.1 - 1.1.0-rc.24202.1 + 1.1.0-rc.24203.1 @@ -67,22 +67,22 @@ - 9.0.0-preview.4.24202.2 - 9.0.0-preview.4.24202.2 - 9.0.0-preview.4.24202.2 - 9.0.0-preview.4.24202.2 - 9.0.0-preview.4.24202.2 - 9.0.0-preview.4.24202.2 - 9.0.0-preview.4.24202.2 + 9.0.0-preview.4.24205.2 + 9.0.0-preview.4.24205.2 + 9.0.0-preview.4.24205.2 + 9.0.0-preview.4.24205.2 + 9.0.0-preview.4.24205.2 + 9.0.0-preview.4.24205.2 + 9.0.0-preview.4.24205.2 0.2.0 - 9.0.100-preview.4.24202.52 - 9.0.100-preview.4.24202.52 - 9.0.100-preview.4.24202.52 + 9.0.100-preview.4.24205.2 + 9.0.100-preview.4.24205.2 + 9.0.100-preview.4.24205.2 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) @@ -93,23 +93,23 @@ - 9.0.0-preview.4.24202.9 + 9.0.0-preview.4.24204.3 - 9.0.0-preview.4.24202.9 - 9.0.0-preview.4.24202.9 - 9.0.0-preview.4.24202.9 - 9.0.0-preview.4.24202.9 - 9.0.0-preview.4.24202.9 + 9.0.0-preview.4.24204.3 + 9.0.0-preview.4.24204.3 + 9.0.0-preview.4.24204.3 + 9.0.0-preview.4.24204.3 + 9.0.0-preview.4.24204.3 2.1.0 - 9.0.0-preview.4.24202.13 - 9.0.0-preview.4.24202.13 - 9.0.0-preview.4.24202.13 - 9.0.0-preview.4.24202.13 + 9.0.0-preview.4.24204.1 + 9.0.0-preview.4.24204.1 + 9.0.0-preview.4.24204.1 + 9.0.0-preview.4.24204.1 @@ -209,7 +209,7 @@ 2.2.0-beta.19072.10 2.0.0 - 17.10.0-release-24177-07 + 17.10.0-release-24203-04 9.0.0-alpha.1.24058.10 9.0.0-preview.24176.1 @@ -225,7 +225,7 @@ 14.2.9088-net9-p1 17.2.9088-net9-p1 - 9.0.0-preview.4.24176.2 + 9.0.0-preview.4.24201.2 $(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion) 9.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-[A-z]*[\.]*\d*`)) diff --git a/eng/build-pr.yml b/eng/build-pr.yml index 21393e242..9552a916c 100644 --- a/eng/build-pr.yml +++ b/eng/build-pr.yml @@ -91,10 +91,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open + demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + demands: ImageOverride -equals Build.Ubuntu.2204.Amd64 container: ${{ parameters.container }} ${{ if eq(parameters.agentOs, 'Darwin') }}: pool: diff --git a/eng/pipelines/templates/jobs/vmr-build.yml b/eng/pipelines/templates/jobs/vmr-build.yml index 46c450ca8..6e5be4b4a 100644 --- a/eng/pipelines/templates/jobs/vmr-build.yml +++ b/eng/pipelines/templates/jobs/vmr-build.yml @@ -238,7 +238,7 @@ jobs: - ${{ if eq(parameters.targetOS, 'windows') }}: - script: | - call $(sourcesPath)\build.cmd -ci -cleanWhileBuilding -prepareMachine ${{ parameters.extraProperties }} + call $(sourcesPath)\build.cmd -ci -cleanWhileBuilding -prepareMachine /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} ${{ parameters.extraProperties }} displayName: Build - ${{ else }}: diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index f92fb52ec..c6fa093a4 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -78,12 +78,12 @@ stages: - template: ../jobs/vmr-build.yml parameters: # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: CentOSStream8_Online_MsftSdk + buildName: CentOSStream9_Online_MsftSdk isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} vmrBranch: ${{ variables.VmrBranch }} architecture: x64 pool: ${{ parameters.pool_Linux }} - container: ${{ variables.centOSStream8Container }} + container: ${{ variables.centOSStream9Container }} buildFromArchive: false # 🚫 buildSourceOnly: true # ✅ enablePoison: false # 🚫 @@ -99,12 +99,12 @@ stages: - template: ../jobs/vmr-build.yml parameters: # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: CentOSStream8_Online_CurrentSourceBuiltSdk + buildName: CentOSStream9_Online_CurrentSourceBuiltSdk isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} vmrBranch: ${{ variables.VmrBranch }} architecture: x64 pool: ${{ parameters.pool_Linux }} - container: ${{ variables.centOSStream8Container }} + container: ${{ variables.centOSStream9Container }} buildFromArchive: false # 🚫 buildSourceOnly: true # ✅ enablePoison: false # 🚫 @@ -113,7 +113,7 @@ stages: runTests: true # ✅ useMonoRuntime: false # 🚫 withPreviousSDK: false # 🚫 - reuseBuildArtifactsFrom: CentOSStream8_Online_MsftSdk + reuseBuildArtifactsFrom: centOSStream9_Online_MsftSdk - template: ../jobs/vmr-build.yml parameters: @@ -155,80 +155,6 @@ stages: useMonoRuntime: false # 🚫 withPreviousSDK: false # 🚫 - - template: ../jobs/vmr-build.yml - parameters: - # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: CentOSStream8_Offline_MsftSdk - isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - vmrBranch: ${{ variables.VmrBranch }} - architecture: x64 - pool: ${{ parameters.pool_Linux }} - container: ${{ variables.centOSStream8Container }} - buildFromArchive: true # ✅ - buildSourceOnly: true # ✅ - enablePoison: false # 🚫 - excludeOmniSharpTests: true # ✅ - runOnline: false # 🚫 - runTests: true # ✅ - useMonoRuntime: false # 🚫 - withPreviousSDK: false # 🚫 - - - template: ../jobs/vmr-build.yml - parameters: - # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: CentOSStream8_Online_PreviousSourceBuiltSdk - isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - vmrBranch: ${{ variables.VmrBranch }} - architecture: x64 - artifactsRid: centos.8-x64 - pool: ${{ parameters.pool_Linux }} - container: ${{ variables.centOSStream8Container }} - buildFromArchive: false # 🚫 - buildSourceOnly: true # ✅ - enablePoison: false # 🚫 - excludeOmniSharpTests: true # ✅ - runOnline: true # ✅ - runTests: true # ✅ - useMonoRuntime: false # 🚫 - withPreviousSDK: true # ✅ - - - template: ../jobs/vmr-build.yml - parameters: - # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: CentOSStream8_Offline_PreviousSourceBuiltSdk - isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - vmrBranch: ${{ variables.VmrBranch }} - architecture: x64 - artifactsRid: centos.8-x64 - pool: ${{ parameters.pool_Linux }} - container: ${{ variables.centOSStream8Container }} - buildFromArchive: false # 🚫 - buildSourceOnly: true # ✅ - enablePoison: false # 🚫 - excludeOmniSharpTests: true # ✅ - runOnline: false # 🚫 - runTests: true # ✅ - useMonoRuntime: false # 🚫 - withPreviousSDK: true # ✅ - - - template: ../jobs/vmr-build.yml - parameters: - # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: CentOSStream8_Mono_Offline_MsftSdk - isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - vmrBranch: ${{ variables.VmrBranch }} - architecture: x64 - pool: ${{ parameters.pool_Linux }} - container: ${{ variables.centOSStream8Container }} - buildFromArchive: true # ✅ - buildSourceOnly: true # ✅ - enablePoison: false # 🚫 - excludeOmniSharpTests: true # ✅ - runOnline: false # 🚫 - runTests: true # ✅ - useMonoRuntime: true # ✅ - withPreviousSDK: false # 🚫 - - template: ../jobs/vmr-build.yml parameters: # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline @@ -247,6 +173,62 @@ stages: useMonoRuntime: false # 🚫 withPreviousSDK: false # 🚫 + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: CentOSStream9_Online_PreviousSourceBuiltSdk + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: x64 + artifactsRid: centos.9-x64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.centOSStream9Container }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: false # 🚫 + runOnline: true # ✅ + runTests: true # ✅ + useMonoRuntime: false # 🚫 + withPreviousSDK: true # ✅ + + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: CentOSStream9_Offline_PreviousSourceBuiltSdk + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: x64 + artifactsRid: centos.9-x64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.centOSStream9Container }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: true # ✅ + runOnline: false # 🚫 + runTests: true # ✅ + useMonoRuntime: false # 🚫 + withPreviousSDK: true # ✅ + + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: CentOSStream9_Mono_Offline_MsftSdk + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: x64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.centOSStream9Container }} + buildFromArchive: true # ✅ + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: true # ✅ + runOnline: false # 🚫 + runTests: true # ✅ + useMonoRuntime: true # ✅ + withPreviousSDK: false # 🚫 + - template: ../jobs/vmr-build.yml parameters: # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline @@ -700,19 +682,55 @@ stages: targetOS: linux targetArchitecture: x64 - # Mariner x64->non-x64 builds are currently broken, see https://github.com/dotnet/source-build/issues/3698 + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerArmCrossContainer }} + crossRootFs: '/crossrootfs/arm' + targetOS: linux + targetArchitecture: arm - # - template: ../jobs/vmr-build.yml - # parameters: - # buildName: Mariner_x64_Cross - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # architecture: arm64 - # pool: ${{ parameters.pool_Linux }} - # container: ${{ variables.marinerArm64CrossContainer }} - # crossRootFs: '/crossrootfs/arm64' - # targetOS: linux - # targetArchitecture: arm64 + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross_Mono + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerArmCrossContainer }} + crossRootFs: '/crossrootfs/arm' + useMonoRuntime: true + targetOS: linux + targetArchitecture: arm + + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerArm64CrossContainer }} + crossRootFs: '/crossrootfs/arm64' + targetOS: linux + targetArchitecture: arm64 + + - template: ../jobs/vmr-build.yml + parameters: + buildName: Mariner_x64_Cross_Mono + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + architecture: arm64 + pool: ${{ parameters.pool_Linux }} + container: ${{ variables.marinerArm64CrossContainer }} + crossRootFs: '/crossrootfs/arm64' + useMonoRuntime: true + targetOS: linux + targetArchitecture: arm64 - template: ../jobs/vmr-build.yml parameters: diff --git a/eng/pipelines/templates/variables/vmr-build.yml b/eng/pipelines/templates/variables/vmr-build.yml index 65db5a955..6db4202d9 100644 --- a/eng/pipelines/templates/variables/vmr-build.yml +++ b/eng/pipelines/templates/variables/vmr-build.yml @@ -12,8 +12,6 @@ variables: - name: alpine319Container value: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode -- name: centOSStream8Container - value: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 - name: centOSStream9Container value: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 - name: fedora39Container @@ -24,6 +22,8 @@ variables: value: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-arm64 - name: marinerX64CrossContainer value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64 +- name: marinerArmCrossContainer + 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: androidCrossContainer diff --git a/global.json b/global.json index 55820c385..98ffce250 100644 --- a/global.json +++ b/global.json @@ -11,8 +11,7 @@ "cmake": "latest" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24201.3", - "Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24201.3", - "Microsoft.Build.NoTargets": "3.7.0" - } + "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24203.1", + "Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24203.1", + "Microsoft.Build.NoTargets": "3.7.0" } } diff --git a/src/SourceBuild/content/Directory.Build.props b/src/SourceBuild/content/Directory.Build.props index b3265733e..9b1dbb231 100644 --- a/src/SourceBuild/content/Directory.Build.props +++ b/src/SourceBuild/content/Directory.Build.props @@ -169,10 +169,10 @@ $([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'keys')) $([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'packages')) - - $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'ArcadeBootstrapPackage')) - $(NuGetPackageRoot) + + $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'BootstrapPackages')) + $(NuGetPackageRoot) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers')) $([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols')) diff --git a/src/SourceBuild/content/build.sh b/src/SourceBuild/content/build.sh index a56de7c8f..9a4ce0298 100755 --- a/src/SourceBuild/content/build.sh +++ b/src/SourceBuild/content/build.sh @@ -225,7 +225,7 @@ function Build { if [ "$test" == "true" ]; then "$CLI_ROOT/dotnet" msbuild "$scriptroot/build.proj" -bl:"$scriptroot/artifacts/log/$configuration/BuildTests.binlog" -flp:"LogFile=$scriptroot/artifacts/log/$configuration/BuildTests.log" -clp:v=m $properties else - "$CLI_ROOT/dotnet" msbuild "$scriptroot/eng/tools/init-build.proj" -bl:"$scriptroot/artifacts/log/$configuration/BuildMSBuildSdkResolver.binlog" -flp:LogFile="$scriptroot/artifacts/log/$configuration/BuildMSBuildSdkResolver.log" /t:ExtractToolPackage,BuildMSBuildSdkResolver $properties + "$CLI_ROOT/dotnet" msbuild "$scriptroot/eng/tools/init-build.proj" -bl:"$scriptroot/artifacts/log/$configuration/BuildMSBuildSdkResolver.binlog" -flp:LogFile="$scriptroot/artifacts/log/$configuration/BuildMSBuildSdkResolver.log" /t:ExtractToolsetPackages,BuildMSBuildSdkResolver $properties # kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver "$CLI_ROOT/dotnet" build-server shutdown @@ -351,20 +351,46 @@ if [[ "$sourceOnly" == "true" ]]; then exit 1 fi + # Extract toolset packages + + # Ensure that by default, the bootstrap version of the toolset SDK is used. Source-build infra + # projects use bootstrap toolset SDKs, and would fail to find it in the build. The repo + # projects overwrite this so that they use the source-built toolset SDK instad. + + # 1. Microsoft.DotNet.Arcade.Sdk arcadeSdkLine=$(grep -m 1 'MicrosoftDotNetArcadeSdkVersion' "$packageVersionsPath") - versionPattern="(.*)" - if [[ $arcadeSdkLine =~ $versionPattern ]]; then + arcadeSdkPattern="(.*)" + if [[ $arcadeSdkLine =~ $arcadeSdkPattern ]]; then export ARCADE_BOOTSTRAP_VERSION=${BASH_REMATCH[1]} - # Ensure that by default, the bootstrap version of the Arcade SDK is used. Source-build infra - # projects use bootstrap Arcade SDK, and would fail to find it in the build. The repo - # projects overwrite this so that they use the source-built Arcade SDK instad. export SOURCE_BUILT_SDK_ID_ARCADE=Microsoft.DotNet.Arcade.Sdk export SOURCE_BUILT_SDK_VERSION_ARCADE=$ARCADE_BOOTSTRAP_VERSION - export SOURCE_BUILT_SDK_DIR_ARCADE=$packagesRestoredDir/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/$ARCADE_BOOTSTRAP_VERSION + export SOURCE_BUILT_SDK_DIR_ARCADE=$packagesRestoredDir/BootstrapPackages/microsoft.dotnet.arcade.sdk/$ARCADE_BOOTSTRAP_VERSION fi - echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION" + # 2. Microsoft.Build.NoTargets + notargetsSdkLine=$(grep -m 1 'Microsoft.Build.NoTargets' "$scriptroot/global.json") + notargetsSdkPattern="\"Microsoft\.Build\.NoTargets\" *: *\"(.*)\"" + if [[ $notargetsSdkLine =~ $notargetsSdkPattern ]]; then + export NOTARGETS_BOOTSTRAP_VERSION=${BASH_REMATCH[1]} + + export SOURCE_BUILT_SDK_ID_NOTARGETS=Microsoft.Build.NoTargets + export SOURCE_BUILT_SDK_VERSION_NOTARGETS=$NOTARGETS_BOOTSTRAP_VERSION + export SOURCE_BUILT_SDK_DIR_NOTARGETS=$packagesRestoredDir/BootstrapPackages/microsoft.build.notargets/$NOTARGETS_BOOTSTRAP_VERSION + fi + + # 3. Microsoft.Build.Traversal + traversalSdkLine=$(grep -m 1 'Microsoft.Build.Traversal' "$scriptroot/global.json") + traversalSdkPattern="\"Microsoft\.Build\.Traversal\" *: *\"(.*)\"" + if [[ $traversalSdkLine =~ $traversalSdkPattern ]]; then + export TRAVERSAL_BOOTSTRAP_VERSION=${BASH_REMATCH[1]} + + export SOURCE_BUILT_SDK_ID_TRAVERSAL=Microsoft.Build.Traversal + export SOURCE_BUILT_SDK_VERSION_TRAVERSAL=$TRAVERSAL_BOOTSTRAP_VERSION + export SOURCE_BUILT_SDK_DIR_TRAVERSAL=$packagesRestoredDir/BootstrapPackages/microsoft.build.traversal/$TRAVERSAL_BOOTSTRAP_VERSION + fi + + echo "Found bootstrap versions: SDK $SDK_VERSION, Arcade $ARCADE_BOOTSTRAP_VERSION, NoTargets $NOTARGETS_BOOTSTRAP_VERSION and Traversal $TRAVERSAL_BOOTSTRAP_VERSION" fi Build diff --git a/src/SourceBuild/content/eng/build.sourcebuild.targets b/src/SourceBuild/content/eng/build.sourcebuild.targets index 557e4c78d..8c67810be 100644 --- a/src/SourceBuild/content/eng/build.sourcebuild.targets +++ b/src/SourceBuild/content/eng/build.sourcebuild.targets @@ -15,13 +15,28 @@ - - + $(ArtifactsAssetsDir)dotnet-symbols-all-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension) + $(ArtifactsAssetsDir)dotnet-symbols-sdk-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension) + + + + + + + + DependsOnTargets="RepackageSymbols" + Inputs="@(IntermediateSymbol);$(SdkTarballPath)" + Outputs="$(SdkSymbolsTarball)"> - $(ArtifactsAssetsDir)dotnet-symbols-sdk-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension) - $(BaseIntermediateOutputPath)SdkSymbols $(BaseIntermediateOutputPath)Sdk @@ -55,7 +70,6 @@ - diff --git a/src/SourceBuild/content/eng/pipelines/ci.yml b/src/SourceBuild/content/eng/pipelines/ci.yml index 4f8be0a5a..59ce02278 100644 --- a/src/SourceBuild/content/eng/pipelines/ci.yml +++ b/src/SourceBuild/content/eng/pipelines/ci.yml @@ -61,6 +61,13 @@ extends: image: 1es-windows-2022 os: windows + codeql: + compiled: + enabled: true + # Runs analysis in the SDL stage and not every job + # https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/features/sdlanalysis/codeql#improving-codeql-performance + runSourceLanguagesInSourceAnalysis: true + baseline: baselineFile: $(Build.SourcesDirectory)\.config\guardian\.gdnbaselines diff --git a/eng/pipelines/source-build-sdk-diff-tests.yml b/src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml similarity index 84% rename from eng/pipelines/source-build-sdk-diff-tests.yml rename to src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml index d6c51cbb5..f3bec625d 100644 --- a/eng/pipelines/source-build-sdk-diff-tests.yml +++ b/src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml @@ -21,20 +21,13 @@ parameters: default: ' ' jobs: -- template: templates/jobs/sdk-diff-tests.yml - parameters: - buildName: CentOSStream8_Offline_MsftSdk - targetRid: centos.8-x64 - architecture: x64 - dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }} - includeArtifactsSize: true - - template: templates/jobs/sdk-diff-tests.yml parameters: buildName: CentOSStream9_Offline_MsftSdk targetRid: centos.9-x64 architecture: x64 dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }} + includeArtifactsSize: true - template: templates/jobs/sdk-diff-tests.yml parameters: diff --git a/eng/pipelines/templates/jobs/sdk-diff-tests.yml b/src/SourceBuild/content/eng/pipelines/templates/jobs/sdk-diff-tests.yml similarity index 92% rename from eng/pipelines/templates/jobs/sdk-diff-tests.yml rename to src/SourceBuild/content/eng/pipelines/templates/jobs/sdk-diff-tests.yml index bb202a338..617ad80f9 100644 --- a/eng/pipelines/templates/jobs/sdk-diff-tests.yml +++ b/src/SourceBuild/content/eng/pipelines/templates/jobs/sdk-diff-tests.yml @@ -104,7 +104,7 @@ jobs: exit 1 fi - eng/common/build.sh -bl --projects $(Build.SourcesDirectory)/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj --restore + eng/common/build.sh -bl --projects $(Build.SourcesDirectory)/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj --restore echo "##vso[task.setvariable variable=Platform]$platform" echo "##vso[task.setvariable variable=MsftSdkTarballPath]$(Pipeline.Workspace)/Artifacts/$msft_sdk_tarball_name" @@ -115,7 +115,7 @@ jobs: - script: > .dotnet/dotnet test - $(Build.SourcesDirectory)/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj + $(Build.SourcesDirectory)/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj --filter "Category=SdkContent" --logger:'trx;LogFileName=$(Agent.JobName)_SDKDiffTests.trx' --logger:'console;verbosity=detailed' @@ -143,7 +143,6 @@ jobs: find artifacts/ -type f -name "BuildTests*.binlog" -exec cp {} --parents -t ${targetFolder} \; find artifacts/ -type f -name "BuildTests*.log" -exec cp {} --parents -t ${targetFolder} \; find artifacts/ -type f -name "Build.binlog" -exec cp {} --parents -t ${targetFolder} \; - cd "$(Build.SourcesDirectory)/src/SourceBuild/content" find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \; find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \; find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \; @@ -164,7 +163,7 @@ jobs: inputs: testRunner: vSTest testResultsFiles: '*.trx' - searchFolder: $(Build.SourcesDirectory)/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/TestResults + searchFolder: $(Build.SourcesDirectory)/test/Microsoft.DotNet.SourceBuild.SmokeTests/TestResults mergeTestResults: true publishRunAttachments: true testRunTitle: $(Agent.JobName) diff --git a/eng/pipelines/templates/steps/download-pipeline-artifact.yml b/src/SourceBuild/content/eng/pipelines/templates/steps/download-pipeline-artifact.yml similarity index 100% rename from eng/pipelines/templates/steps/download-pipeline-artifact.yml rename to src/SourceBuild/content/eng/pipelines/templates/steps/download-pipeline-artifact.yml diff --git a/eng/pipelines/templates/steps/download-vmr-artifact.yml b/src/SourceBuild/content/eng/pipelines/templates/steps/download-vmr-artifact.yml similarity index 100% rename from eng/pipelines/templates/steps/download-vmr-artifact.yml rename to src/SourceBuild/content/eng/pipelines/templates/steps/download-vmr-artifact.yml diff --git a/eng/pipelines/templates/variables/pipelines.yml b/src/SourceBuild/content/eng/pipelines/templates/variables/pipelines.yml similarity index 100% rename from eng/pipelines/templates/variables/pipelines.yml rename to src/SourceBuild/content/eng/pipelines/templates/variables/pipelines.yml diff --git a/eng/pipelines/vmr-license-scan.yml b/src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml similarity index 100% rename from eng/pipelines/vmr-license-scan.yml rename to src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml diff --git a/src/SourceBuild/content/eng/tools/init-build.proj b/src/SourceBuild/content/eng/tools/init-build.proj index efed2ac52..ef2c7f618 100644 --- a/src/SourceBuild/content/eng/tools/init-build.proj +++ b/src/SourceBuild/content/eng/tools/init-build.proj @@ -17,7 +17,7 @@ BuildMSBuildSdkResolver; RestoreUnifiedBuildValidationTests; BuildLeakDetection; - ExtractToolPackage; + ExtractToolsetPackages; GenerateRootFs; PoisonPrebuiltPackages" /> @@ -97,7 +97,7 @@ - - + - + + + + + + + - + diff --git a/src/SourceBuild/content/prep-source-build.sh b/src/SourceBuild/content/prep-source-build.sh index 7b7d4025f..97dd1d038 100755 --- a/src/SourceBuild/content/prep-source-build.sh +++ b/src/SourceBuild/content/prep-source-build.sh @@ -12,7 +12,7 @@ ### --no-prebuilts Exclude the download of the prebuilts archive ### --no-sdk Exclude the download of the .NET SDK ### --artifacts-rid The RID of the previously source-built artifacts archive to download -### Default is centos.8-x64 +### Default is centos.9-x64 ### --runtime-source-feed URL of a remote server or a local directory, from which SDKs and ### runtimes can be downloaded ### --runtime-source-feed-key Key for accessing the above server, if necessary @@ -35,7 +35,7 @@ function print_help () { } # SB prep default arguments -defaultArtifactsRid='centos.8-x64' +defaultArtifactsRid='centos.9-x64' # Binary Tooling default arguments defaultDotnetSdk="$REPO_ROOT/.dotnet" diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.props b/src/SourceBuild/content/repo-projects/Directory.Build.props index 2778bbd4b..793291217 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.props +++ b/src/SourceBuild/content/repo-projects/Directory.Build.props @@ -39,6 +39,7 @@ $(BaseIntermediateOutputPath)$([System.IO.Path]::GetFileName('$(OriginalNuGetConfigFile)')) $([MSBuild]::NormalizeDirectory('$(AssetManifestsIntermediateDir)', '$(RepositoryName)')) + $([MSBuild]::NormalizeDirectory('$(IntermediateSymbolsRootDir)', '$(RepositoryName)')) $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks')) @@ -54,13 +55,6 @@ $([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)')) - - - $([System.IO.File]::ReadAllText($(RepoRoot)global.json)) - $([System.Text.RegularExpressions.Regex]::Match($(VMRGlobalJsonContents), '"Microsoft.Build.NoTargets": "([^"]*)"').Groups.get_Item(1)) - $([System.Text.RegularExpressions.Regex]::Match($(VMRGlobalJsonContents), '"Microsoft.Build.Traversal": "([^"]*)"').Groups.get_Item(1)) - - - 0 @@ -99,6 +93,7 @@ + $(BuildArgs) /p:SourceBuiltSymbolsDir=$(IntermediateSymbolsRepoDir) $(BuildArgs) /p:ArcadeBuildFromSource=true $(BuildArgs) /p:DotNetBuildSourceOnly=true $(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)" @@ -201,7 +196,7 @@ @@ -221,8 +216,8 @@ RestoreConfigFile property. MSBuild uses NuGetSdkResolver to restore missing SDKs, which doesn't honor RestoreConfigFile property and uses NuGet.config file from repo's root which has online feeds. --> - - + + diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.targets b/src/SourceBuild/content/repo-projects/Directory.Build.targets index 49e72aa25..b66e14f77 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.targets +++ b/src/SourceBuild/content/repo-projects/Directory.Build.targets @@ -24,8 +24,6 @@ $(PackageReportDir)prebuilt-usage.xml $(PackageReportDir)all-project-assets-json-files.zip $(PackageReportDir)prodcon-build.xml - - $(IntermediateSymbolsRootDir)$(RepositoryName) @@ -538,34 +536,6 @@ - - - $(ArtifactsAssetsSymbolsDir)Symbols.$(RepositoryName)$(ArchiveExtension) - - - - - - - - - - - - - - - - diff --git a/src/SourceBuild/content/repo-projects/emsdk.proj b/src/SourceBuild/content/repo-projects/emsdk.proj index a210d9c4b..3d7eb97b2 100644 --- a/src/SourceBuild/content/repo-projects/emsdk.proj +++ b/src/SourceBuild/content/repo-projects/emsdk.proj @@ -6,7 +6,7 @@ $(BuildArgs) /p:PackageRid=$(TargetRid) $(BuildArgs) /p:AssetManifestOS=$(TargetOS) - $(BuildArgs) /p:PlatformName=$(TargetArch) + $(BuildArgs) /p:PlatformName=$(TargetArchitecture) $(BuildArgs) /p:ForceBuildManifestOnly=true diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/LicenseExclusions.txt b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/LicenseExclusions.txt index 8ca750fa2..65d42d567 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/LicenseExclusions.txt +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/LicenseExclusions.txt @@ -206,7 +206,7 @@ src/sdk/THIRD-PARTY-NOTICES.TXT|unknown-license-reference # False positive src/source-build-externals/src/abstractions-xunit/README.md|free-unknown -src/source-build-externals/src/application-insights-2.22.0/NETCORE/ThirdPartyNotices.txt|unknown +src/source-build-externals/src/application-insights/NETCORE/ThirdPartyNotices.txt|unknown src/source-build-externals/src/azure-activedirectory-identitymodel-extensions-for-dotnet/benchmark/Microsoft.IdentityModel.Benchmarks/CreateTokenTests.cs|proprietary-license src/source-build-externals/src/azure-activedirectory-identitymodel-extensions-for-dotnet/src/Microsoft.IdentityModel.JsonWebTokens/JsonClaimValueTypes.cs|proprietary-license src/source-build-externals/src/azure-activedirectory-identitymodel-extensions-for-dotnet/src/Microsoft.IdentityModel.Tokens.Saml/Saml/ClaimProperties.cs|proprietary-license @@ -219,9 +219,6 @@ src/source-build-externals/src/xunit/README.md|free-unknown src/source-build-externals/src/xunit/src/xunit.assert/Asserts/README.md|free-unknown src/source-build-externals/src/xunit/xunit.sln|json -# A patch which removes the license usage but contains references to the removed license as part of the patch reference lines -src/source-build-externals/patches/application-insights-2.22.0/0002-Remove-WebGrease-from-TPN-2816.patch - # Scanner is identifying the https://github.com/SixLabors/ImageSharp/blob/master/LICENSE license as unknown. But this license is not applicable because we're # relying on the Spectre.Console distribution. # See https://github.com/dotnet/dotnet/blob/c6a7278fbb7d79fa3d1f386ef0dc8474043ed06c/src/source-build-externals/src/spectre-console/README.md?plain=1#L104 diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/ArtifactsSizes/centos.8-x64.txt b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/ArtifactsSizes/centos.9-x64.txt similarity index 99% rename from src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/ArtifactsSizes/centos.8-x64.txt rename to src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/ArtifactsSizes/centos.9-x64.txt index a85093a28..f0a5861ec 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/ArtifactsSizes/centos.8-x64.txt +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/ArtifactsSizes/centos.9-x64.txt @@ -90,7 +90,6 @@ Microsoft.Css.Parser.x.y.z.nupkg: 52964 Microsoft.Deployment.DotNet.Releases.x.y.z.nupkg: 79562 Microsoft.Diagnostics.NETCore.Client.x.y.z.nupkg: 63738 Microsoft.DiaSymReader.x.y.z-1.nupkg: 57796 -Microsoft.DiaSymReader.x.y.z-2.nupkg: 57817 Microsoft.DiaSymReader.x.y.z.nupkg: 57811 Microsoft.DotNet.ApiCompat.Task.x.y.z.nupkg: 1280207 Microsoft.DotNet.Arcade.Sdk.x.y.z.nupkg: 876107 @@ -2504,6 +2503,7 @@ sdk/x.y.z/Microsoft.NET.Sdk.WorkloadManifestReader.dll: 253952 sdk/x.y.z/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.dll: 48128 sdk/x.y.z/Microsoft.NET.StringTools.dll: 41984 sdk/x.y.z/Microsoft.NETCoreSdk.BundledCliTools.props: 599 +sdk/x.y.z/Microsoft.NETCoreSdk.BundledMSBuildInformation.props: 985 sdk/x.y.z/Microsoft.NETCoreSdk.BundledVersions.props: 50236 sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.props: 11741 sdk/x.y.z/Microsoft.NETFramework.CurrentVersion.targets: 9313 @@ -3083,7 +3083,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_7_recommen sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_all_warnaserror.globalconfig: 29701 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_all.globalconfig: 27752 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default_warnaserror.globalconfig: 3272 -sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig: 829 +sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig: 1179 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_minimum_warnaserror.globalconfig: 11410 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_minimum.globalconfig: 9089 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_none_warnaserror.globalconfig: 16373 @@ -3432,8 +3432,8 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_7_recommended.globalconfig: 4987 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_all_warnaserror.globalconfig: 6211 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_all.globalconfig: 6040 -sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_default_warnaserror.globalconfig: 726 -sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_default.globalconfig: 461 +sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_default_warnaserror.globalconfig: 1009 +sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_default.globalconfig: 623 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_minimum_warnaserror.globalconfig: 4702 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_minimum.globalconfig: 4497 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelperformance_8_none_warnaserror.globalconfig: 5165 @@ -3483,7 +3483,7 @@ sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_all_warnaserror.globalconfig: 2098 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_all.globalconfig: 1304 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_default_warnaserror.globalconfig: 1154 -sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_default.globalconfig: 340 +sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_default.globalconfig: 430 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_minimum_warnaserror.globalconfig: 1712 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_minimum.globalconfig: 910 sdk/x.y.z/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevelreliability_8_none_warnaserror.globalconfig: 1694 diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/licenses/Licenses.source-build-externals.json b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/licenses/Licenses.source-build-externals.json index ae5b6e707..305376292 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/licenses/Licenses.source-build-externals.json +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/licenses/Licenses.source-build-externals.json @@ -1,7 +1,7 @@ { "files": [ { - "path": "src/application-insights-2.22.0/LOGGING/ThirdPartyNotices.txt", + "path": "src/application-insights/LOGGING/ThirdPartyNotices.txt", "detected_license_expression": "unknown AND apache-2.0 AND mit AND bsd-new" } ] diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/SdkFileDiffExclusions-osx-any.txt b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/SdkFileDiffExclusions-osx-any.txt new file mode 100644 index 000000000..1344e262f --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/SdkFileDiffExclusions-osx-any.txt @@ -0,0 +1,14 @@ +# This list is processed using FileSystemName.MatchesSimpleExpression +# +# Format +# {msft|sb}, [# comment] +# msft = Microsoft built SDK +# ub = Unified Build SDK +# +# Examples +# 'folder/*' matches 'folder/' and 'folder/abc' +# 'folder/?*' matches 'folder/abc' but not 'folder/' + +# These files are Windows specific and should not be in the Microsoft build +msft,./sdk/x.y.z/Containers/containerize/* +msft,./sdk/x.y.z/Containers/tasks/net472/* diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-arm.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-arm.diff new file mode 100644 index 000000000..e69de29bb diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-arm64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-linux-arm64.diff new file mode 100644 index 000000000..e69de29bb diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-osx-x64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkAssemblyVersions-osx-x64.diff new file mode 100644 index 000000000..e69de29bb diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-arm.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-arm.diff new file mode 100644 index 000000000..fff0fe82b --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-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-arm64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-arm64.diff new file mode 100644 index 000000000..fff0fe82b --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-linux-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-osx-x64.diff b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-osx-x64.diff new file mode 100644 index 000000000..dde40bb0e --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.UnifiedBuild.Tests/assets/baselines/MsftToUbSdkFiles-osx-x64.diff @@ -0,0 +1,36 @@ +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/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.Workspaces.MSBuild.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.DiaSymReader.dll +-./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Extensions.DependencyInjection.Abstractions.dll +-./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Extensions.Logging.Abstractions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.VisualStudio.Setup.Configuration.Interop.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/middleware/ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/middleware/Microsoft.AspNetCore.Watch.BrowserRefresh.dll +@@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/win/ + ./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.Security.Cryptography.Pkcs.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.Windows.Extensions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.CodeDom.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.CommandLine.dll +@@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Composition.Runtime.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Composition.TypedParts.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Configuration.ConfigurationManager.dll +-./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Diagnostics.EventLog.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Reflection.MetadataLoadContext.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Resources.Extensions.dll +-./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.Pkcs.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.ProtectedData.dll +-./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.Xml.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Permissions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Windows.Extensions.dll + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/tr/ diff --git a/src/SourceBuild/patches/arcade/0001-Copy-repo-symbols-to-intermediates.patch b/src/SourceBuild/patches/arcade/0001-Copy-repo-symbols-to-intermediates.patch new file mode 100644 index 000000000..432743293 --- /dev/null +++ b/src/SourceBuild/patches/arcade/0001-Copy-repo-symbols-to-intermediates.patch @@ -0,0 +1,111 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nikola Milosavljevic +Date: Wed, 3 Apr 2024 21:23:27 +0000 +Subject: [PATCH] Copy repo symbols to intermediates + +Backport: https://github.com/dotnet/arcade/pull/14681 +--- + .../tools/Publish.proj | 8 ----- + .../tools/SourceBuild/AfterSourceBuild.proj | 2 +- + .../SourceBuild/SourceBuildArcade.targets | 35 +++++++++++++++---- + 3 files changed, 29 insertions(+), 16 deletions(-) + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj +index 43fadc322..bec1a4963 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj +@@ -118,14 +118,6 @@ + + + +- +- +- +- +- +- + ++ + ++ ++ + + $(CurrentRepoSourceBuildArtifactsDir) + + $(RepoRoot) +- $(CurrentRepoSourceBuildArtifactsNonShippingPackagesDir) +- $([MSBuild]::EnsureTrailingSlash('$(PackageOutputPath)')) +- $([MSBuild]::NormalizePath('$(SymbolsArchiveLocation)', 'symbols.lst')) +- Symbols. +- +- .$(Version).$(TargetRid) +- $(SymbolsArchiveLocation)$(SymbolsArchivePrefix)$(GitHubRepositoryName)$(SymbolsArchiveSuffix)$(ArchiveExtension) + + + +@@ -181,6 +181,20 @@ + $([MSBuild]::MakeRelative($(SymbolsRoot), %(FullPath))) + + ++ ++ ++ ++ ++ $(CurrentRepoSourceBuildArtifactsNonShippingPackagesDir) ++ $([MSBuild]::EnsureTrailingSlash('$(PackageOutputPath)')) ++ $([MSBuild]::NormalizePath('$(SymbolsArchiveLocation)', 'symbols.lst')) ++ Symbols. ++ ++ .$(Version).$(TargetRid) ++ $(SymbolsArchiveLocation)$(SymbolsArchivePrefix)$(GitHubRepositoryName)$(SymbolsArchiveSuffix)$(ArchiveExtension) ++ + + + + ++ ++ ++ ++ +