diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 8e4f528e5..3fd03fcc1 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -64,8 +64,8 @@ extends: image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39 ubuntu2204: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04 - ubuntu2204CrossArmAlpine: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm-alpine + mariner20CrossArm: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:mariner-2.0-cross-arm ubuntu2204DebPkg: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg sdl: @@ -233,7 +233,7 @@ extends: parameters: agentOs: Linux jobName: Build_Linux_musl_Release_arm - container: ubuntu2204CrossArmAlpine + container: mariner20CrossArm buildConfiguration: Release buildArchitecture: arm runtimeIdentifier: 'linux-musl-arm' diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 2a762dd9a..012166861 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -203,7 +203,7 @@ stages: parameters: agentOs: Linux jobName: Build_Linux_musl_Release_arm - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm-alpine' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:mariner-2.0-cross-arm' buildConfiguration: Release buildArchitecture: arm runtimeIdentifier: 'linux-musl-arm' diff --git a/eng/Versions.props b/eng/Versions.props index 3a08c7b87..9d15a1202 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -19,8 +19,7 @@ preview rtm servicing - - + 0 30 @@ -30,7 +29,7 @@ 18 - <_NET70ILLinkPackVersion>7.0.100-1.23211.1 + <_NET70ILLinkPackVersion>7.0.100-1.23401.1 @@ -170,7 +169,7 @@ - 3.14.0.8606 + 3.14.1.8722 diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index 43f0c8633..51597c437 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -13,7 +13,7 @@ parameters: # The following parameters aren't expected to be passed in rather they are used for encapsulation # ----------------------------------------------------------------------------------------------- - alpine317Container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17 + alpine319Container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19 centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 fedora38Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38 @@ -112,14 +112,14 @@ 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: Alpine317_Offline_MsftSdk + buildName: Alpine319_Offline_MsftSdk isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} vmrBranch: ${{ variables.VmrBranch }} architecture: x64 pool: name: ${{ variables.defaultPoolName }} demands: ${{ variables.defaultPoolDemands }} - container: ${{ parameters.alpine317Container }} + container: ${{ parameters.alpine319Container }} buildFromArchive: false # ✅ enablePoison: false # 🚫 excludeOmniSharpTests: true # ✅ diff --git a/src/SourceBuild/content/eng/Versions.props b/src/SourceBuild/content/eng/Versions.props index dbd256551..384c27bc6 100644 --- a/src/SourceBuild/content/eng/Versions.props +++ b/src/SourceBuild/content/eng/Versions.props @@ -30,7 +30,7 @@ These URLs can't be composed from their base URL and version as we read them from the prep.sh and pipeline scripts, outside of MSBuild. --> - https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.103-servicing.24117.1.centos.8-x64.tar.gz - https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.103-centos.8-x64.tar.gz + https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.104-servicing.24171.1.centos.8-x64.tar.gz + https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.104-centos.8-x64.tar.gz diff --git a/src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml b/src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml index 36eed8cbd..4e49c7fa8 100644 --- a/src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml +++ b/src/SourceBuild/content/eng/pipelines/source-build-sdk-diff-tests.yml @@ -1,6 +1,6 @@ schedules: -- cron: "0 11 * * 1-5" - displayName: Run on weekdays at 11am UTC +- cron: "0 11 * * 1-5" + displayName: Run on weekdays at 11am UTC branches: include: - main @@ -47,8 +47,8 @@ jobs: - template: templates/jobs/sdk-diff-tests.yml parameters: - buildName: Alpine317_Offline_MsftSdk - targetRid: alpine.3.17-x64 + buildName: Alpine319_Offline_MsftSdk + targetRid: alpine.3.19-x64 architecture: x64 dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }} diff --git a/src/SourceBuild/content/global.json b/src/SourceBuild/content/global.json index 54e2f96b7..99d15d703 100644 --- a/src/SourceBuild/content/global.json +++ b/src/SourceBuild/content/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "8.0.103" + "dotnet": "8.0.104" }, "msbuild-sdks": { "Microsoft.Build.CentralPackageVersions": "2.0.1", diff --git a/src/SourceBuild/patches/runtime/0001-crashinfo-use-off_t-instead-of-off64_t.patch b/src/SourceBuild/patches/runtime/0001-crashinfo-use-off_t-instead-of-off64_t.patch new file mode 100644 index 000000000..6569164b8 --- /dev/null +++ b/src/SourceBuild/patches/runtime/0001-crashinfo-use-off_t-instead-of-off64_t.patch @@ -0,0 +1,38 @@ +From 05ad51a9be428012328a1ee199a4edaff20b5efe Mon Sep 17 00:00:00 2001 +From: Antoine Martin +Date: Tue, 12 Sep 2023 18:55:46 -0400 +Subject: [PATCH] crashinfo.cpp/crasinfounix.cpp: use off_t instead of off64_t + +Backport: https://github.com/dotnet/runtime/pull/101272 + +--- + src/coreclr/debug/createdump/crashinfo.cpp | 2 +- + src/coreclr/debug/createdump/crashinfounix.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/coreclr/debug/createdump/crashinfo.cpp b/src/coreclr/debug/createdump/crashinfo.cpp +index 996f3a81935d..d1d1b0ea0218 100644 +--- a/src/coreclr/debug/createdump/crashinfo.cpp ++++ b/src/coreclr/debug/createdump/crashinfo.cpp +@@ -803,7 +803,7 @@ CrashInfo::PageMappedToPhysicalMemory(uint64_t start) + } + + uint64_t pagemapOffset = (start / PAGE_SIZE) * sizeof(uint64_t); +- uint64_t seekResult = lseek64(m_fdPagemap, (off64_t) pagemapOffset, SEEK_SET); ++ uint64_t seekResult = lseek(m_fdPagemap, (off_t) pagemapOffset, SEEK_SET); + if (seekResult != pagemapOffset) + { + int seekErrno = errno; +diff --git a/src/coreclr/debug/createdump/crashinfounix.cpp b/src/coreclr/debug/createdump/crashinfounix.cpp +index 24b975e3d655..2f4ea079de3b 100644 +--- a/src/coreclr/debug/createdump/crashinfounix.cpp ++++ b/src/coreclr/debug/createdump/crashinfounix.cpp +@@ -516,7 +516,7 @@ CrashInfo::ReadProcessMemory(void* address, void* buffer, size_t size, size_t* r + // performance optimization. + m_canUseProcVmReadSyscall = false; + assert(m_fdMem != -1); +- *read = pread64(m_fdMem, buffer, size, (off64_t)address); ++ *read = pread(m_fdMem, buffer, size, (off_t)address); + } + + if (*read == (size_t)-1) diff --git a/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs b/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs index eab79f2b7..bac9ad0d8 100644 --- a/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs +++ b/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs @@ -24,7 +24,8 @@ namespace Microsoft.DotNet.Cli.Build AddFolder(sb, @"MSBuildSdkResolver", - @"MSBuild\Current\Bin\SdkResolvers\Microsoft.DotNet.MSBuildSdkResolver"); + @"MSBuild\Current\Bin\SdkResolvers\Microsoft.DotNet.MSBuildSdkResolver", + ngenAssemblies: true); AddFolder(sb, @"msbuildExtensions", @@ -39,7 +40,7 @@ namespace Microsoft.DotNet.Cli.Build return true; } - private void AddFolder(StringBuilder sb, string relativeSourcePath, string swrInstallDir) + private void AddFolder(StringBuilder sb, string relativeSourcePath, string swrInstallDir, bool ngenAssemblies = false) { string sourceFolder = Path.Combine(MSBuildExtensionsLayoutDirectory, relativeSourcePath); var files = Directory.GetFiles(sourceFolder) @@ -55,7 +56,14 @@ namespace Microsoft.DotNet.Cli.Build { sb.Append(@" file source=""$(PkgVS_Redist_Common_Net_Core_SDK_MSBuildExtensions)\"); sb.Append(Path.Combine(relativeSourcePath, Path.GetFileName(file))); - sb.AppendLine("\""); + sb.Append('"'); + + if (ngenAssemblies && file.EndsWith(".dll", StringComparison.OrdinalIgnoreCase)) + { + sb.Append(@" vs.file.ngenApplications=""[installDir]\Common7\IDE\vsn.exe"""); + } + + sb.AppendLine(); } sb.AppendLine(); @@ -67,6 +75,7 @@ namespace Microsoft.DotNet.Cli.Build string newRelativeSourcePath = Path.Combine(relativeSourcePath, subfolderName); string newSwrInstallDir = Path.Combine(swrInstallDir, subfolderName); + // Don't propagate ngenAssemblies to subdirectories. AddFolder(sb, newRelativeSourcePath, newSwrInstallDir); } } diff --git a/test/SdkTests/TestsToSkipStableSDK.xml b/test/SdkTests/TestsToSkipStableSDK.xml index 550025aa6..e0f5b37b7 100644 --- a/test/SdkTests/TestsToSkipStableSDK.xml +++ b/test/SdkTests/TestsToSkipStableSDK.xml @@ -187,10 +187,26 @@ + Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/> + Reason="Cannot run with non-existent LastRuntimeFrameworkVersion"/> + + + +