From 4fc10e1e711e9b50724a1c8331b44fcd390fc016 Mon Sep 17 00:00:00 2001 From: Radek Zikmund Date: Wed, 11 Jun 2025 10:19:28 +0200 Subject: [PATCH 01/66] Don't attempt HELO if EnableTls is true. --- .../System.Net.Mail/src/System/Net/Mail/SmtpConnection.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libraries/System.Net.Mail/src/System/Net/Mail/SmtpConnection.cs b/src/libraries/System.Net.Mail/src/System/Net/Mail/SmtpConnection.cs index bc2a2bcbfa0c39..a924cdcd980f60 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Mail/SmtpConnection.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Mail/SmtpConnection.cs @@ -628,6 +628,14 @@ private static void SendEHelloCallback(IAsyncResult result) private bool SendHello() { + if (_connection._enableSsl) + { + // We only try HELO command if EHLO was not recognized. Server cannot + // advertise STARTTLS in older HELO command, thus if TLS is required, + // we can fail early. + throw new SmtpException(SR.MailServerDoesNotSupportStartTls); + } + IAsyncResult result = HelloCommand.BeginSend(_connection, _connection._client!._clientDomain, s_sendHelloCallback, this); //if ehello isn't supported, assume basic auth if (result.CompletedSynchronously) From 0ea8b5e7523e26f394e7246c61f8b075cd7b893c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 14:17:49 -0700 Subject: [PATCH 02/66] [release/8.0-staging] [Test Only] Disable the UTFStringConversionFailures test on CI runs (#117489) Co-authored-by: Jeremy Koritzinsky Co-authored-by: Jeremy Koritzinsky --- .../LibraryImportGenerator.Tests/CollectionMarshallingFails.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/CollectionMarshallingFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/CollectionMarshallingFails.cs index 9336f8caf8fe0e..eab34000e45490 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/CollectionMarshallingFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/CollectionMarshallingFails.cs @@ -107,7 +107,8 @@ public static partial void NegateBoolsRef2D_ClearMarshalling( public class CollectionMarshallingFails { [Fact] - public void UTFStringConversionFailures() + [SkipOnCI("Allocates enough memory that the OOM killer can kill the process on our Helix machines.")] + public void BigUTFStringConversionFailures() { bool threw = false; try From dc4f32d91a1ff9d14934c74c34d4b0770b0726da Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 21 Jul 2025 10:58:53 +0000 Subject: [PATCH 03/66] Update dependencies from https://github.com/dotnet/emsdk build 20250721.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.19-servicing.25371.2 --- NuGet.config | 11 +---------- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/NuGet.config b/NuGet.config index 5a09f7eff9d983..fefb083ca9a132 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,16 +9,7 @@ - - - - - - - - - - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 419ff2f1f7f411..c5f72637a4117f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - 6fd14a46f7bc405f4ba53b1e691c76fdc6324b0b + 6171782e81fd6120bbd887ad213067140b9d1e9c - + https://github.com/dotnet/emsdk - 6fd14a46f7bc405f4ba53b1e691c76fdc6324b0b + 6171782e81fd6120bbd887ad213067140b9d1e9c From c11dbaf7fd1ea5323855a39fab1a3a72b75e8186 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 11:34:47 -0400 Subject: [PATCH 04/66] [release/8.0-staging] [Test Only] Fix BuildChainCustomTrustStore test --- .../tests/X509Certificates/ChainTests.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs b/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs index 92cc1abb1b6292..200f6fdbf30916 100644 --- a/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs +++ b/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs @@ -344,6 +344,8 @@ public static void BuildChainCustomTrustStore( chainTest.ChainPolicy.TrustMode = X509ChainTrustMode.CustomRootTrust; chainTest.ChainPolicy.ExtraStore.Add(issuerCert); + X509ChainStatusFlags allowedFlags = X509ChainStatusFlags.NoError; + switch (testArguments) { case BuildChainCustomTrustStoreTestArguments.TrustedIntermediateUntrustedRoot: @@ -361,6 +363,9 @@ public static void BuildChainCustomTrustStore( chainHolder.DisposeChainElements(); chainTest.ChainPolicy.CustomTrustStore.Remove(rootCert); chainTest.ChainPolicy.TrustMode = X509ChainTrustMode.System; + chainTest.ChainPolicy.VerificationFlags = X509VerificationFlags.AllowUnknownCertificateAuthority; + chainTest.ChainPolicy.ExtraStore.Add(rootCert); + allowedFlags |= X509ChainStatusFlags.UntrustedRoot; break; default: throw new InvalidDataException(); @@ -368,7 +373,11 @@ public static void BuildChainCustomTrustStore( Assert.Equal(chainBuildsSuccessfully, chainTest.Build(endCert)); Assert.Equal(3, chainTest.ChainElements.Count); - Assert.Equal(chainFlags, chainTest.AllStatusFlags()); + + X509ChainStatusFlags actualFlags = chainTest.AllStatusFlags(); + actualFlags &= ~allowedFlags; + + Assert.Equal(chainFlags, actualFlags); } } From 435981fbcebdda193c76ac96715625885f9f3ac8 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:31:47 -0700 Subject: [PATCH 05/66] Update dependencies from https://github.com/dotnet/hotreload-utils build 20250728.2 (#118128) Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.25330.2 -> To Version 8.0.0-alpha.0.25378.2 Co-authored-by: dotnet-maestro[bot] --- NuGet.config | 11 ++--------- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/NuGet.config b/NuGet.config index 5a09f7eff9d983..02506c2fe5754d 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,15 +10,8 @@ - - - - - - - - - + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 419ff2f1f7f411..c769a1f4836efc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -354,9 +354,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 67613417f5e1af250e6ddfba79f8f2885d8e90fb - + https://github.com/dotnet/hotreload-utils - 733b3be8cce2b6eb42a151bf95fbb05500fa40ee + 0dcc0d22fc7b9c4eb8c7ae571ae4213324b006a6 https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index 01d2fa496566c5..1c1e1719bbf3f6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ 8.0.0-prerelease.25270.1 8.0.0-prerelease.25270.1 8.0.0-prerelease.25270.1 - 8.0.0-alpha.0.25330.2 + 8.0.0-alpha.0.25378.2 2.4.2 1.0.0 2.4.5 From 28a27a43fc62d0f4514075646aa9f20827741daf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:02:56 -0700 Subject: [PATCH 06/66] fixing a bug in card mark stealing (#118009) Backport of #117968 to release/8.0-staging --- src/coreclr/gc/gc.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/coreclr/gc/gc.cpp b/src/coreclr/gc/gc.cpp index c0086bed2f10f0..74143fc8df86de 100644 --- a/src/coreclr/gc/gc.cpp +++ b/src/coreclr/gc/gc.cpp @@ -41060,10 +41060,13 @@ BOOL gc_heap::card_transition (uint8_t* po, uint8_t* end, size_t card_word_end, //dprintf(3,(" Clearing cards [%zx, %zx[ ", dprintf(3,(" CC [%zx, %zx[ ", (size_t)card_address(card), (size_t)po)); - clear_cards (card, card_of(po)); - n_card_set -= (card_of (po) - card); - n_cards_cleared += (card_of (po) - card); - + uint8_t* card_clearing_limit = po; +#ifdef FEATURE_CARD_MARKING_STEALING + card_clearing_limit = min (limit, po); +#endif // FEATURE_CARD_MARKING_STEALING + clear_cards (card, card_of (card_clearing_limit)); + n_card_set -= (card_of (card_clearing_limit) - card); + n_cards_cleared += (card_of (card_clearing_limit) - card); } n_eph +=cg_pointers_found; cg_pointers_found = 0; From e810640b203f1dffde9a1fa806ee19e18034a44f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 4 Aug 2025 22:15:41 +0000 Subject: [PATCH 07/66] Update dependencies from https://github.com/dotnet/emsdk build 20250804.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.19-servicing.25404.3 --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index fefb083ca9a132..da443d3c617fc8 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c5f72637a4117f..a2929bb87b1aaa 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - 6171782e81fd6120bbd887ad213067140b9d1e9c + fd6a60ef897477e40f8557e0f25fccdb2ebf410d - + https://github.com/dotnet/emsdk - 6171782e81fd6120bbd887ad213067140b9d1e9c + fd6a60ef897477e40f8557e0f25fccdb2ebf410d From 70be85fbe7be0e8e3d151e555043cd93e03f7e29 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 5 Aug 2025 01:21:38 +0000 Subject: [PATCH 08/66] Update dependencies from https://github.com/dotnet/emsdk build 20250804.5 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25404.5 --- NuGet.config | 2 +- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NuGet.config b/NuGet.config index da443d3c617fc8..fd921f1ee1531b 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a2929bb87b1aaa..c76831787012e6 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,13 +90,13 @@ 45dd3a73dd5b64b010c4251303b3664bb30df029 - + https://github.com/dotnet/emsdk - fd6a60ef897477e40f8557e0f25fccdb2ebf410d + 9fd49e1384a04bdc6f0e1a5c126fa201666f23a5 - + https://github.com/dotnet/emsdk - fd6a60ef897477e40f8557e0f25fccdb2ebf410d + 9fd49e1384a04bdc6f0e1a5c126fa201666f23a5 diff --git a/eng/Versions.props b/eng/Versions.props index 01d2fa496566c5..ea8264d1c940a1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -252,7 +252,7 @@ Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport --> - 8.0.19 + 8.0.20 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version) 1.1.87-gba258badda From 4e270e8247a28420d76b48ff1293910a63010f20 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 13:52:20 -0400 Subject: [PATCH 09/66] [release/8.0-staging] Fix broken debugger/debuggee startup handshake protocol on macOS26. (#118213) Backport of https://github.com/dotnet/runtime/pull/118120 * Add support for new startup handshake protocol over pipes instead of sempahores. * Remove NonBlocking runtime support. * Renames, logging and simplification. * Improve tracing. * Make open check non blocking. * Fold access into open calls and track ENOENT | ENOACCES * Review feedback. --------- Co-authored-by: lateralusX --- src/coreclr/pal/src/thread/process.cpp | 266 +++++++++++++++++++++++-- 1 file changed, 252 insertions(+), 14 deletions(-) diff --git a/src/coreclr/pal/src/thread/process.cpp b/src/coreclr/pal/src/thread/process.cpp index f9f2703cf4b23d..582f6cedc2dc7c 100644 --- a/src/coreclr/pal/src/thread/process.cpp +++ b/src/coreclr/pal/src/thread/process.cpp @@ -103,6 +103,9 @@ extern "C" } \ } while (false) +// On macOS 26, sem_open fails if debugger and debugee are signed with different team ids. +// Use fifos instead of semaphores to avoid this issue, https://github.com/dotnet/runtime/issues/116545 +#define ENABLE_RUNTIME_EVENTS_OVER_PIPES #endif // __APPLE__ #ifdef __NetBSD__ @@ -1430,21 +1433,217 @@ static uint64_t HashSemaphoreName(uint64_t a, uint64_t b) static const char *const TwoWayNamedPipePrefix = "clr-debug-pipe"; static const char* IpcNameFormat = "%s-%d-%llu-%s"; -/*++ - PAL_NotifyRuntimeStarted +#ifdef ENABLE_RUNTIME_EVENTS_OVER_PIPES +static const char* RuntimeStartupPipeName = "st"; +static const char* RuntimeContinuePipeName = "co"; - Signals the debugger waiting for runtime startup notification to continue and - waits until the debugger signals us to continue. +#define PIPE_OPEN_RETRY_DELAY_NS 500000000 // 500 ms -Parameters: - None +typedef enum +{ + RuntimeEventsOverPipes_Disabled = 0, + RuntimeEventsOverPipes_Succeeded = 1, + RuntimeEventsOverPipes_Failed = 2, +} RuntimeEventsOverPipes; -Return value: - TRUE - successfully launched by debugger, FALSE - not launched or some failure in the handshake ---*/ +typedef enum +{ + RuntimeEvent_Unknown = 0, + RuntimeEvent_Started = 1, + RuntimeEvent_Continue = 2, +} RuntimeEvent; + +static +int +OpenPipe(const char* name, int mode) +{ + int fd = -1; + int flags = mode | O_NONBLOCK; + +#if defined(FD_CLOEXEC) + flags |= O_CLOEXEC; +#endif + + while (fd == -1) + { + fd = open(name, flags); + if (fd == -1) + { + if (mode == O_WRONLY && errno == ENXIO) + { + PAL_nanosleep(PIPE_OPEN_RETRY_DELAY_NS); + continue; + } + else if (errno == EINTR) + { + continue; + } + else + { + break; + } + } + } + + if (fd != -1) + { + flags = fcntl(fd, F_GETFL); + if (flags != -1) + { + flags &= ~O_NONBLOCK; + if (fcntl(fd, F_SETFL, flags) == -1) + { + close(fd); + fd = -1; + } + } + else + { + close(fd); + fd = -1; + } + } + + return fd; +} + +static +void +ClosePipe(int fd) +{ + if (fd != -1) + { + while (close(fd) < 0 && errno == EINTR); + } +} + +static +RuntimeEventsOverPipes +NotifyRuntimeUsingPipes() +{ + RuntimeEventsOverPipes result = RuntimeEventsOverPipes_Disabled; + char startupPipeName[MAX_DEBUGGER_TRANSPORT_PIPE_NAME_LENGTH]; + char continuePipeName[MAX_DEBUGGER_TRANSPORT_PIPE_NAME_LENGTH]; + int startupPipeFd = -1; + int continuePipeFd = -1; + size_t offset = 0; + + LPCSTR applicationGroupId = PAL_GetApplicationGroupId(); + + PAL_GetTransportPipeName(continuePipeName, gPID, applicationGroupId, RuntimeContinuePipeName); + TRACE("NotifyRuntimeUsingPipes: opening continue '%s' pipe\n", continuePipeName); + + continuePipeFd = OpenPipe(continuePipeName, O_RDONLY); + if (continuePipeFd == -1) + { + if (errno == ENOENT || errno == EACCES) + { + TRACE("NotifyRuntimeUsingPipes: pipe %s not found/accessible, runtime events over pipes disabled\n", continuePipeName); + } + else + { + TRACE("NotifyRuntimeUsingPipes: open(%s) failed: %d (%s)\n", continuePipeName, errno, strerror(errno)); + result = RuntimeEventsOverPipes_Failed; + } + + goto exit; + } + + PAL_GetTransportPipeName(startupPipeName, gPID, applicationGroupId, RuntimeStartupPipeName); + TRACE("NotifyRuntimeUsingPipes: opening startup '%s' pipe\n", startupPipeName); + + startupPipeFd = OpenPipe(startupPipeName, O_WRONLY); + if (startupPipeFd == -1) + { + if (errno == ENOENT || errno == EACCES) + { + TRACE("NotifyRuntimeUsingPipes: pipe %s not found/accessible, runtime events over pipes disabled\n", startupPipeName); + } + else + { + TRACE("NotifyRuntimeUsingPipes: open(%s) failed: %d (%s)\n", startupPipeName, errno, strerror(errno)); + result = RuntimeEventsOverPipes_Failed; + } + + goto exit; + } + + TRACE("NotifyRuntimeUsingPipes: sending started event\n"); + + { + unsigned char event = (unsigned char)RuntimeEvent_Started; + unsigned char *buffer = &event; + int bytesToWrite = sizeof(event); + int bytesWritten = 0; + + do + { + bytesWritten = write(startupPipeFd, buffer + offset, bytesToWrite - offset); + if (bytesWritten > 0) + { + offset += bytesWritten; + } + } + while ((bytesWritten > 0 && offset < bytesToWrite) || (bytesWritten == -1 && errno == EINTR)); + + if (offset != bytesToWrite) + { + TRACE("NotifyRuntimeUsingPipes: write(%s) failed: %d (%s)\n", startupPipeName, errno, strerror(errno)); + goto exit; + } + } + + TRACE("NotifyRuntimeUsingPipes: waiting on continue event\n"); + + { + unsigned char event = (unsigned char)RuntimeEvent_Unknown; + unsigned char *buffer = &event; + int bytesToRead = sizeof(event); + int bytesRead = 0; + + offset = 0; + do + { + bytesRead = read(continuePipeFd, buffer + offset, bytesToRead - offset); + if (bytesRead > 0) + { + offset += bytesRead; + } + } + while ((bytesRead > 0 && offset < bytesToRead) || (bytesRead == -1 && errno == EINTR)); + + if (offset == bytesToRead && event == (unsigned char)RuntimeEvent_Continue) + { + TRACE("NotifyRuntimeUsingPipes: received continue event\n"); + } + else + { + TRACE("NotifyRuntimeUsingPipes: received invalid event\n"); + goto exit; + } + } + + result = RuntimeEventsOverPipes_Succeeded; + +exit: + + if (startupPipeFd != -1) + { + ClosePipe(startupPipeFd); + } + + if (continuePipeFd != -1) + { + ClosePipe(continuePipeFd); + } + + return result; +} +#endif // ENABLE_RUNTIME_EVENTS_OVER_PIPES + +static BOOL -PALAPI -PAL_NotifyRuntimeStarted() +NotifyRuntimeUsingSemaphores() { char startupSemName[CLR_SEM_MAX_NAMELEN]; char continueSemName[CLR_SEM_MAX_NAMELEN]; @@ -1465,13 +1664,13 @@ PAL_NotifyRuntimeStarted() CreateSemaphoreName(startupSemName, RuntimeStartupSemaphoreName, unambiguousProcessDescriptor, applicationGroupId); CreateSemaphoreName(continueSemName, RuntimeContinueSemaphoreName, unambiguousProcessDescriptor, applicationGroupId); - TRACE("PAL_NotifyRuntimeStarted opening continue '%s' startup '%s'\n", continueSemName, startupSemName); + TRACE("NotifyRuntimeUsingSemaphores: opening continue '%s' startup '%s'\n", continueSemName, startupSemName); // Open the debugger startup semaphore. If it doesn't exists, then we do nothing and return startupSem = sem_open(startupSemName, 0); if (startupSem == SEM_FAILED) { - TRACE("sem_open(%s) failed: %d (%s)\n", startupSemName, errno, strerror(errno)); + TRACE("NotifyRuntimeUsingSemaphores: sem_open(%s) failed: %d (%s)\n", startupSemName, errno, strerror(errno)); goto exit; } @@ -1494,7 +1693,7 @@ PAL_NotifyRuntimeStarted() { if (EINTR == errno) { - TRACE("sem_wait() failed with EINTR; re-waiting"); + TRACE("NotifyRuntimeUsingSemaphores: sem_wait() failed with EINTR; re-waiting"); continue; } ASSERT("sem_wait(continueSem) failed: errno is %d (%s)\n", errno, strerror(errno)); @@ -1516,6 +1715,45 @@ PAL_NotifyRuntimeStarted() return launched; } +/*++ + PAL_NotifyRuntimeStarted + + Signals the debugger waiting for runtime startup notification to continue and + waits until the debugger signals us to continue. + +Parameters: + None + +Return value: + TRUE - successfully launched by debugger, FALSE - not launched or some failure in the handshake +--*/ +BOOL +PALAPI +PAL_NotifyRuntimeStarted() +{ +#ifdef ENABLE_RUNTIME_EVENTS_OVER_PIPES + // Test pipes as runtime event transport. + RuntimeEventsOverPipes result = NotifyRuntimeUsingPipes(); + switch (result) + { + case RuntimeEventsOverPipes_Disabled: + TRACE("PAL_NotifyRuntimeStarted: pipe handshake disabled, try semaphores\n"); + return NotifyRuntimeUsingSemaphores(); + case RuntimeEventsOverPipes_Failed: + TRACE("PAL_NotifyRuntimeStarted: pipe handshake failed\n"); + return FALSE; + case RuntimeEventsOverPipes_Succeeded: + TRACE("PAL_NotifyRuntimeStarted: pipe handshake succeeded\n"); + return TRUE; + default: + // Unexpected result. + return FALSE; + } +#else + return NotifyRuntimeUsingSemaphores(); +#endif // ENABLE_RUNTIME_EVENTS_OVER_PIPES +} + LPCSTR PALAPI PAL_GetApplicationGroupId() From b5fb2bea11d743944dd9d6f6d99a532a9ea4f78a Mon Sep 17 00:00:00 2001 From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com> Date: Thu, 7 Aug 2025 08:26:27 -0700 Subject: [PATCH 10/66] Update branding to 8.0.20 (#118348) --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 01d2fa496566c5..b71933725f3847 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,11 +1,11 @@ - 8.0.19 + 8.0.20 8 0 - 19 + 20 8.0.100 7.0.20 6.0.36 From a82922ec27a61b1078b1fb41b09076303c7a129d Mon Sep 17 00:00:00 2001 From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com> Date: Thu, 7 Aug 2025 09:41:59 -0700 Subject: [PATCH 11/66] Merging internal commits for release/8.0 (#118452) Co-authored-by: Mirroring From 2ea27b3cbc2493d75088583ee009a73f1f8ecc90 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 11 Aug 2025 18:23:28 +0000 Subject: [PATCH 12/66] Update dependencies from https://github.com/dotnet/emsdk build 20250811.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25411.2 --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index fd921f1ee1531b..6469bdcfc0bf16 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c76831787012e6..c730d22017e1b1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - 9fd49e1384a04bdc6f0e1a5c126fa201666f23a5 + e8edbef2dea32e6d5fc17f45538a885bc4fb7aa9 - + https://github.com/dotnet/emsdk - 9fd49e1384a04bdc6f0e1a5c126fa201666f23a5 + e8edbef2dea32e6d5fc17f45538a885bc4fb7aa9 From 695eb499cc88e30b2d78c0bf499e0b9833bb6ff3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 11 Aug 2025 21:31:17 +0000 Subject: [PATCH 13/66] Update dependencies from https://github.com/dotnet/emsdk build 20250811.4 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25411.4 Dependency coherency updates runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools From Version 16.0.5-alpha.1.24362.2 -> To Version 16.0.5-alpha.1.25311.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 --- NuGet.config | 2 +- eng/Version.Details.xml | 126 ++++++++++++++++++++-------------------- eng/Versions.props | 60 +++++++++---------- 3 files changed, 94 insertions(+), 94 deletions(-) diff --git a/NuGet.config b/NuGet.config index 6469bdcfc0bf16..69c886c8342542 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c730d22017e1b1..40cc9acfdff4ec 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -12,69 +12,69 @@ https://github.com/dotnet/wcf 7f504aabb1988e9a093c1e74d8040bd52feb2f01 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 https://github.com/dotnet/command-line-api @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - e8edbef2dea32e6d5fc17f45538a885bc4fb7aa9 + d813f0f9cb673d3b2ef41667fa9de963579c4915 - + https://github.com/dotnet/emsdk - e8edbef2dea32e6d5fc17f45538a885bc4fb7aa9 + d813f0f9cb673d3b2ef41667fa9de963579c4915 @@ -237,61 +237,61 @@ https://github.com/dotnet/runtime-assets 1ef844c35b4db6c120722d0abcc64dba0d3d0685 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 https://github.com/dotnet/runtime diff --git a/eng/Versions.props b/eng/Versions.props index ea8264d1c940a1..b5e9dd0d32a468 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -110,14 +110,14 @@ 8.0.0-rc.1.23406.6 8.0.0-preview.7.23325.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 6.0.0 1.1.1 @@ -234,20 +234,20 @@ 2.4.8 8.0.0-alpha.1.23527.1 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 1.1.87-gba258badda - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 3.1.7 1.0.406601 From c4afd6e49442e67ee8cfaaf9cb8119e40bc2a4f1 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 18 Aug 2025 12:10:09 +0000 Subject: [PATCH 14/66] Update dependencies from https://github.com/dotnet/emsdk build 20250818.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25418.3 --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index 69c886c8342542..b6f1d783d57d49 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 40cc9acfdff4ec..67606fe9c3e34c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - d813f0f9cb673d3b2ef41667fa9de963579c4915 + 222749b48ecb0fe78f236ca9c61f6ff3b09cdc99 - + https://github.com/dotnet/emsdk - d813f0f9cb673d3b2ef41667fa9de963579c4915 + 222749b48ecb0fe78f236ca9c61f6ff3b09cdc99 From 89c96859a2d794000679165568639e8113468179 Mon Sep 17 00:00:00 2001 From: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com> Date: Mon, 25 Aug 2025 10:00:32 -0700 Subject: [PATCH 15/66] [release/8.0] Bump usages of MicroBuild task to v4 (#119027) * Bump usages of MicroBuild task to v4 Version 2 is not equipped for PRC required connections * Remove MicroBuild signing step from build job It's not used to sign the DAC * Add connection identifier --- eng/pipelines/coreclr/templates/build-job.yml | 11 ----------- .../official/jobs/prepare-signed-artifacts.yml | 6 +++++- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/eng/pipelines/coreclr/templates/build-job.yml b/eng/pipelines/coreclr/templates/build-job.yml index ebaeae5e124042..7790560bcb5eba 100644 --- a/eng/pipelines/coreclr/templates/build-job.yml +++ b/eng/pipelines/coreclr/templates/build-job.yml @@ -124,17 +124,6 @@ jobs: - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}: - template: /eng/pipelines/common/restore-internal-tools.yml - # Install MicroBuild for signing the DAC and DBI - - ${{ if and(eq(variables['System.TeamProject'], 'internal'), eq(parameters.signBinaries, true), eq(parameters.osGroup, 'windows')) }}: - - task: MicroBuildSigningPlugin@2 - displayName: Install MicroBuild plugin for Signing - inputs: - signType: $(SignType) - zipSources: false - feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - continueOnError: false - condition: and(succeeded(), in(variables['SignType'], 'real', 'test')) - - ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(parameters.osGroup, 'windows') }}: - task: Bash@3 diff --git a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml index 4327746620095b..540f392e796389 100644 --- a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml +++ b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml @@ -36,12 +36,16 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - task: NuGetAuthenticate@1 - - task: MicroBuildSigningPlugin@2 + - task: MicroBuildSigningPlugin@4 displayName: Install MicroBuild plugin for Signing inputs: signType: $(SignType) zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)' continueOnError: false condition: and(succeeded(), in(variables['SignType'], 'real', 'test')) From 1d346eb790fc2c00170cc9f45016d82117616575 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 27 Aug 2025 14:33:44 +0200 Subject: [PATCH 16/66] [release/8.0-staging] make Http2_RequestFailsWithAppropriateHttpProtocolException test more deterministic (#119103) * make Http2_IncorrectServerPreface_RequestFailsWithAppropriateHttpProtocolException test more deterministic * feedback --------- Co-authored-by: wfurt --- .../tests/FunctionalTests/HttpClientHandlerTest.Http2.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs index a9b1be6e7766a2..3036935ef5533d 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs @@ -139,7 +139,8 @@ public async Task Http2_StreamResetByServerBeforePrefix_RequestFailsWithGoawayPr Http2LoopbackConnection connection = await server.AcceptConnectionAsync(timeout: null); _ = await connection.ReadSettingsAsync(); - + // Wait until client starts sending request + _ = await connection.ReadFrameAsync(TestHelper.PassingTestTimeout); GoAwayFrame goAwayFrame = new GoAwayFrame(lastStreamId: 0, (int)ProtocolErrors.HTTP_1_1_REQUIRED, additionalDebugData: Array.Empty(), streamId: 0); await connection.WriteFrameAsync(goAwayFrame); @@ -363,6 +364,8 @@ public async Task Http2_IncorrectServerPreface_RequestFailsWithAppropriateHttpPr Http2LoopbackConnection connection = await server.AcceptConnectionAsync(); await connection.ReadSettingsAsync(); + // Wait until client starts sending request + _ = await connection.ReadFrameAsync(TestHelper.PassingTestTimeout); await connection.SendGoAway(0, ProtocolErrors.INTERNAL_ERROR); await AssertProtocolErrorAsync(sendTask, ProtocolErrors.INTERNAL_ERROR); From c3329fc0db06eba3fe24428e7505865878945227 Mon Sep 17 00:00:00 2001 From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:40:22 -0700 Subject: [PATCH 17/66] Update branding to 8.0.21 (#119279) --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 9af1e7378d9ad7..91af212a42112c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,11 +1,11 @@ - 8.0.20 + 8.0.21 8 0 - 20 + 21 8.0.100 7.0.20 6.0.36 From 7442eca81279c7e1db3c9563b3ac0c0efe56f23c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 4 Sep 2025 13:00:14 +0200 Subject: [PATCH 18/66] [maccatalyst] Check for -Wno-overriding-option for compatibility with clang in Xcode 16.3+ (#119260) (#119303) https://github.com/llvm/llvm-project/commit/1c66d08b0137cef7761b8220d3b7cb7833f57cdb renamed the option `-Wno-overriding-t-option` to `-Wno-overriding-option`. This caused some configure time checks in CMake to fail because of hitting an unknown compiler option. (cherry picked from commit 4b8a47869b384ccdb4e885d8efcf6a53c3467dd3) (cherry picked from commit f08548f4522345b4c84e52f1dcd0f516f1ae0f77) --- eng/native/configurecompiler.cmake | 18 +++++++++++++++--- src/mono/CMakeLists.txt | 21 +++++++++++++++++++++ src/mono/mono.proj | 2 -- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake index 1882ceb68ffce6..9a8f16fb457642 100644 --- a/eng/native/configurecompiler.cmake +++ b/eng/native/configurecompiler.cmake @@ -635,9 +635,21 @@ if (CLR_CMAKE_HOST_UNIX) # a value for mmacosx-version-min (blank CMAKE_OSX_DEPLOYMENT_TARGET gets # replaced with a default value, and always gets expanded to an OS version. # https://gitlab.kitware.com/cmake/cmake/-/issues/20132 - # We need to disable the warning that -tagret replaces -mmacosx-version-min - set(DISABLE_OVERRIDING_MIN_VERSION_ERROR -Wno-overriding-t-option) - add_link_options(-Wno-overriding-t-option) + # We need to disable the warning that -target replaces -mmacosx-version-min + # + # With https://github.com/llvm/llvm-project/commit/1c66d08b0137cef7761b8220d3b7cb7833f57cdb clang renamed the option so we need to check for both + check_c_compiler_flag("-Wno-overriding-option" COMPILER_SUPPORTS_W_NO_OVERRIDING_OPTION) + if (COMPILER_SUPPORTS_W_NO_OVERRIDING_OPTION) + set(DISABLE_OVERRIDING_MIN_VERSION_ERROR -Wno-overriding-option) + else() + check_c_compiler_flag("-Wno-overriding-t-option" COMPILER_SUPPORTS_W_NO_OVERRIDING_T_OPTION) + if (COMPILER_SUPPORTS_W_NO_OVERRIDING_T_OPTION) + set(DISABLE_OVERRIDING_MIN_VERSION_ERROR -Wno-overriding-t-option) + else() + message(FATAL_ERROR "Compiler does not support -Wno-overriding-option or -Wno-overriding-t-option, needed for Mac Catalyst builds.") + endif() + endif() + add_link_options(${DISABLE_OVERRIDING_MIN_VERSION_ERROR}) if(CLR_CMAKE_HOST_ARCH_ARM64) set(MACOS_VERSION_MIN_FLAGS "-target arm64-apple-ios14.2-macabi") add_link_options(-target arm64-apple-ios14.2-macabi) diff --git a/src/mono/CMakeLists.txt b/src/mono/CMakeLists.txt index 8320e4c4cf145b..b1fa4eacae0d51 100644 --- a/src/mono/CMakeLists.txt +++ b/src/mono/CMakeLists.txt @@ -551,6 +551,27 @@ if(GCC) set(WARNINGS "${WARNINGS} -Qunused-arguments -Wno-tautological-compare -Wno-parentheses-equality -Wno-self-assign -Wno-return-stack-address -Wno-constant-logical-operand -Wno-zero-length-array -Wno-asm-operand-widths") endif() + if (HOST_MACCAT) + # Somewhere between CMake 3.17 and 3.19.4, it became impossible to not pass + # a value for mmacosx-version-min (blank CMAKE_OSX_DEPLOYMENT_TARGET gets + # replaced with a default value, and always gets expanded to an OS version. + # https://gitlab.kitware.com/cmake/cmake/-/issues/20132 + # We need to disable the warning that -target replaces -mmacosx-version-min + # + # With https://github.com/llvm/llvm-project/commit/1c66d08b0137cef7761b8220d3b7cb7833f57cdb clang renamed the option so we need to check for both + check_c_compiler_flag("-Wno-overriding-option" COMPILER_SUPPORTS_W_NO_OVERRIDING_OPTION) + if (COMPILER_SUPPORTS_W_NO_OVERRIDING_OPTION) + set(WARNINGS "${WARNINGS} -Wno-overriding-option") + else() + check_c_compiler_flag("-Wno-overriding-t-option" COMPILER_SUPPORTS_W_NO_OVERRIDING_T_OPTION) + if (COMPILER_SUPPORTS_W_NO_OVERRIDING_T_OPTION) + set(WARNINGS "${WARNINGS} -Wno-overriding-t-option") + else() + message(FATAL_ERROR "Compiler does not support -Wno-overriding-option or -Wno-overriding-t-option, needed for Mac Catalyst builds.") + endif() + endif() + endif() + check_c_compiler_flag("-Werror=incompatible-pointer-types" WERROR_INCOMPATIBLE_POINTER_TYPES) if(WERROR_INCOMPATIBLE_POINTER_TYPES) set(WERROR_C "${WERROR_C} -Werror=incompatible-pointer-types") diff --git a/src/mono/mono.proj b/src/mono/mono.proj index d0e704abbdf5a7..47fdbe483d6876 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -392,8 +392,6 @@ <_MonoCMakeArgs Include="-DCMAKE_SYSTEM_VARIANT=maccatalyst" /> - - <_MonoCPPFLAGS Include="-Wno-overriding-t-option" /> <_MonoCFlags Condition="'$(TargetArchitecture)' == 'arm64'" Include="-target arm64-apple-ios14.2-macabi" /> <_MonoCFlags Condition="'$(TargetArchitecture)' == 'x64'" Include="-target x86_64-apple-ios13.5-macabi" /> <_MonoCFLAGS Condition="'$(TargetArchitecture)' == 'arm64'" Include="-arch arm64" /> From 5a2385059d0005c427512ece017becc67f2a2bee Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Fri, 5 Sep 2025 09:08:24 -0700 Subject: [PATCH 19/66] [release/8.0-staging] Reapply distribute free regions (#117736) * Reapply "[release/8.0-staging] improve distribute_free_regions (#115023)" (#117543) This reverts commit 41fa3fb6eadffdec377b5ad9b06ffef673cc5dd1. * Port a missing age to age_free_regions This change was missing from the initial port. * fix build break. --- src/coreclr/gc/gc.cpp | 613 +++++++++++++++++++++++++++------------- src/coreclr/gc/gcpriv.h | 32 ++- 2 files changed, 443 insertions(+), 202 deletions(-) diff --git a/src/coreclr/gc/gc.cpp b/src/coreclr/gc/gc.cpp index 74143fc8df86de..d4295540580a73 100644 --- a/src/coreclr/gc/gc.cpp +++ b/src/coreclr/gc/gc.cpp @@ -2487,6 +2487,8 @@ uint32_t gc_heap::m_high_memory_load_th; uint32_t gc_heap::v_high_memory_load_th; +uint32_t gc_heap::almost_high_memory_load_th; + bool gc_heap::is_restricted_physical_mem; uint64_t gc_heap::total_physical_mem = 0; @@ -12730,35 +12732,29 @@ void gc_heap::rearrange_heap_segments(BOOL compacting) #endif //!USE_REGIONS #if defined(USE_REGIONS) -// trim down the list of free regions pointed at by free_list down to target_count, moving the extra ones to surplus_list -static void remove_surplus_regions (region_free_list* free_list, region_free_list* surplus_list, size_t target_count) +// trim down the list of regions pointed at by src down to target_count, moving the extra ones to dest +static void trim_region_list (region_free_list* dest, region_free_list* src, size_t target_count) { - while (free_list->get_num_free_regions() > target_count) + while (src->get_num_free_regions() > target_count) { - // remove one region from the heap's free list - heap_segment* region = free_list->unlink_region_front(); - - // and put it on the surplus list - surplus_list->add_region_front (region); + heap_segment* region = src->unlink_region_front(); + dest->add_region_front (region); } } -// add regions from surplus_list to free_list, trying to reach target_count -static int64_t add_regions (region_free_list* free_list, region_free_list* surplus_list, size_t target_count) +// add regions from src to dest, trying to grow the size of dest to target_count +static int64_t grow_region_list (region_free_list* dest, region_free_list* src, size_t target_count) { int64_t added_count = 0; - while (free_list->get_num_free_regions() < target_count) + while (dest->get_num_free_regions() < target_count) { - if (surplus_list->get_num_free_regions() == 0) + if (src->get_num_free_regions() == 0) break; added_count++; - // remove one region from the surplus list - heap_segment* region = surplus_list->unlink_region_front(); - - // and put it on the heap's free list - free_list->add_region_front (region); + heap_segment* region = src->unlink_region_front(); + dest->add_region_front (region); } return added_count; } @@ -13240,12 +13236,102 @@ void region_free_list::sort_by_committed_and_age() } tail_free_region = prev; } -#endif //USE_REGIONS +void gc_heap::age_free_regions (const char* msg) +{ + // If we are doing an ephemeral GC as a precursor to a BGC, then we will age all of the region + // kinds during the ephemeral GC and skip the call to age_free_regions during the BGC itself. + bool age_all_region_kinds = (settings.condemned_generation == max_generation); + + if (!age_all_region_kinds) + { +#ifdef MULTIPLE_HEAPS + gc_heap* hp = g_heaps[0]; +#else //MULTIPLE_HEAPS + gc_heap* hp = pGenGCHeap; +#endif //MULTIPLE_HEAPS + age_all_region_kinds = (hp->current_bgc_state == bgc_initialized); + } + + if (age_all_region_kinds) + { + global_free_huge_regions.age_free_regions(); + } + +#ifdef MULTIPLE_HEAPS + for (int i = 0; i < n_heaps; i++) + { + gc_heap* hp = g_heaps[i]; +#else //MULTIPLE_HEAPS + { + gc_heap* hp = pGenGCHeap; + const int i = 0; +#endif //MULTIPLE_HEAPS + + if (age_all_region_kinds) + { + // age and print all kinds of free regions + region_free_list::age_free_regions (hp->free_regions); + region_free_list::print (hp->free_regions, i, msg); + } + else + { + // age and print only basic free regions + hp->free_regions[basic_free_region].age_free_regions(); + hp->free_regions[basic_free_region].print (i, msg); + } + } +} + +// distribute_free_regions is called during all blocking GCs and in the start of the BGC mark phase +// unless we already called it during an ephemeral GC right before the BGC. +// +// Free regions are stored on the following permanent lists: +// - global_regions_to_decommit +// - global_free_huge_regions +// - (per-heap) free_regions +// and the following lists that are local to distribute_free_regions: +// - aged_regions +// - surplus_regions +// +// For reason_induced_aggressive GCs, we decommit all regions. Therefore, the below description is +// for other GC types. +// +// distribute_free_regions steps: +// +// 1. Process region ages +// a. Move all huge regions from free_regions to global_free_huge_regions. +// (The intention is that free_regions shouldn't contain any huge regions outside of the period +// where a GC reclaims them and distribute_free_regions moves them to global_free_huge_regions, +// though perhaps BGC can leave them there. Future work could verify and assert this.) +// b. Move any basic region in global_regions_to_decommit (which means we intended to decommit them +// but haven't done so yet) to surplus_regions +// c. Move all huge regions that are past the age threshold from global_free_huge_regions to aged_regions +// d. Move all basic/large regions that are past the age threshold from free_regions to aged_regions +// 2. Move all regions from aged_regions to global_regions_to_decommit. Note that the intention is to +// combine this with move_highest_free_regions in a future change, which is why we don't just do this +// in steps 1c/1d. +// 3. Compute the required per-heap budgets for SOH (basic regions) and the balance. The budget for LOH +// (large) is zero as we are using an entirely age-based approach. +// balance = (number of free regions) - budget +// 4. Decide if we are going to distribute or decommit a nonzero balance. To distribute, we adjust the +// per-heap budgets, so after this step the LOH (large) budgets can be positive. +// a. A negative balance (deficit) for SOH (basic) will be distributed it means we expect to use +// more memory than we have on the free lists. A negative balance for LOH (large) isn't possible +// for LOH since the budgets start at zero. +// b. For SOH (basic), we will decommit surplus regions unless we are in a foreground GC during BGC. +// c. For LOH (large), we will distribute surplus regions since we are using an entirely age-based +// approach. However, if we are in a high-memory-usage scenario, we will decommit. In this case, +// we will also decommit the huge regions in global_free_huge_regions. Note that they were not +// originally included in the balance because they are kept in a global list. Only basic/large +// regions are kept in per-heap lists where they can be distributed. +// 5. Implement the distribute-or-decommit strategy. To distribute, we simply move regions across heaps, +// using surplus_regions as a holding space. To decommit, for server GC we generally leave them on the +// global_regions_to_decommit list and decommit them over time. However, in high-memory-usage scenarios, +// we will immediately decommit some or all of these regions. For workstation GC, we decommit a limited +// amount and move the rest back to the (one) heap's free_list. void gc_heap::distribute_free_regions() { -#ifdef USE_REGIONS - const int kind_count = large_free_region + 1; #ifdef MULTIPLE_HEAPS BOOL joined_last_gc_before_oom = FALSE; @@ -13262,6 +13348,8 @@ void gc_heap::distribute_free_regions() #endif //MULTIPLE_HEAPS if (settings.reason == reason_induced_aggressive) { + global_regions_to_decommit[huge_free_region].transfer_regions (&global_free_huge_regions); + #ifdef MULTIPLE_HEAPS for (int i = 0; i < n_heaps; i++) { @@ -13312,22 +13400,22 @@ void gc_heap::distribute_free_regions() } // first step: accumulate the number of free regions and the budget over all heaps - // and move huge regions to global free list - size_t total_num_free_regions[kind_count] = { 0, 0 }; - size_t total_budget_in_region_units[kind_count] = { 0, 0 }; + // + // The initial budget will only be calculated for basic free regions. For large regions, the initial budget + // is zero, and distribute-vs-decommit will be determined entirely by region ages and whether we are in a + // high memory usage scenario. Distributing a surplus/deficit of regions can change the budgets that are used. + size_t total_num_free_regions[count_distributed_free_region_kinds] = { 0, 0 }; + size_t total_budget_in_region_units[count_distributed_free_region_kinds] = { 0, 0 }; + + size_t heap_budget_in_region_units[count_distributed_free_region_kinds][MAX_SUPPORTED_CPUS] = {}; + size_t min_heap_budget_in_region_units[count_distributed_free_region_kinds][MAX_SUPPORTED_CPUS] = {}; + region_free_list aged_regions[count_free_region_kinds]; + region_free_list surplus_regions[count_distributed_free_region_kinds]; + + // we may still have regions left on the regions_to_decommit list - + // use these to fill the budget as well + surplus_regions[basic_free_region].transfer_regions (&global_regions_to_decommit[basic_free_region]); - size_t num_decommit_regions_by_time = 0; - size_t size_decommit_regions_by_time = 0; - size_t heap_budget_in_region_units[MAX_SUPPORTED_CPUS][kind_count]; - size_t min_heap_budget_in_region_units[MAX_SUPPORTED_CPUS]; - size_t region_size[kind_count] = { global_region_allocator.get_region_alignment(), global_region_allocator.get_large_region_alignment() }; - region_free_list surplus_regions[kind_count]; - for (int kind = basic_free_region; kind < kind_count; kind++) - { - // we may still have regions left on the regions_to_decommit list - - // use these to fill the budget as well - surplus_regions[kind].transfer_regions (&global_regions_to_decommit[kind]); - } #ifdef MULTIPLE_HEAPS for (int i = 0; i < n_heaps; i++) { @@ -13335,167 +13423,87 @@ void gc_heap::distribute_free_regions() #else //MULTIPLE_HEAPS { gc_heap* hp = pGenGCHeap; - // just to reduce the number of #ifdefs in the code below - const int i = 0; - const int n_heaps = 1; #endif //MULTIPLE_HEAPS - for (int kind = basic_free_region; kind < kind_count; kind++) - { - // If there are regions in free that haven't been used in AGE_IN_FREE_TO_DECOMMIT GCs we always decommit them. - region_free_list& region_list = hp->free_regions[kind]; - heap_segment* next_region = nullptr; - for (heap_segment* region = region_list.get_first_free_region(); region != nullptr; region = next_region) - { - next_region = heap_segment_next (region); - int age_in_free_to_decommit = min (max (AGE_IN_FREE_TO_DECOMMIT, n_heaps), MAX_AGE_IN_FREE); - // when we are about to get OOM, we'd like to discount the free regions that just have the initial page commit as they are not useful - if ((heap_segment_age_in_free (region) >= age_in_free_to_decommit) || - ((get_region_committed_size (region) == GC_PAGE_SIZE) && joined_last_gc_before_oom)) - { - num_decommit_regions_by_time++; - size_decommit_regions_by_time += get_region_committed_size (region); - dprintf (REGIONS_LOG, ("h%2d region %p age %2d, decommit", - i, heap_segment_mem (region), heap_segment_age_in_free (region))); - region_free_list::unlink_region (region); - region_free_list::add_region (region, global_regions_to_decommit); - } - } - - total_num_free_regions[kind] += region_list.get_num_free_regions(); - } - global_free_huge_regions.transfer_regions (&hp->free_regions[huge_free_region]); - - heap_budget_in_region_units[i][basic_free_region] = 0; - min_heap_budget_in_region_units[i] = 0; - heap_budget_in_region_units[i][large_free_region] = 0; - } - - for (int gen = soh_gen0; gen < total_generation_count; gen++) - { - if ((gen <= soh_gen2) && - total_budget_in_region_units[basic_free_region] >= (total_num_free_regions[basic_free_region] + - surplus_regions[basic_free_region].get_num_free_regions())) - { - // don't accumulate budget from higher soh generations if we cannot cover lower ones - dprintf (REGIONS_LOG, ("out of free regions - skipping gen %d budget = %zd >= avail %zd", - gen, - total_budget_in_region_units[basic_free_region], - total_num_free_regions[basic_free_region] + surplus_regions[basic_free_region].get_num_free_regions())); - continue; - } -#ifdef MULTIPLE_HEAPS - for (int i = 0; i < n_heaps; i++) - { - gc_heap* hp = g_heaps[i]; -#else //MULTIPLE_HEAPS - { - gc_heap* hp = pGenGCHeap; - // just to reduce the number of #ifdefs in the code below - const int i = 0; - const int n_heaps = 1; -#endif //MULTIPLE_HEAPS - ptrdiff_t budget_gen = max (hp->estimate_gen_growth (gen), 0); - int kind = gen >= loh_generation; - size_t budget_gen_in_region_units = (budget_gen + (region_size[kind] - 1)) / region_size[kind]; - dprintf (REGIONS_LOG, ("h%2d gen %d has an estimated growth of %zd bytes (%zd regions)", i, gen, budget_gen, budget_gen_in_region_units)); - if (gen <= soh_gen2) - { - // preserve the budget for the previous generation - we should not go below that - min_heap_budget_in_region_units[i] = heap_budget_in_region_units[i][kind]; - } - heap_budget_in_region_units[i][kind] += budget_gen_in_region_units; - total_budget_in_region_units[kind] += budget_gen_in_region_units; - } } - dprintf (1, ("moved %2zd regions (%8zd) to decommit based on time", num_decommit_regions_by_time, size_decommit_regions_by_time)); + move_all_aged_regions(total_num_free_regions, aged_regions, joined_last_gc_before_oom); + // For now, we just decommit right away, but eventually these will be used in move_highest_free_regions + move_regions_to_decommit(aged_regions); - global_free_huge_regions.transfer_regions (&global_regions_to_decommit[huge_free_region]); + size_t total_basic_free_regions = total_num_free_regions[basic_free_region] + surplus_regions[basic_free_region].get_num_free_regions(); + total_budget_in_region_units[basic_free_region] = compute_basic_region_budgets(heap_budget_in_region_units[basic_free_region], min_heap_budget_in_region_units[basic_free_region], total_basic_free_regions); - size_t free_space_in_huge_regions = global_free_huge_regions.get_size_free_regions(); + bool aggressive_decommit_large_p = joined_last_gc_before_oom || dt_high_memory_load_p() || near_heap_hard_limit_p(); - ptrdiff_t num_regions_to_decommit[kind_count]; - int region_factor[kind_count] = { 1, LARGE_REGION_FACTOR }; -#ifdef TRACE_GC - const char* kind_name[count_free_region_kinds] = { "basic", "large", "huge"}; -#endif // TRACE_GC + int region_factor[count_distributed_free_region_kinds] = { 1, LARGE_REGION_FACTOR }; #ifndef MULTIPLE_HEAPS // just to reduce the number of #ifdefs in the code below const int n_heaps = 1; #endif //!MULTIPLE_HEAPS - size_t num_huge_region_units_to_consider[kind_count] = { 0, free_space_in_huge_regions / region_size[large_free_region] }; - - for (int kind = basic_free_region; kind < kind_count; kind++) + for (int kind = basic_free_region; kind < count_distributed_free_region_kinds; kind++) { - num_regions_to_decommit[kind] = surplus_regions[kind].get_num_free_regions(); - - dprintf(REGIONS_LOG, ("%zd %s free regions, %zd regions budget, %zd regions on decommit list, %zd huge regions to consider", + dprintf(REGIONS_LOG, ("%zd %s free regions, %zd regions budget, %zd regions on surplus list", total_num_free_regions[kind], - kind_name[kind], + free_region_kind_name[kind], total_budget_in_region_units[kind], - num_regions_to_decommit[kind], - num_huge_region_units_to_consider[kind])); + surplus_regions[kind].get_num_free_regions())); // check if the free regions exceed the budget // if so, put the highest free regions on the decommit list - total_num_free_regions[kind] += num_regions_to_decommit[kind]; + total_num_free_regions[kind] += surplus_regions[kind].get_num_free_regions(); - ptrdiff_t balance = total_num_free_regions[kind] + num_huge_region_units_to_consider[kind] - total_budget_in_region_units[kind]; + ptrdiff_t balance_to_distribute = total_num_free_regions[kind] - total_budget_in_region_units[kind]; - if ( -#ifdef BACKGROUND_GC - background_running_p() || -#endif - (balance < 0)) + if (distribute_surplus_p(balance_to_distribute, kind, aggressive_decommit_large_p)) { - dprintf (REGIONS_LOG, ("distributing the %zd %s regions deficit", -balance, kind_name[kind])); - #ifdef MULTIPLE_HEAPS - // we may have a deficit or - if background GC is going on - a surplus. + // we may have a deficit or - for large regions or if background GC is going on - a surplus. // adjust the budget per heap accordingly - if (balance != 0) + if (balance_to_distribute != 0) { + dprintf (REGIONS_LOG, ("distributing the %zd %s regions deficit", -balance_to_distribute, free_region_kind_name[kind])); + ptrdiff_t curr_balance = 0; ptrdiff_t rem_balance = 0; for (int i = 0; i < n_heaps; i++) { - curr_balance += balance; + curr_balance += balance_to_distribute; ptrdiff_t adjustment_per_heap = curr_balance / n_heaps; curr_balance -= adjustment_per_heap * n_heaps; - ptrdiff_t new_budget = (ptrdiff_t)heap_budget_in_region_units[i][kind] + adjustment_per_heap; - ptrdiff_t min_budget = (kind == basic_free_region) ? (ptrdiff_t)min_heap_budget_in_region_units[i] : 0; + ptrdiff_t new_budget = (ptrdiff_t)heap_budget_in_region_units[kind][i] + adjustment_per_heap; + ptrdiff_t min_budget = (ptrdiff_t)min_heap_budget_in_region_units[kind][i]; dprintf (REGIONS_LOG, ("adjusting the budget for heap %d from %zd %s regions by %zd to %zd", i, - heap_budget_in_region_units[i][kind], - kind_name[kind], + heap_budget_in_region_units[kind][i], + free_region_kind_name[kind], adjustment_per_heap, max (min_budget, new_budget))); - heap_budget_in_region_units[i][kind] = max (min_budget, new_budget); - rem_balance += new_budget - heap_budget_in_region_units[i][kind]; + heap_budget_in_region_units[kind][i] = max (min_budget, new_budget); + rem_balance += new_budget - heap_budget_in_region_units[kind][i]; } assert (rem_balance <= 0); - dprintf (REGIONS_LOG, ("remaining balance: %zd %s regions", rem_balance, kind_name[kind])); + dprintf (REGIONS_LOG, ("remaining balance: %zd %s regions", rem_balance, free_region_kind_name[kind])); // if we have a left over deficit, distribute that to the heaps that still have more than the minimum while (rem_balance < 0) { for (int i = 0; i < n_heaps; i++) { - size_t min_budget = (kind == basic_free_region) ? min_heap_budget_in_region_units[i] : 0; - if (heap_budget_in_region_units[i][kind] > min_budget) + size_t min_budget = min_heap_budget_in_region_units[kind][i]; + if (heap_budget_in_region_units[kind][i] > min_budget) { dprintf (REGIONS_LOG, ("adjusting the budget for heap %d from %zd %s regions by %d to %zd", i, - heap_budget_in_region_units[i][kind], - kind_name[kind], + heap_budget_in_region_units[kind][i], + free_region_kind_name[kind], -1, - heap_budget_in_region_units[i][kind] - 1)); + heap_budget_in_region_units[kind][i] - 1)); - heap_budget_in_region_units[i][kind] -= 1; + heap_budget_in_region_units[kind][i] -= 1; rem_balance += 1; if (rem_balance == 0) break; @@ -13507,35 +13515,44 @@ void gc_heap::distribute_free_regions() } else { - num_regions_to_decommit[kind] = balance; + assert (balance_to_distribute >= 0); + + ptrdiff_t balance_to_decommit = balance_to_distribute; + if (kind == large_free_region) + { + // huge regions aren't part of balance_to_distribute because they are kept in a global list + // and therefore can't be distributed across heaps + balance_to_decommit += global_free_huge_regions.get_size_free_regions() / global_region_allocator.get_large_region_alignment(); + } + dprintf(REGIONS_LOG, ("distributing the %zd %s regions, removing %zd regions", total_budget_in_region_units[kind], - kind_name[kind], - num_regions_to_decommit[kind])); + free_region_kind_name[kind], + balance_to_decommit)); - if (num_regions_to_decommit[kind] > 0) + if (balance_to_decommit > 0) { // remember how many regions we had on the decommit list already due to aging size_t num_regions_to_decommit_before = global_regions_to_decommit[kind].get_num_free_regions(); // put the highest regions on the decommit list - global_region_allocator.move_highest_free_regions (num_regions_to_decommit[kind]*region_factor[kind], + global_region_allocator.move_highest_free_regions (balance_to_decommit * region_factor[kind], kind == basic_free_region, global_regions_to_decommit); dprintf (REGIONS_LOG, ("Moved %zd %s regions to decommit list", - global_regions_to_decommit[kind].get_num_free_regions(), kind_name[kind])); + global_regions_to_decommit[kind].get_num_free_regions(), free_region_kind_name[kind])); if (kind == basic_free_region) { - // we should now have num_regions_to_decommit[kind] regions more on the decommit list + // we should now have 'balance' regions more on the decommit list assert (global_regions_to_decommit[kind].get_num_free_regions() == - num_regions_to_decommit_before + (size_t)num_regions_to_decommit[kind]); + num_regions_to_decommit_before + (size_t)balance_to_decommit); } else { dprintf (REGIONS_LOG, ("Moved %zd %s regions to decommit list", - global_regions_to_decommit[huge_free_region].get_num_free_regions(), kind_name[huge_free_region])); + global_regions_to_decommit[huge_free_region].get_num_free_regions(), free_region_kind_name[huge_free_region])); // cannot assert we moved any regions because there may be a single huge region with more than we want to decommit } @@ -13543,7 +13560,7 @@ void gc_heap::distribute_free_regions() } } - for (int kind = basic_free_region; kind < kind_count; kind++) + for (int kind = basic_free_region; kind < count_distributed_free_region_kinds; kind++) { #ifdef MULTIPLE_HEAPS // now go through all the heaps and remove any free regions above the target count @@ -13551,16 +13568,16 @@ void gc_heap::distribute_free_regions() { gc_heap* hp = g_heaps[i]; - if (hp->free_regions[kind].get_num_free_regions() > heap_budget_in_region_units[i][kind]) + if (hp->free_regions[kind].get_num_free_regions() > heap_budget_in_region_units[kind][i]) { dprintf (REGIONS_LOG, ("removing %zd %s regions from heap %d with %zd regions, budget is %zd", - hp->free_regions[kind].get_num_free_regions() - heap_budget_in_region_units[i][kind], - kind_name[kind], + hp->free_regions[kind].get_num_free_regions() - heap_budget_in_region_units[kind][i], + free_region_kind_name[kind], i, hp->free_regions[kind].get_num_free_regions(), - heap_budget_in_region_units[i][kind])); + heap_budget_in_region_units[kind][i])); - remove_surplus_regions (&hp->free_regions[kind], &surplus_regions[kind], heap_budget_in_region_units[i][kind]); + trim_region_list (&surplus_regions[kind], &hp->free_regions[kind], heap_budget_in_region_units[kind][i]); } } // finally go through all the heaps and distribute any surplus regions to heaps having too few free regions @@ -13574,15 +13591,15 @@ void gc_heap::distribute_free_regions() #endif //MULTIPLE_HEAPS // second pass: fill all the regions having less than budget - if (hp->free_regions[kind].get_num_free_regions() < heap_budget_in_region_units[i][kind]) + if (hp->free_regions[kind].get_num_free_regions() < heap_budget_in_region_units[kind][i]) { - int64_t num_added_regions = add_regions (&hp->free_regions[kind], &surplus_regions[kind], heap_budget_in_region_units[i][kind]); + int64_t num_added_regions = grow_region_list (&hp->free_regions[kind], &surplus_regions[kind], heap_budget_in_region_units[kind][i]); dprintf (REGIONS_LOG, ("added %zd %s regions to heap %d - now has %zd, budget is %zd", (size_t)num_added_regions, - kind_name[kind], + free_region_kind_name[kind], i, hp->free_regions[kind].get_num_free_regions(), - heap_budget_in_region_units[i][kind])); + heap_budget_in_region_units[kind][i])); } hp->free_regions[kind].sort_by_committed_and_age(); } @@ -13594,7 +13611,221 @@ void gc_heap::distribute_free_regions() } } + decide_on_decommit_strategy(aggressive_decommit_large_p); +} + +void gc_heap::move_all_aged_regions(size_t total_num_free_regions[count_distributed_free_region_kinds], region_free_list aged_regions[count_free_region_kinds], bool joined_last_gc_before_oom) +{ + move_aged_regions(aged_regions, global_free_huge_regions, huge_free_region, joined_last_gc_before_oom); + #ifdef MULTIPLE_HEAPS + for (int i = 0; i < n_heaps; i++) + { + gc_heap* hp = g_heaps[i]; +#else //MULTIPLE_HEAPS + { + gc_heap* hp = pGenGCHeap; +#endif //MULTIPLE_HEAPS + + for (int kind = basic_free_region; kind < count_distributed_free_region_kinds; kind++) + { + move_aged_regions(aged_regions, hp->free_regions[kind], static_cast(kind), joined_last_gc_before_oom); + total_num_free_regions[kind] += hp->free_regions[kind].get_num_free_regions(); + } + } +} + +void gc_heap::move_aged_regions(region_free_list dest[count_free_region_kinds], region_free_list& src, free_region_kind kind, bool joined_last_gc_before_oom) +{ + heap_segment* next_region = nullptr; + for (heap_segment* region = src.get_first_free_region(); region != nullptr; region = next_region) + { + next_region = heap_segment_next (region); + // when we are about to get OOM, we'd like to discount the free regions that just have the initial page commit as they are not useful + if (aged_region_p(region, kind) || + ((get_region_committed_size (region) == GC_PAGE_SIZE) && joined_last_gc_before_oom)) + { + region_free_list::unlink_region (region); + region_free_list::add_region (region, dest); + } + } +} + +bool gc_heap::aged_region_p(heap_segment* region, free_region_kind kind) +{ +#ifndef MULTIPLE_HEAPS + const int n_heaps = 1; +#endif + + int age_in_free_to_decommit; + switch (kind) + { + case basic_free_region: + age_in_free_to_decommit = max(AGE_IN_FREE_TO_DECOMMIT_BASIC, n_heaps); + break; + case large_free_region: + age_in_free_to_decommit = AGE_IN_FREE_TO_DECOMMIT_LARGE; + break; + case huge_free_region: + age_in_free_to_decommit = AGE_IN_FREE_TO_DECOMMIT_HUGE; + break; + default: + assert(!"unexpected kind"); + age_in_free_to_decommit = 0; + } + + age_in_free_to_decommit = min (age_in_free_to_decommit, MAX_AGE_IN_FREE); + return (heap_segment_age_in_free (region) >= age_in_free_to_decommit); +} + +void gc_heap::move_regions_to_decommit(region_free_list regions[count_free_region_kinds]) +{ + for (int kind = basic_free_region; kind < count_free_region_kinds; kind++) + { + dprintf (1, ("moved %2zd %s regions (%8zd) to decommit based on time", + regions[kind].get_num_free_regions(), free_region_kind_name[kind], regions[kind].get_size_committed_in_free())); + } + for (int kind = basic_free_region; kind < count_free_region_kinds; kind++) + { + heap_segment* next_region = nullptr; + for (heap_segment* region = regions[kind].get_first_free_region(); region != nullptr; region = next_region) + { + next_region = heap_segment_next (region); + dprintf (REGIONS_LOG, ("region %p age %2d, decommit", + heap_segment_mem (region), heap_segment_age_in_free (region))); + region_free_list::unlink_region (region); + region_free_list::add_region (region, global_regions_to_decommit); + } + } + for (int kind = basic_free_region; kind < count_free_region_kinds; kind++) + { + assert(regions[kind].get_num_free_regions() == 0); + } +} + +size_t gc_heap::compute_basic_region_budgets( + size_t heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS], + size_t min_heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS], + size_t total_basic_free_regions) +{ + const size_t region_size = global_region_allocator.get_region_alignment(); + size_t total_budget_in_region_units = 0; + + for (int gen = soh_gen0; gen <= max_generation; gen++) + { + if (total_budget_in_region_units >= total_basic_free_regions) + { + // don't accumulate budget from higher soh generations if we cannot cover lower ones + dprintf (REGIONS_LOG, ("out of free regions - skipping gen %d budget = %zd >= avail %zd", + gen, + total_budget_in_region_units, + total_basic_free_regions)); + break; + } + +#ifdef MULTIPLE_HEAPS + for (int i = 0; i < n_heaps; i++) + { + gc_heap* hp = g_heaps[i]; +#else //MULTIPLE_HEAPS + { + gc_heap* hp = pGenGCHeap; + // just to reduce the number of #ifdefs in the code below + const int i = 0; +#endif //MULTIPLE_HEAPS + ptrdiff_t budget_gen = max (hp->estimate_gen_growth (gen), (ptrdiff_t)0); + size_t budget_gen_in_region_units = (budget_gen + (region_size - 1)) / region_size; + dprintf (REGIONS_LOG, ("h%2d gen %d has an estimated growth of %zd bytes (%zd regions)", i, gen, budget_gen, budget_gen_in_region_units)); + + // preserve the budget for the previous generation - we should not go below that + min_heap_basic_budget_in_region_units[i] = heap_basic_budget_in_region_units[i]; + + heap_basic_budget_in_region_units[i] += budget_gen_in_region_units; + total_budget_in_region_units += budget_gen_in_region_units; + } + } + + return total_budget_in_region_units; +} + +bool gc_heap::near_heap_hard_limit_p() +{ + if (heap_hard_limit) + { + int current_percent_heap_hard_limit = (int)((float)current_total_committed * 100.0 / (float)heap_hard_limit); + dprintf (REGIONS_LOG, ("committed %zd is %d%% of limit %zd", + current_total_committed, current_percent_heap_hard_limit, heap_hard_limit)); + if (current_percent_heap_hard_limit >= 90) + { + return true; + } + } + + return false; +} + +bool gc_heap::distribute_surplus_p(ptrdiff_t balance, int kind, bool aggressive_decommit_large_p) +{ + if (balance < 0) + { + return true; + } + + if (kind == basic_free_region) + { +#ifdef BACKGROUND_GC + // This is detecting FGCs that run during BGCs. It is not detecting ephemeral GCs that + // (possibly) run right before a BGC as background_running_p() is not yet true at that point. + return (background_running_p() && (settings.condemned_generation != max_generation)); +#else + return false; +#endif + } + + return !aggressive_decommit_large_p; +} + +void gc_heap::decide_on_decommit_strategy(bool joined_last_gc_before_oom) +{ +#ifdef MULTIPLE_HEAPS + if (joined_last_gc_before_oom || g_low_memory_status) + { + dprintf (REGIONS_LOG, ("low memory - decommitting everything (last_gc_before_oom=%d, g_low_memory_status=%d)", joined_last_gc_before_oom, g_low_memory_status)); + + while (decommit_step(DECOMMIT_TIME_STEP_MILLISECONDS)) + { + } + return; + } + + ptrdiff_t size_to_decommit_for_heap_hard_limit = 0; + if (heap_hard_limit) + { + size_to_decommit_for_heap_hard_limit = (ptrdiff_t)(current_total_committed - (heap_hard_limit * (MAX_ALLOWED_MEM_LOAD / 100.0f))); + size_to_decommit_for_heap_hard_limit = max(size_to_decommit_for_heap_hard_limit, (ptrdiff_t)0); + } + + // For the various high memory load situations, we're not using the process size at all. In + // particular, if we had a large process and smaller processes running in the same container, + // then we will treat them the same if the container reaches reaches high_memory_load_th. In + // the future, we could consider additional complexity to try to reclaim more memory from + // larger processes than smaller ones. + ptrdiff_t size_to_decommit_for_physical = 0; + if (settings.entry_memory_load >= high_memory_load_th) + { + size_t entry_used_physical_mem = total_physical_mem - entry_available_physical_mem; + size_t goal_used_physical_mem = (size_t)(((almost_high_memory_load_th) / 100.0) * total_physical_mem); + size_to_decommit_for_physical = entry_used_physical_mem - goal_used_physical_mem; + } + + size_t size_to_decommit = max(size_to_decommit_for_heap_hard_limit, size_to_decommit_for_physical); + if (size_to_decommit > 0) + { + dprintf (REGIONS_LOG, ("low memory - decommitting %zd (for heap_hard_limit: %zd, for physical: %zd)", size_to_decommit, size_to_decommit_for_heap_hard_limit, size_to_decommit_for_physical)); + + decommit_step(size_to_decommit / DECOMMIT_SIZE_PER_MILLISECOND); + } + for (int kind = basic_free_region; kind < count_free_region_kinds; kind++) { if (global_regions_to_decommit[kind].get_num_free_regions() != 0) @@ -13616,7 +13847,7 @@ void gc_heap::distribute_free_regions() if (ephemeral_elapsed >= DECOMMIT_TIME_STEP_MILLISECONDS) { gc_last_ephemeral_decommit_time = dd_time_clock (dd0); - size_t decommit_step_milliseconds = min (ephemeral_elapsed, (10*1000)); + size_t decommit_step_milliseconds = min (ephemeral_elapsed, (size_t)(10 * 1000)); decommit_step (decommit_step_milliseconds); } @@ -13629,8 +13860,8 @@ void gc_heap::distribute_free_regions() } } #endif //MULTIPLE_HEAPS -#endif //USE_REGIONS } +#endif //USE_REGIONS #ifdef WRITE_WATCH uint8_t* g_addresses [array_size+2]; // to get around the bug in GetWriteWatch @@ -22812,22 +23043,12 @@ void gc_heap::gc1() for (int i = 0; i < gc_heap::n_heaps; i++) { g_heaps[i]->descr_generations ("END"); -#ifdef USE_REGIONS - if (settings.condemned_generation == max_generation) - { - // age and print all kinds of free regions - region_free_list::age_free_regions (g_heaps[i]->free_regions); - region_free_list::print (g_heaps[i]->free_regions, i, "END"); - } - else - { - // age and print only basic free regions - g_heaps[i]->free_regions[basic_free_region].age_free_regions(); - g_heaps[i]->free_regions[basic_free_region].print (i, "END"); - } -#endif //USE_REGIONS } +#ifdef USE_REGIONS + age_free_regions ("END"); +#endif //USE_REGIONS + fire_pevents(); update_end_ngc_time(); pm_full_gc_init_or_clear(); @@ -22861,18 +23082,7 @@ void gc_heap::gc1() compute_gc_and_ephemeral_range (settings.condemned_generation, true); stomp_write_barrier_ephemeral (ephemeral_low, ephemeral_high, map_region_to_generation_skewed, (uint8_t)min_segment_size_shr); - if (settings.condemned_generation == max_generation) - { - // age and print all kinds of free regions - region_free_list::age_free_regions(free_regions); - region_free_list::print(free_regions, 0, "END"); - } - else - { - // age and print only basic free regions - free_regions[basic_free_region].age_free_regions(); - free_regions[basic_free_region].print (0, "END"); - } + age_free_regions ("END"); #endif //USE_REGIONS update_end_ngc_time(); @@ -37913,6 +38123,16 @@ void gc_heap::background_mark_phase () if (bgc_t_join.joined()) #endif //MULTIPLE_HEAPS { +#ifdef USE_REGIONS + // There's no need to distribute a second time if we just did an ephemeral GC, and we don't want to + // age the free regions twice. + if (!do_ephemeral_gc_p) + { + distribute_free_regions (); + age_free_regions ("BGC"); + } +#endif //USE_REGIONS + #ifdef FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP // Resetting write watch for software write watch is pretty fast, much faster than for hardware write watch. Reset // can be done while the runtime is suspended or after the runtime is restarted, the preference was to reset while @@ -52653,8 +52873,8 @@ bool gc_heap::compute_memory_settings(bool is_initialization, uint32_t& nhp, uin uint32_t highmem_th_from_config = (uint32_t)GCConfig::GetGCHighMemPercent(); if (highmem_th_from_config) { - high_memory_load_th = min (99, highmem_th_from_config); - v_high_memory_load_th = min (99, (highmem_th_from_config + 7)); + high_memory_load_th = min (99u, highmem_th_from_config); + v_high_memory_load_th = min (99u, (high_memory_load_th + 7)); #ifdef FEATURE_EVENT_TRACE high_mem_percent_from_config = highmem_th_from_config; #endif //FEATURE_EVENT_TRACE @@ -52679,6 +52899,7 @@ bool gc_heap::compute_memory_settings(bool is_initialization, uint32_t& nhp, uin } m_high_memory_load_th = min ((high_memory_load_th + 5), v_high_memory_load_th); + almost_high_memory_load_th = (high_memory_load_th > 5) ? (high_memory_load_th - 5) : 1; // avoid underflow of high_memory_load_th - 5 return true; } diff --git a/src/coreclr/gc/gcpriv.h b/src/coreclr/gc/gcpriv.h index cce6c5ee28adf0..317264023a81a0 100644 --- a/src/coreclr/gc/gcpriv.h +++ b/src/coreclr/gc/gcpriv.h @@ -1403,14 +1403,19 @@ enum interesting_data_point #ifdef USE_REGIONS enum free_region_kind { - basic_free_region, - large_free_region, - huge_free_region, - count_free_region_kinds, + basic_free_region = 0, + large_free_region = 1, + count_distributed_free_region_kinds = 2, + huge_free_region = 2, + count_free_region_kinds = 3, }; static_assert(count_free_region_kinds == FREE_REGION_KINDS, "Keep count_free_region_kinds in sync with FREE_REGION_KINDS, changing this is not a version breaking change."); +#ifdef TRACE_GC +static const char * const free_region_kind_name[count_free_region_kinds] = { "basic", "large", "huge"}; +#endif // TRACE_GC + class region_free_list { size_t num_free_regions; @@ -1717,6 +1722,19 @@ class gc_heap PER_HEAP_ISOLATED_METHOD void verify_region_to_generation_map(); PER_HEAP_ISOLATED_METHOD void compute_gc_and_ephemeral_range (int condemned_gen_number, bool end_of_gc_p); + + PER_HEAP_ISOLATED_METHOD void distribute_free_regions(); + PER_HEAP_ISOLATED_METHOD void move_all_aged_regions(size_t total_num_free_regions[count_distributed_free_region_kinds], region_free_list aged_regions[count_free_region_kinds], bool joined_last_gc_before_oom); + PER_HEAP_ISOLATED_METHOD void move_aged_regions(region_free_list dest[count_free_region_kinds], region_free_list& src, free_region_kind kind, bool joined_last_gc_before_oom); + PER_HEAP_ISOLATED_METHOD bool aged_region_p(heap_segment* region, free_region_kind kind); + PER_HEAP_ISOLATED_METHOD void move_regions_to_decommit(region_free_list oregions[count_free_region_kinds]); + PER_HEAP_ISOLATED_METHOD size_t compute_basic_region_budgets(size_t heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS], size_t min_heap_basic_budget_in_region_units[MAX_SUPPORTED_CPUS], size_t total_basic_free_regions); + PER_HEAP_ISOLATED_METHOD bool near_heap_hard_limit_p(); + PER_HEAP_ISOLATED_METHOD bool distribute_surplus_p(ptrdiff_t balance, int kind, bool aggressive_decommit_large_p); + PER_HEAP_ISOLATED_METHOD void decide_on_decommit_strategy(bool joined_last_gc_before_oom); + + PER_HEAP_ISOLATED_METHOD void age_free_regions (const char* msg); + #ifdef STRESS_REGIONS PER_HEAP_METHOD void pin_by_gc (uint8_t* object); #endif //STRESS_REGIONS @@ -2420,7 +2438,6 @@ class gc_heap PER_HEAP_METHOD void rearrange_heap_segments(BOOL compacting); #endif //!USE_REGIONS PER_HEAP_METHOD void delay_free_segments(); - PER_HEAP_ISOLATED_METHOD void distribute_free_regions(); #ifdef BACKGROUND_GC PER_HEAP_ISOLATED_METHOD void reset_write_watch_for_gc_heap(void* base_address, size_t region_size); PER_HEAP_ISOLATED_METHOD void get_write_watch_for_gc_heap(bool reset, void *base_address, size_t region_size, void** dirty_pages, uintptr_t* dirty_page_count_ref, bool is_runtime_suspended); @@ -4352,6 +4369,7 @@ class gc_heap PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t high_memory_load_th; PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t m_high_memory_load_th; PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t v_high_memory_load_th; + PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint32_t almost_high_memory_load_th; PER_HEAP_ISOLATED_FIELD_INIT_ONLY bool is_restricted_physical_mem; PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint64_t mem_one_percent; PER_HEAP_ISOLATED_FIELD_INIT_ONLY uint64_t total_physical_mem; @@ -5265,7 +5283,9 @@ class heap_segment // GCs. We stop at 99. It's initialized to 0 when a region is added to // the region's free list. #define MAX_AGE_IN_FREE 99 - #define AGE_IN_FREE_TO_DECOMMIT 20 + #define AGE_IN_FREE_TO_DECOMMIT_BASIC 20 + #define AGE_IN_FREE_TO_DECOMMIT_LARGE 5 + #define AGE_IN_FREE_TO_DECOMMIT_HUGE 2 int age_in_free; // This is currently only used by regions that are swept in plan - // we then thread this list onto the generation's free list. From 337b4068f2c4717a4b0b91d1c6971d5e2c89ef0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marie=20P=C3=ADchov=C3=A1?= <11718369+ManickaP@users.noreply.github.com> Date: Tue, 9 Sep 2025 08:31:41 +0200 Subject: [PATCH 20/66] [release/8.0-staging][HTTP] Stress fix for docker compose (#119454) * [HTTP] Stress fix for docker compose Backport of #119274 to release/10.0 /cc @ManickaP ## Customer Impact - [ ] Customer reported - [x] Found internally Wind down docker compose between individual runs in HTTP stress. ## Regression - [x] Yes - [ ] No Infra update. ## Testing CI stress runs. ## Risk Low. Test only change. * Add docker-compose down command before up --- eng/pipelines/libraries/stress/http.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/pipelines/libraries/stress/http.yml b/eng/pipelines/libraries/stress/http.yml index 9b77085862e6c9..0ffa778a44e857 100644 --- a/eng/pipelines/libraries/stress/http.yml +++ b/eng/pipelines/libraries/stress/http.yml @@ -73,6 +73,7 @@ extends: export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/2.0" export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 2.0" export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 2.0" + docker-compose down docker-compose up --abort-on-container-exit --no-color displayName: Run HttpStress - HTTP 2.0 condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true')) @@ -83,6 +84,7 @@ extends: export SERVER_DUMPS_SHARE="$(Build.ArtifactStagingDirectory)/dumps/server/1.1" export HTTPSTRESS_CLIENT_ARGS="$HTTPSTRESS_CLIENT_ARGS -http 1.1" export HTTPSTRESS_SERVER_ARGS="$HTTPSTRESS_SERVER_ARGS -http 1.1" + docker-compose down docker-compose up --abort-on-container-exit --no-color displayName: Run HttpStress - HTTP 1.1 condition: and(eq(variables['buildRuntime.succeeded'], 'true'), eq(variables['buildStress.succeeded'], 'true')) From 044dd3693d4a3c6c40cfdfb4a513a083416c7415 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 13:27:44 -0700 Subject: [PATCH 21/66] [release/8.0] Update dependencies from dotnet/emsdk (#119065) * Update dependencies from https://github.com/dotnet/emsdk build 20250825.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.20-servicing.25425.2 * Update dependencies from https://github.com/dotnet/emsdk build 20250901.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.20-servicing.25451.2 * Update dependencies from https://github.com/dotnet/emsdk build 20250902.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.21-servicing.25452.3 * Update dependencies from https://github.com/dotnet/emsdk build 20250908.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.21-servicing.25458.3 --------- Co-authored-by: dotnet-maestro[bot] --- NuGet.config | 5 +---- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/NuGet.config b/NuGet.config index 1de76af40b5565..6471ea519c49c5 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,10 +9,7 @@ - - - - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f67b1b8b88d5eb..3d51603f478719 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,13 +90,13 @@ 45dd3a73dd5b64b010c4251303b3664bb30df029 - + https://github.com/dotnet/emsdk - 222749b48ecb0fe78f236ca9c61f6ff3b09cdc99 + ea366a7a40bc588c70ef59376040130baf864c85 - + https://github.com/dotnet/emsdk - 222749b48ecb0fe78f236ca9c61f6ff3b09cdc99 + ea366a7a40bc588c70ef59376040130baf864c85 diff --git a/eng/Versions.props b/eng/Versions.props index 91af212a42112c..9b7669d1a7c9fb 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -252,7 +252,7 @@ Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport --> - 8.0.20 + 8.0.21 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version) 1.1.87-gba258badda From 4c0faa136ee35b4444a56643dc2ddf51591835f9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 11 Sep 2025 15:58:54 +0200 Subject: [PATCH 22/66] Update dependencies from https://github.com/dotnet/hotreload-utils build 20250811.2 (#118591) Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.25378.2 -> To Version 8.0.0-alpha.0.25411.2 Co-authored-by: dotnet-maestro[bot] --- NuGet.config | 3 --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/NuGet.config b/NuGet.config index 02506c2fe5754d..f6e25f4daf50d1 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,9 +9,6 @@ - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c769a1f4836efc..f5393c1f5b3b21 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -354,9 +354,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 67613417f5e1af250e6ddfba79f8f2885d8e90fb - + https://github.com/dotnet/hotreload-utils - 0dcc0d22fc7b9c4eb8c7ae571ae4213324b006a6 + 4583778b38f71bc05962b9da38dd1e9ee17525e7 https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index 1c1e1719bbf3f6..686cf801af7ea0 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ 8.0.0-prerelease.25270.1 8.0.0-prerelease.25270.1 8.0.0-prerelease.25270.1 - 8.0.0-alpha.0.25378.2 + 8.0.0-alpha.0.25411.2 2.4.2 1.0.0 2.4.5 From 710042ee2b7887666faff7bf3a36c10a5781fdc4 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 11 Sep 2025 16:16:21 +0200 Subject: [PATCH 23/66] Update dependencies from https://github.com/dotnet/runtime-assets build 20250814.3 (#118757) Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData From Version 8.0.0-beta.25311.1 -> To Version 8.0.0-beta.25414.3 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 28 ++++++++++----------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f5393c1f5b3b21..57eb8ca622e8ec 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -185,57 +185,57 @@ https://github.com/dotnet/arcade 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e https://github.com/dotnet/llvm-project @@ -358,9 +358,9 @@ https://github.com/dotnet/hotreload-utils 4583778b38f71bc05962b9da38dd1e9ee17525e7 - + https://github.com/dotnet/runtime-assets - 1ef844c35b4db6c120722d0abcc64dba0d3d0685 + e8f3528a061b4f6b944f13ad87382d7964b46c7e https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index 686cf801af7ea0..9401207d99e00e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -153,20 +153,20 @@ 4.5.0 8.0.0-rc.1.23406.6 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 - 8.0.0-beta.25311.1 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 + 8.0.0-beta.25414.3 1.0.0-prerelease.23566.3 1.0.0-prerelease.23566.3 From e599df301bec2cf38d41f8c859072f9359ab6563 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 12 Sep 2025 08:55:10 -0700 Subject: [PATCH 24/66] [release/8.0-staging] Update dependencies from dotnet/icu (#118537) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependencies from https://github.com/dotnet/icu build 20250611.1 Microsoft.NETCore.Runtime.ICU.Transport From Version 8.0.0-rtm.23523.2 -> To Version 8.0.0-rtm.25311.1 * Update dependencies from https://github.com/dotnet/icu build 20250808.1 Microsoft.NETCore.Runtime.ICU.Transport From Version 8.0.0-rtm.23523.2 -> To Version 8.0.0-rtm.25408.1 --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Alexander Köplinger --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 57eb8ca622e8ec..05fcdaeee37e7c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,8 +1,8 @@ - + https://github.com/dotnet/icu - e76010c828e5913da4b6a5332f4d8b14f660dd88 + 9392a78454c1978e7b19c50d85e85c57550399e1 https://github.com/dotnet/msquic diff --git a/eng/Versions.props b/eng/Versions.props index 9401207d99e00e..55bee915e2bc9d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -229,7 +229,7 @@ 8.0.0-rc.1.23406.6 - 8.0.0-rtm.23523.2 + 8.0.0-rtm.25408.1 2.4.8 8.0.0-alpha.1.23527.1 From efb5cd0a3c2208efa9ef30b65b12dfe63b4ee6ee Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 12 Sep 2025 10:08:07 -0700 Subject: [PATCH 25/66] Update dependencies from https://github.com/dotnet/cecil build 20250907.1 (#119618) Microsoft.DotNet.Cecil From Version 0.11.4-alpha.23509.2 -> To Version 0.11.4-alpha.25457.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3d51603f478719..ddad4dcfa1e707 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - 45dd3a73dd5b64b010c4251303b3664bb30df029 + e84d2f3e542c3bc970a5b2053aebffea995561d9 diff --git a/eng/Versions.props b/eng/Versions.props index 9b7669d1a7c9fb..edf5a810cc15a2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.23509.2 + 0.11.4-alpha.25457.1 8.0.0-rc.1.23406.6 From 06f8bc8486a2b5f2bd822049da4c3d35c6f61d2c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 13 Sep 2025 06:22:53 -0700 Subject: [PATCH 26/66] Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20250828.6 (#119668) On relative base path root Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 8.0.0-alpha.1.25269.2 -> To Version 8.0.0-alpha.1.25428.6 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 05fcdaeee37e7c..9a2d9055c2e693 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -99,9 +99,9 @@ 6fd14a46f7bc405f4ba53b1e691c76fdc6324b0b - + https://github.com/dotnet/source-build-reference-packages - cee2d057118e3ad3c58a72a23271ad88b87d4d4d + 0b4984f8ee945e02a39ef0f72dc9f7ceab65c14f From 6ac31acadacb2572fd1b32563904df8f05bc6d37 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 13 Sep 2025 10:49:21 -0700 Subject: [PATCH 27/66] [release/8.0-staging] Update dependencies from dotnet/xharness (#118535) * Update dependencies from https://github.com/dotnet/xharness build 20250725.2 Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 8.0.0-prerelease.25270.1 -> To Version 8.0.0-prerelease.25375.2 * Update dependencies from https://github.com/dotnet/xharness build 20250827.2 On relative base path root Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 8.0.0-prerelease.25270.1 -> To Version 8.0.0-prerelease.25427.2 --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Tanner Gooding --- .config/dotnet-tools.json | 2 +- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index d38d5d68f88dab..601c4fd768e837 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "8.0.0-prerelease.25270.1", + "version": "8.0.0-prerelease.25427.2", "commands": [ "xharness" ] diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9a2d9055c2e693..82ad0b67a72b5d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -322,17 +322,17 @@ https://github.com/dotnet/runtime edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/xharness - c3f3d30ca6a7630b38e061043d4489559c06d4cc + fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/xharness - c3f3d30ca6a7630b38e061043d4489559c06d4cc + fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/xharness - c3f3d30ca6a7630b38e061043d4489559c06d4cc + fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 https://github.com/dotnet/arcade diff --git a/eng/Versions.props b/eng/Versions.props index 55bee915e2bc9d..173ae1bf967fae 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -195,9 +195,9 @@ 1.1.0 17.4.0-preview-20220707-01 - 8.0.0-prerelease.25270.1 - 8.0.0-prerelease.25270.1 - 8.0.0-prerelease.25270.1 + 8.0.0-prerelease.25427.2 + 8.0.0-prerelease.25427.2 + 8.0.0-prerelease.25427.2 8.0.0-alpha.0.25411.2 2.4.2 1.0.0 From f0dfc2ffbc3243066804b9e87b5fd6a84acc9433 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Sep 2025 10:51:07 -0700 Subject: [PATCH 28/66] [automated] Merge branch 'release/8.0' => 'release/8.0-staging' (#118491) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependencies from https://github.com/dotnet/emsdk build 20250721.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.19-servicing.25371.2 * Update dependencies from https://github.com/dotnet/emsdk build 20250804.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.19-servicing.25404.3 * Update dependencies from https://github.com/dotnet/emsdk build 20250804.5 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25404.5 * Update branding to 8.0.20 (#118348) * Merging internal commits for release/8.0 (#118452) Co-authored-by: Mirroring * Update dependencies from https://github.com/dotnet/emsdk build 20250811.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25411.2 * Update dependencies from https://github.com/dotnet/emsdk build 20250811.4 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25411.4 Dependency coherency updates runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools From Version 16.0.5-alpha.1.24362.2 -> To Version 16.0.5-alpha.1.25311.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 * Update dependencies from https://github.com/dotnet/emsdk build 20250818.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.19-servicing.25353.2 -> To Version 8.0.20-servicing.25418.3 * Update branding to 8.0.21 (#119279) * [release/8.0] Update dependencies from dotnet/emsdk (#119065) * Update dependencies from https://github.com/dotnet/emsdk build 20250825.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.20-servicing.25425.2 * Update dependencies from https://github.com/dotnet/emsdk build 20250901.2 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.20-servicing.25451.2 * Update dependencies from https://github.com/dotnet/emsdk build 20250902.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.21-servicing.25452.3 * Update dependencies from https://github.com/dotnet/emsdk build 20250908.3 Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.20-servicing.25418.3 -> To Version 8.0.21-servicing.25458.3 --------- Co-authored-by: dotnet-maestro[bot] * Update dependencies from https://github.com/dotnet/cecil build 20250907.1 (#119618) Microsoft.DotNet.Cecil From Version 0.11.4-alpha.23509.2 -> To Version 0.11.4-alpha.25457.1 Co-authored-by: dotnet-maestro[bot] --------- Co-authored-by: Mirroring Co-authored-by: dotnet-maestro[bot] Co-authored-by: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com> Co-authored-by: David Cantú Co-authored-by: Sean Reeser Co-authored-by: Tanner Gooding Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> --- NuGet.config | 1 + eng/Version.Details.xml | 132 ++++++++++++++++++++-------------------- eng/Versions.props | 68 ++++++++++----------- 3 files changed, 101 insertions(+), 100 deletions(-) diff --git a/NuGet.config b/NuGet.config index f6e25f4daf50d1..6471ea519c49c5 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,6 +9,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 82ad0b67a72b5d..1609b309fa2df5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -12,69 +12,69 @@ https://github.com/dotnet/wcf 7f504aabb1988e9a093c1e74d8040bd52feb2f01 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 https://github.com/dotnet/command-line-api @@ -85,18 +85,18 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - 45dd3a73dd5b64b010c4251303b3664bb30df029 + e84d2f3e542c3bc970a5b2053aebffea995561d9 - + https://github.com/dotnet/emsdk - 6fd14a46f7bc405f4ba53b1e691c76fdc6324b0b + ea366a7a40bc588c70ef59376040130baf864c85 - + https://github.com/dotnet/emsdk - 6fd14a46f7bc405f4ba53b1e691c76fdc6324b0b + ea366a7a40bc588c70ef59376040130baf864c85 @@ -237,61 +237,61 @@ https://github.com/dotnet/runtime-assets e8f3528a061b4f6b944f13ad87382d7964b46c7e - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/llvm-project - 0eac01ff3c4a8d1dbe6452dd2d8b75395bbf2b3d + 0a471ebbe6a4a9c095169dd531b825a4370f57f3 https://github.com/dotnet/runtime diff --git a/eng/Versions.props b/eng/Versions.props index 173ae1bf967fae..2441d21f812788 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,11 +1,11 @@ - 8.0.19 + 8.0.21 8 0 - 19 + 21 8.0.100 7.0.20 6.0.36 @@ -110,14 +110,14 @@ 8.0.0-rc.1.23406.6 8.0.0-preview.7.23325.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 6.0.0 1.1.1 @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.23509.2 + 0.11.4-alpha.25457.1 8.0.0-rc.1.23406.6 @@ -234,37 +234,37 @@ 2.4.8 8.0.0-alpha.1.23527.1 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 - 8.0.19 + 8.0.21 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version) 1.1.87-gba258badda - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 - 16.0.5-alpha.1.24362.2 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 + 16.0.5-alpha.1.25311.1 3.1.7 1.0.406601 From f1f345979aaba5f1104c19071319da2d646dd600 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 09:57:01 +0200 Subject: [PATCH 29/66] Do not check status, it's irrelevant whether to asses if H/3 is working. (#119523) Co-authored-by: ManickaP --- .../tests/FunctionalTests/HttpClientHandlerTest.Http3.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs index b9de74a38a0457..49026e7126c4a0 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http3.cs @@ -730,7 +730,6 @@ public async Task Public_Interop_ExactVersion_Success(string uri) }; using HttpResponseMessage response = await client.SendAsync(request).WaitAsync(TimeSpan.FromSeconds(20)); - Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Equal(3, response.Version.Major); } @@ -749,7 +748,6 @@ public async Task Public_Interop_ExactVersion_BufferContent_Success(string uri) }; using HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseContentRead).WaitAsync(TimeSpan.FromSeconds(20)); - Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Equal(3, response.Version.Major); var content = await response.Content.ReadAsStringAsync(); From 03c5271bcd7dfab3935d652e34f339beb436c078 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 12:48:09 +0200 Subject: [PATCH 30/66] [release/8.0-staging] Update dependencies from dotnet/arcade (#118540) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependencies from https://github.com/dotnet/arcade build 20250807.1 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.25310.3 -> To Version 8.0.0-beta.25407.1 * Bump MicrosoftDotnetSdkInternalVersion * Update dependencies from https://github.com/dotnet/arcade build 20250911.1 On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.25310.3 -> To Version 8.0.0-beta.25461.1 Microsoft.DotNet.XUnitConsoleRunner From Version 2.5.1-beta.25310.3 -> To Version 2.5.1-beta.25461.1 * Bump MicrosoftDotnetSdkInternalVersion --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Alexander Köplinger --- eng/Version.Details.xml | 72 +++++++++---------- eng/Versions.props | 32 ++++----- eng/common/SetupNugetSources.ps1 | 4 +- eng/common/SetupNugetSources.sh | 4 +- eng/common/templates-official/job/job.yml | 18 +++-- .../templates-official/job/onelocbuild.yml | 6 +- .../job/publish-build-assets.yml | 13 ++-- .../templates-official/job/source-build.yml | 4 ++ .../job/source-index-stage1.yml | 2 +- .../templates-official/jobs/codeql-build.yml | 2 +- eng/common/templates-official/jobs/jobs.yml | 2 + .../templates-official/jobs/source-build.yml | 5 ++ .../post-build/post-build.yml | 8 +-- .../post-build/trigger-subscription.yml | 2 +- .../steps/add-build-to-channel.yml | 2 +- .../templates-official/steps/execute-sdl.yml | 14 ++-- .../steps/generate-sbom.yml | 2 +- .../templates-official/steps/publish-logs.yml | 6 +- .../templates-official/steps/source-build.yml | 14 ++-- .../variables/sdl-variables.yml | 2 +- eng/common/templates/job/job.yml | 16 +++-- eng/common/templates/job/onelocbuild.yml | 6 +- .../templates/job/publish-build-assets.yml | 13 ++-- eng/common/templates/job/source-build.yml | 4 ++ .../templates/job/source-index-stage1.yml | 2 +- eng/common/templates/jobs/codeql-build.yml | 2 +- eng/common/templates/jobs/jobs.yml | 2 + eng/common/templates/jobs/source-build.yml | 5 ++ .../templates/post-build/post-build.yml | 8 +-- .../post-build/setup-maestro-vars.yml | 2 +- .../post-build/trigger-subscription.yml | 2 +- .../templates/steps/add-build-to-channel.yml | 2 +- eng/common/templates/steps/execute-sdl.yml | 14 ++-- eng/common/templates/steps/generate-sbom.yml | 2 +- eng/common/templates/steps/publish-logs.yml | 6 +- eng/common/templates/steps/source-build.yml | 14 ++-- .../templates/variables/sdl-variables.yml | 2 +- eng/common/tools.ps1 | 2 +- global.json | 10 +-- 39 files changed, 191 insertions(+), 137 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1609b309fa2df5..a7c6ccef802cc1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 https://github.com/dotnet/runtime-assets @@ -334,9 +334,9 @@ https://github.com/dotnet/xharness fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/arcade - 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1 + 958612453c58fd32328461580b19ce5ecf4aedd2 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 2441d21f812788..98274f22f8d960 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 8.0.100 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 2.5.1-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 - 8.0.0-beta.25310.3 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 2.5.1-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 + 8.0.0-beta.25461.1 6.0.0-preview.1.102 @@ -269,7 +269,7 @@ 3.1.7 1.0.406601 - 8.0.117 + 8.0.120 $(MicrosoftDotnetSdkInternalVersion) diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1 index efa2fd72bfaa22..59b2d55e1a330e 100644 --- a/eng/common/SetupNugetSources.ps1 +++ b/eng/common/SetupNugetSources.ps1 @@ -17,8 +17,8 @@ # displayName: Setup Private Feeds Credentials # condition: eq(variables['Agent.OS'], 'Windows_NT') # inputs: -# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 -# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token +# filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1 +# arguments: -ConfigFile $(System.DefaultWorkingDirectory)/NuGet.config -Password $Env:Token # env: # Token: $(dn-bot-dnceng-artifact-feeds-rw) diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh index d387c7eac95e54..c0e7bbef21c467 100644 --- a/eng/common/SetupNugetSources.sh +++ b/eng/common/SetupNugetSources.sh @@ -18,8 +18,8 @@ # - task: Bash@3 # displayName: Setup Private Feeds Credentials # inputs: -# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh -# arguments: $(Build.SourcesDirectory)/NuGet.config $Token +# filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh +# arguments: $(System.DefaultWorkingDirectory)/NuGet.config $Token # condition: ne(variables['Agent.OS'], 'Windows_NT') # env: # Token: $(dn-bot-dnceng-artifact-feeds-rw) diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 98ccbd7a9c16ec..4cca1114fccaa2 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -21,6 +21,7 @@ parameters: # See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md artifacts: '' enableMicrobuild: false + microbuildUseESRP: true enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false @@ -37,7 +38,7 @@ parameters: # Sbom related params enableSbom: true PackageVersion: 7.0.0 - BuildDropPath: '$(Build.SourcesDirectory)/artifacts' + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom jobs: @@ -135,6 +136,11 @@ jobs: signType: $(_SignType) zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + ${{ else }}: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca env: TeamName: $(_TeamName) MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)' @@ -161,7 +167,7 @@ jobs: inputs: languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }} environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'production') }} - richNavLogOutputDirectory: $(Build.SourcesDirectory)/artifacts/bin + richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }} continueOnError: true @@ -220,7 +226,7 @@ jobs: - task: 1ES.PublishBuildArtifacts@1 displayName: Publish Logs inputs: - PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)' + PathtoPublish: '$(System.DefaultWorkingDirectory)/artifacts/log/$(_BuildConfig)' PublishLocation: Container ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} continueOnError: true @@ -232,7 +238,7 @@ jobs: inputs: testResultsFormat: 'xUnit' testResultsFiles: '*.xml' - searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' + searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)' testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-xunit mergeTestResults: ${{ parameters.mergeTestResults }} continueOnError: true @@ -243,7 +249,7 @@ jobs: inputs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' - searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' + searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)' testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-trx mergeTestResults: ${{ parameters.mergeTestResults }} continueOnError: true @@ -259,7 +265,7 @@ jobs: - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - task: 1ES.PublishPipelineArtifact@1 inputs: - targetPath: '$(Build.SourcesDirectory)\eng\common\BuildConfiguration' + targetPath: '$(System.DefaultWorkingDirectory)\eng\common\BuildConfiguration' artifactName: 'BuildConfiguration' displayName: 'Publish build retry configuration' continueOnError: true diff --git a/eng/common/templates-official/job/onelocbuild.yml b/eng/common/templates-official/job/onelocbuild.yml index 52b4d05d3f8dd6..68e7a65605c556 100644 --- a/eng/common/templates-official/job/onelocbuild.yml +++ b/eng/common/templates-official/job/onelocbuild.yml @@ -8,7 +8,7 @@ parameters: CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex GithubPat: $(BotAccount-dotnet-bot-repo-PAT) - SourcesDirectory: $(Build.SourcesDirectory) + SourcesDirectory: $(System.DefaultWorkingDirectory) CreatePr: true AutoCompletePr: false ReusePr: true @@ -63,7 +63,7 @@ jobs: - ${{ if ne(parameters.SkipLocProjectJsonGeneration, 'true') }}: - task: Powershell@2 inputs: - filePath: $(Build.SourcesDirectory)/eng/common/generate-locproject.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/generate-locproject.ps1 arguments: $(_GenerateLocProjectArguments) displayName: Generate LocProject.json condition: ${{ parameters.condition }} @@ -106,7 +106,7 @@ jobs: - task: 1ES.PublishBuildArtifacts@1 displayName: Publish LocProject.json inputs: - PathtoPublish: '$(Build.SourcesDirectory)/eng/Localize/' + PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/' PublishLocation: Container ArtifactName: Loc condition: ${{ parameters.condition }} \ No newline at end of file diff --git a/eng/common/templates-official/job/publish-build-assets.yml b/eng/common/templates-official/job/publish-build-assets.yml index b2ccd9df68010e..7a320e9bab20a2 100644 --- a/eng/common/templates-official/job/publish-build-assets.yml +++ b/eng/common/templates-official/job/publish-build-assets.yml @@ -30,6 +30,8 @@ parameters: signingValidationAdditionalParameters: '' + repositoryAlias: self + jobs: - job: Asset_Registry_Publish @@ -65,6 +67,9 @@ jobs: os: windows steps: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - checkout: ${{ parameters.repositoryAlias }} + fetchDepth: 3 + clean: true - task: DownloadBuildArtifacts@0 displayName: Download artifact inputs: @@ -82,7 +87,7 @@ jobs: azureSubscription: "Darc: Maestro Production" scriptType: ps scriptLocation: scriptPath - scriptPath: $(Build.SourcesDirectory)/eng/common/sdk-task.ps1 + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1 arguments: > -task PublishBuildAssets -restore -msbuildEngine dotnet /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' @@ -115,7 +120,7 @@ jobs: inputs: targetType: inline script: | - $symbolExclusionfile = "$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt" + $symbolExclusionfile = "$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt" if(Test-Path -Path $symbolExclusionfile) { Write-Host "SymbolExclusionFile exists" @@ -130,7 +135,7 @@ jobs: displayName: Publish SymbolPublishingExclusionsFile Artifact condition: eq(variables['SymbolExclusionFile'], 'true') inputs: - PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt' + PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt' PublishLocation: Container ArtifactName: ReleaseConfigs @@ -146,7 +151,7 @@ jobs: azureSubscription: "Darc: Maestro Production" scriptType: ps scriptLocation: scriptPath - scriptPath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 arguments: -BuildId $(BARBuildId) -PublishingInfraVersion 3 -AzdoToken '$(System.AccessToken)' diff --git a/eng/common/templates-official/job/source-build.yml b/eng/common/templates-official/job/source-build.yml index 4217d6d8b1481e..7b9c58a90c5ef7 100644 --- a/eng/common/templates-official/job/source-build.yml +++ b/eng/common/templates-official/job/source-build.yml @@ -31,6 +31,9 @@ parameters: # container and pool. platform: {} + # Optional list of directories to ignore for component governance scans. + cgIgnoreDirectories: [] + # If set to true and running on a non-public project, # Internal blob storage locations will be enabled. # This is not enabled by default because many repositories do not need internal sources @@ -73,3 +76,4 @@ jobs: - template: /eng/common/templates-official/steps/source-build.yml parameters: platform: ${{ parameters.platform }} + cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }} diff --git a/eng/common/templates-official/job/source-index-stage1.yml b/eng/common/templates-official/job/source-index-stage1.yml index fb632b71a250b8..0579e692fc8131 100644 --- a/eng/common/templates-official/job/source-index-stage1.yml +++ b/eng/common/templates-official/job/source-index-stage1.yml @@ -59,7 +59,7 @@ jobs: - script: ${{ parameters.sourceIndexBuildCommand }} displayName: Build Repository - - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(Build.SourcesDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output + - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output displayName: Process Binlog into indexable sln - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: diff --git a/eng/common/templates-official/jobs/codeql-build.yml b/eng/common/templates-official/jobs/codeql-build.yml index b68d3c2f31990f..f6476912a861f9 100644 --- a/eng/common/templates-official/jobs/codeql-build.yml +++ b/eng/common/templates-official/jobs/codeql-build.yml @@ -23,7 +23,7 @@ jobs: - name: DefaultGuardianVersion value: 0.109.0 - name: GuardianPackagesConfigFile - value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config + value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config - name: GuardianVersion value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }} diff --git a/eng/common/templates-official/jobs/jobs.yml b/eng/common/templates-official/jobs/jobs.yml index 857a0f8ba43e84..803a95aacf4e01 100644 --- a/eng/common/templates-official/jobs/jobs.yml +++ b/eng/common/templates-official/jobs/jobs.yml @@ -40,6 +40,7 @@ parameters: enableSourceIndex: false sourceIndexParams: {} + repositoryAlias: self # Internal resources (telemetry, microbuild) can only be accessed from non-public projects, # and some (Microbuild) should only be applied to non-PR cases for internal builds. @@ -95,3 +96,4 @@ jobs: enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} + repositoryAlias: ${{ parameters.repositoryAlias }} diff --git a/eng/common/templates-official/jobs/source-build.yml b/eng/common/templates-official/jobs/source-build.yml index b9247be1547b73..21a346fbd6c70e 100644 --- a/eng/common/templates-official/jobs/source-build.yml +++ b/eng/common/templates-official/jobs/source-build.yml @@ -21,6 +21,9 @@ parameters: # one job runs on 'defaultManagedPlatform'. platforms: [] + # Optional list of directories to ignore for component governance scans. + cgIgnoreDirectories: [] + # If set to true and running on a non-public project, # Internal nuget and blob storage locations will be enabled. # This is not enabled by default because many repositories do not need internal sources @@ -44,6 +47,7 @@ jobs: parameters: jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ platform }} + cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} - ${{ if eq(length(parameters.platforms), 0) }}: @@ -51,4 +55,5 @@ jobs: parameters: jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ parameters.defaultManagedPlatform }} + cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} diff --git a/eng/common/templates-official/post-build/post-build.yml b/eng/common/templates-official/post-build/post-build.yml index b81b8770b34687..9fef8103991ccf 100644 --- a/eng/common/templates-official/post-build/post-build.yml +++ b/eng/common/templates-official/post-build/post-build.yml @@ -133,7 +133,7 @@ stages: - task: PowerShell@2 displayName: Validate inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ @@ -186,7 +186,7 @@ stages: filePath: eng\common\sdk-task.ps1 arguments: -task SigningValidation -restore -msbuildEngine vs /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts' - /p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt' + /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt' ${{ parameters.signingValidationAdditionalParameters }} - template: ../steps/publish-logs.yml @@ -230,7 +230,7 @@ stages: - task: PowerShell@2 displayName: Validate inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1 arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/ -ExtractPath $(Agent.BuildDirectory)/Extract/ -GHRepoName $(Build.Repository.Name) @@ -278,7 +278,7 @@ stages: azureSubscription: "Darc: Maestro Production" scriptType: ps scriptLocation: scriptPath - scriptPath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 arguments: -BuildId $(BARBuildId) -PublishingInfraVersion ${{ parameters.publishingInfraVersion }} -AzdoToken '$(System.AccessToken)' diff --git a/eng/common/templates-official/post-build/trigger-subscription.yml b/eng/common/templates-official/post-build/trigger-subscription.yml index da669030daf6e9..52df7077482856 100644 --- a/eng/common/templates-official/post-build/trigger-subscription.yml +++ b/eng/common/templates-official/post-build/trigger-subscription.yml @@ -5,7 +5,7 @@ steps: - task: PowerShell@2 displayName: Triggering subscriptions inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/trigger-subscriptions.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/trigger-subscriptions.ps1 arguments: -SourceRepo $(Build.Repository.Uri) -ChannelId ${{ parameters.ChannelId }} -MaestroApiAccessToken $(MaestroAccessToken) diff --git a/eng/common/templates-official/steps/add-build-to-channel.yml b/eng/common/templates-official/steps/add-build-to-channel.yml index f67a210d62f3e5..5b6fec257ea7fd 100644 --- a/eng/common/templates-official/steps/add-build-to-channel.yml +++ b/eng/common/templates-official/steps/add-build-to-channel.yml @@ -5,7 +5,7 @@ steps: - task: PowerShell@2 displayName: Add Build to Channel inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/add-build-to-channel.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/add-build-to-channel.ps1 arguments: -BuildId $(BARBuildId) -ChannelId ${{ parameters.ChannelId }} -MaestroApiAccessToken $(MaestroApiAccessToken) diff --git a/eng/common/templates-official/steps/execute-sdl.yml b/eng/common/templates-official/steps/execute-sdl.yml index 301d5c591ebd13..d9dcd1e1cdeb9f 100644 --- a/eng/common/templates-official/steps/execute-sdl.yml +++ b/eng/common/templates-official/steps/execute-sdl.yml @@ -15,17 +15,17 @@ steps: - ${{ if ne(parameters.overrideGuardianVersion, '') }}: - pwsh: | - Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl + Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl . .\sdl.ps1 - $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }} + $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }} Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation" displayName: Install Guardian (Overridden) - ${{ if eq(parameters.overrideGuardianVersion, '') }}: - pwsh: | - Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl + Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl . .\sdl.ps1 - $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts + $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation" displayName: Install Guardian @@ -38,7 +38,7 @@ steps: - ${{ if eq(parameters.overrideParameters, '') }}: - powershell: ${{ parameters.executeAllSdlToolsScript }} -GuardianCliLocation $(GuardianCliLocation) - -NugetPackageDirectory $(Build.SourcesDirectory)\.packages + -NugetPackageDirectory $(System.DefaultWorkingDirectory)\.packages -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw) ${{ parameters.additionalParameters }} displayName: Execute SDL @@ -73,7 +73,7 @@ steps: flattenFolders: true sourceFolder: $(Agent.BuildDirectory)/.gdn/rc/ contents: '**/*.sarif' - targetFolder: $(Build.SourcesDirectory)/CodeAnalysisLogs + targetFolder: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs condition: succeededOrFailed() # Use PublishBuildArtifacts because the SARIF extension only checks this case @@ -81,6 +81,6 @@ steps: - task: PublishBuildArtifacts@1 displayName: Publish SARIF files to CodeAnalysisLogs container inputs: - pathToPublish: $(Build.SourcesDirectory)/CodeAnalysisLogs + pathToPublish: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs artifactName: CodeAnalysisLogs condition: succeededOrFailed() \ No newline at end of file diff --git a/eng/common/templates-official/steps/generate-sbom.yml b/eng/common/templates-official/steps/generate-sbom.yml index daf0957b68d762..1536353566c770 100644 --- a/eng/common/templates-official/steps/generate-sbom.yml +++ b/eng/common/templates-official/steps/generate-sbom.yml @@ -6,7 +6,7 @@ parameters: PackageVersion: 8.0.0 - BuildDropPath: '$(Build.SourcesDirectory)/artifacts' + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' PackageName: '.NET' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom IgnoreDirectories: '' diff --git a/eng/common/templates-official/steps/publish-logs.yml b/eng/common/templates-official/steps/publish-logs.yml index 04012fed182a1f..af5a40b64c4bab 100644 --- a/eng/common/templates-official/steps/publish-logs.yml +++ b/eng/common/templates-official/steps/publish-logs.yml @@ -8,15 +8,15 @@ steps: inputs: targetType: inline script: | - New-Item -ItemType Directory $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ - Move-Item -Path $(Build.SourcesDirectory)/artifacts/log/Debug/* $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ + New-Item -ItemType Directory $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ + Move-Item -Path $(System.DefaultWorkingDirectory)/artifacts/log/Debug/* $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ continueOnError: true condition: always() - task: 1ES.PublishBuildArtifacts@1 displayName: Publish Logs inputs: - PathtoPublish: '$(Build.SourcesDirectory)/PostBuildLogs' + PathtoPublish: '$(System.DefaultWorkingDirectory)/PostBuildLogs' PublishLocation: Container ArtifactName: PostBuildLogs continueOnError: true diff --git a/eng/common/templates-official/steps/source-build.yml b/eng/common/templates-official/steps/source-build.yml index 829f17c34d118c..b63043da4b9f3f 100644 --- a/eng/common/templates-official/steps/source-build.yml +++ b/eng/common/templates-official/steps/source-build.yml @@ -12,6 +12,9 @@ parameters: # the usage of the properties on this object is split between the 'job' and 'steps' templates. platform: {} + # Optional list of directories to ignore for component governance scans. + cgIgnoreDirectories: [] + steps: # Build. Keep it self-contained for simple reusability. (No source-build-specific job variables.) - script: | @@ -26,8 +29,8 @@ steps: internalRestoreArgs= if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then # Temporarily work around https://github.com/dotnet/arcade/issues/7709 - chmod +x $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh - $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh $(Build.SourcesDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw) + chmod +x $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh + $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh $(System.DefaultWorkingDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw) internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true' # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo. @@ -101,7 +104,7 @@ steps: - task: CopyFiles@2 displayName: Prepare BuildLogs staging directory inputs: - SourceFolder: '$(Build.SourcesDirectory)' + SourceFolder: '$(System.DefaultWorkingDirectory)' Contents: | **/*.log **/*.binlog @@ -126,4 +129,7 @@ steps: - task: ComponentGovernanceComponentDetection@0 displayName: Component Detection (Exclude upstream cache) inputs: - ignoreDirectories: '$(Build.SourcesDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache' + ${{ if eq(length(parameters.cgIgnoreDirectories), 0) }}: + ignoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache' + ${{ else }}: + ignoreDirectories: ${{ join(',', parameters.cgIgnoreDirectories) }} diff --git a/eng/common/templates-official/variables/sdl-variables.yml b/eng/common/templates-official/variables/sdl-variables.yml index dbdd66d4a4b3a0..f1311bbb1b33d9 100644 --- a/eng/common/templates-official/variables/sdl-variables.yml +++ b/eng/common/templates-official/variables/sdl-variables.yml @@ -4,4 +4,4 @@ variables: - name: DefaultGuardianVersion value: 0.109.0 - name: GuardianPackagesConfigFile - value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config \ No newline at end of file + value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config \ No newline at end of file diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index e295031c0985e9..80454d5a5587e8 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -37,7 +37,7 @@ parameters: # Sbom related params enableSbom: true PackageVersion: 7.0.0 - BuildDropPath: '$(Build.SourcesDirectory)/artifacts' + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' jobs: - job: ${{ parameters.name }} @@ -134,6 +134,10 @@ jobs: signType: $(_SignType) zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + ${{ else }}: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca env: TeamName: $(_TeamName) continueOnError: ${{ parameters.continueOnError }} @@ -159,7 +163,7 @@ jobs: inputs: languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }} environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'production') }} - richNavLogOutputDirectory: $(Build.SourcesDirectory)/artifacts/bin + richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }} continueOnError: true @@ -216,7 +220,7 @@ jobs: - task: PublishBuildArtifacts@1 displayName: Publish Logs inputs: - PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)' + PathtoPublish: '$(System.DefaultWorkingDirectory)/artifacts/log/$(_BuildConfig)' PublishLocation: Container ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} continueOnError: true @@ -228,7 +232,7 @@ jobs: inputs: testResultsFormat: 'xUnit' testResultsFiles: '*.xml' - searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' + searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)' testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-xunit mergeTestResults: ${{ parameters.mergeTestResults }} continueOnError: true @@ -239,7 +243,7 @@ jobs: inputs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' - searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)' + searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)' testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-trx mergeTestResults: ${{ parameters.mergeTestResults }} continueOnError: true @@ -253,7 +257,7 @@ jobs: IgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - - publish: $(Build.SourcesDirectory)\eng\common\BuildConfiguration + - publish: $(System.DefaultWorkingDirectory)\eng\common\BuildConfiguration artifact: BuildConfiguration displayName: Publish build retry configuration continueOnError: true diff --git a/eng/common/templates/job/onelocbuild.yml b/eng/common/templates/job/onelocbuild.yml index 60ab00c4de3acd..2cd3840c992720 100644 --- a/eng/common/templates/job/onelocbuild.yml +++ b/eng/common/templates/job/onelocbuild.yml @@ -8,7 +8,7 @@ parameters: CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex GithubPat: $(BotAccount-dotnet-bot-repo-PAT) - SourcesDirectory: $(Build.SourcesDirectory) + SourcesDirectory: $(System.DefaultWorkingDirectory) CreatePr: true AutoCompletePr: false ReusePr: true @@ -60,7 +60,7 @@ jobs: - ${{ if ne(parameters.SkipLocProjectJsonGeneration, 'true') }}: - task: Powershell@2 inputs: - filePath: $(Build.SourcesDirectory)/eng/common/generate-locproject.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/generate-locproject.ps1 arguments: $(_GenerateLocProjectArguments) displayName: Generate LocProject.json condition: ${{ parameters.condition }} @@ -103,7 +103,7 @@ jobs: - task: PublishBuildArtifacts@1 displayName: Publish LocProject.json inputs: - PathtoPublish: '$(Build.SourcesDirectory)/eng/Localize/' + PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/' PublishLocation: Container ArtifactName: Loc condition: ${{ parameters.condition }} \ No newline at end of file diff --git a/eng/common/templates/job/publish-build-assets.yml b/eng/common/templates/job/publish-build-assets.yml index cc2b346ba8baf0..2956d8117f73c0 100644 --- a/eng/common/templates/job/publish-build-assets.yml +++ b/eng/common/templates/job/publish-build-assets.yml @@ -30,6 +30,8 @@ parameters: signingValidationAdditionalParameters: '' + repositoryAlias: self + jobs: - job: Asset_Registry_Publish @@ -63,6 +65,9 @@ jobs: steps: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - checkout: ${{ parameters.repositoryAlias }} + fetchDepth: 3 + clean: true - task: DownloadBuildArtifacts@0 displayName: Download artifact inputs: @@ -80,7 +85,7 @@ jobs: azureSubscription: "Darc: Maestro Production" scriptType: ps scriptLocation: scriptPath - scriptPath: $(Build.SourcesDirectory)/eng/common/sdk-task.ps1 + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1 arguments: > -task PublishBuildAssets -restore -msbuildEngine dotnet /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' @@ -111,7 +116,7 @@ jobs: inputs: targetType: inline script: | - $symbolExclusionfile = "$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt" + $symbolExclusionfile = "$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt" if(Test-Path -Path $symbolExclusionfile) { Write-Host "SymbolExclusionFile exists" @@ -126,7 +131,7 @@ jobs: displayName: Publish SymbolPublishingExclusionsFile Artifact condition: eq(variables['SymbolExclusionFile'], 'true') inputs: - PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt' + PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt' PublishLocation: Container ArtifactName: ReleaseConfigs @@ -142,7 +147,7 @@ jobs: azureSubscription: "Darc: Maestro Production" scriptType: ps scriptLocation: scriptPath - scriptPath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 arguments: -BuildId $(BARBuildId) -PublishingInfraVersion 3 -AzdoToken '$(System.AccessToken)' diff --git a/eng/common/templates/job/source-build.yml b/eng/common/templates/job/source-build.yml index c48f95d93d916e..97021335cfc40b 100644 --- a/eng/common/templates/job/source-build.yml +++ b/eng/common/templates/job/source-build.yml @@ -31,6 +31,9 @@ parameters: # container and pool. platform: {} + # Optional list of directories to ignore for component governance scans. + cgIgnoreDirectories: [] + # If set to true and running on a non-public project, # Internal blob storage locations will be enabled. # This is not enabled by default because many repositories do not need internal sources @@ -72,3 +75,4 @@ jobs: - template: /eng/common/templates/steps/source-build.yml parameters: platform: ${{ parameters.platform }} + cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }} diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml index 8538f44bab28b7..81606fd9a541e6 100644 --- a/eng/common/templates/job/source-index-stage1.yml +++ b/eng/common/templates/job/source-index-stage1.yml @@ -58,7 +58,7 @@ jobs: - script: ${{ parameters.sourceIndexBuildCommand }} displayName: Build Repository - - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(Build.SourcesDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output + - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output displayName: Process Binlog into indexable sln - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: diff --git a/eng/common/templates/jobs/codeql-build.yml b/eng/common/templates/jobs/codeql-build.yml index f7dc5ea4aaa63c..e8b43e3b4cba16 100644 --- a/eng/common/templates/jobs/codeql-build.yml +++ b/eng/common/templates/jobs/codeql-build.yml @@ -23,7 +23,7 @@ jobs: - name: DefaultGuardianVersion value: 0.109.0 - name: GuardianPackagesConfigFile - value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config + value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config - name: GuardianVersion value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }} diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml index 289bb2396ce83e..34387a8c7acddc 100644 --- a/eng/common/templates/jobs/jobs.yml +++ b/eng/common/templates/jobs/jobs.yml @@ -40,6 +40,7 @@ parameters: enableSourceIndex: false sourceIndexParams: {} + repositoryAlias: self # Internal resources (telemetry, microbuild) can only be accessed from non-public projects, # and some (Microbuild) should only be applied to non-PR cases for internal builds. @@ -95,3 +96,4 @@ jobs: enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} + repositoryAlias: ${{ parameters.repositoryAlias }} diff --git a/eng/common/templates/jobs/source-build.yml b/eng/common/templates/jobs/source-build.yml index 3ec997108107bc..4dde599add977d 100644 --- a/eng/common/templates/jobs/source-build.yml +++ b/eng/common/templates/jobs/source-build.yml @@ -21,6 +21,9 @@ parameters: # one job runs on 'defaultManagedPlatform'. platforms: [] + # Optional list of directories to ignore for component governance scans. + cgIgnoreDirectories: [] + # If set to true and running on a non-public project, # Internal nuget and blob storage locations will be enabled. # This is not enabled by default because many repositories do not need internal sources @@ -44,6 +47,7 @@ jobs: parameters: jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ platform }} + cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} - ${{ if eq(length(parameters.platforms), 0) }}: @@ -51,4 +55,5 @@ jobs: parameters: jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ parameters.defaultManagedPlatform }} + cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml index c3b6a3012fee18..6e5722dc2e1795 100644 --- a/eng/common/templates/post-build/post-build.yml +++ b/eng/common/templates/post-build/post-build.yml @@ -130,7 +130,7 @@ stages: - task: PowerShell@2 displayName: Validate inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ @@ -180,7 +180,7 @@ stages: filePath: eng\common\sdk-task.ps1 arguments: -task SigningValidation -restore -msbuildEngine vs /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts' - /p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt' + /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt' ${{ parameters.signingValidationAdditionalParameters }} - template: ../steps/publish-logs.yml @@ -220,7 +220,7 @@ stages: - task: PowerShell@2 displayName: Validate inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1 arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/ -ExtractPath $(Agent.BuildDirectory)/Extract/ -GHRepoName $(Build.Repository.Name) @@ -274,7 +274,7 @@ stages: azureSubscription: "Darc: Maestro Production" scriptType: ps scriptLocation: scriptPath - scriptPath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 arguments: -BuildId $(BARBuildId) -PublishingInfraVersion ${{ parameters.publishingInfraVersion }} -AzdoToken '$(System.AccessToken)' diff --git a/eng/common/templates/post-build/setup-maestro-vars.yml b/eng/common/templates/post-build/setup-maestro-vars.yml index 64b9abc6850474..4347fa80b68455 100644 --- a/eng/common/templates/post-build/setup-maestro-vars.yml +++ b/eng/common/templates/post-build/setup-maestro-vars.yml @@ -32,7 +32,7 @@ steps: $AzureDevOpsBuildId = $Env:Build_BuildId } else { - . $(Build.SourcesDirectory)\eng\common\tools.ps1 + . $(System.DefaultWorkingDirectory)\eng\common\tools.ps1 $darc = Get-Darc $buildInfo = & $darc get-build ` --id ${{ parameters.BARBuildId }} ` diff --git a/eng/common/templates/post-build/trigger-subscription.yml b/eng/common/templates/post-build/trigger-subscription.yml index da669030daf6e9..52df7077482856 100644 --- a/eng/common/templates/post-build/trigger-subscription.yml +++ b/eng/common/templates/post-build/trigger-subscription.yml @@ -5,7 +5,7 @@ steps: - task: PowerShell@2 displayName: Triggering subscriptions inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/trigger-subscriptions.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/trigger-subscriptions.ps1 arguments: -SourceRepo $(Build.Repository.Uri) -ChannelId ${{ parameters.ChannelId }} -MaestroApiAccessToken $(MaestroAccessToken) diff --git a/eng/common/templates/steps/add-build-to-channel.yml b/eng/common/templates/steps/add-build-to-channel.yml index f67a210d62f3e5..5b6fec257ea7fd 100644 --- a/eng/common/templates/steps/add-build-to-channel.yml +++ b/eng/common/templates/steps/add-build-to-channel.yml @@ -5,7 +5,7 @@ steps: - task: PowerShell@2 displayName: Add Build to Channel inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/add-build-to-channel.ps1 + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/add-build-to-channel.ps1 arguments: -BuildId $(BARBuildId) -ChannelId ${{ parameters.ChannelId }} -MaestroApiAccessToken $(MaestroApiAccessToken) diff --git a/eng/common/templates/steps/execute-sdl.yml b/eng/common/templates/steps/execute-sdl.yml index fe0ebf8c904eb7..047e8281ebc05d 100644 --- a/eng/common/templates/steps/execute-sdl.yml +++ b/eng/common/templates/steps/execute-sdl.yml @@ -15,17 +15,17 @@ steps: - ${{ if ne(parameters.overrideGuardianVersion, '') }}: - pwsh: | - Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl + Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl . .\sdl.ps1 - $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }} + $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }} Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation" displayName: Install Guardian (Overridden) - ${{ if eq(parameters.overrideGuardianVersion, '') }}: - pwsh: | - Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl + Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl . .\sdl.ps1 - $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts + $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation" displayName: Install Guardian @@ -40,7 +40,7 @@ steps: - ${{ if eq(parameters.overrideParameters, '') }}: - powershell: ${{ parameters.executeAllSdlToolsScript }} -GuardianCliLocation $(GuardianCliLocation) - -NugetPackageDirectory $(Build.SourcesDirectory)\.packages + -NugetPackageDirectory $(System.DefaultWorkingDirectory)\.packages ${{ parameters.additionalParameters }} displayName: Execute SDL continueOnError: ${{ parameters.sdlContinueOnError }} @@ -76,7 +76,7 @@ steps: flattenFolders: true sourceFolder: $(Agent.BuildDirectory)/.gdn/rc/ contents: '**/*.sarif' - targetFolder: $(Build.SourcesDirectory)/CodeAnalysisLogs + targetFolder: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs condition: succeededOrFailed() # Use PublishBuildArtifacts because the SARIF extension only checks this case @@ -84,6 +84,6 @@ steps: - task: PublishBuildArtifacts@1 displayName: Publish SARIF files to CodeAnalysisLogs container inputs: - pathToPublish: $(Build.SourcesDirectory)/CodeAnalysisLogs + pathToPublish: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs artifactName: CodeAnalysisLogs condition: succeededOrFailed() \ No newline at end of file diff --git a/eng/common/templates/steps/generate-sbom.yml b/eng/common/templates/steps/generate-sbom.yml index 2b21eae4273288..b1fe8b3944b348 100644 --- a/eng/common/templates/steps/generate-sbom.yml +++ b/eng/common/templates/steps/generate-sbom.yml @@ -6,7 +6,7 @@ parameters: PackageVersion: 8.0.0 - BuildDropPath: '$(Build.SourcesDirectory)/artifacts' + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' PackageName: '.NET' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom IgnoreDirectories: '' diff --git a/eng/common/templates/steps/publish-logs.yml b/eng/common/templates/steps/publish-logs.yml index 88f238f36bfd8d..e2f8413d8e19c6 100644 --- a/eng/common/templates/steps/publish-logs.yml +++ b/eng/common/templates/steps/publish-logs.yml @@ -8,15 +8,15 @@ steps: inputs: targetType: inline script: | - New-Item -ItemType Directory $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ - Move-Item -Path $(Build.SourcesDirectory)/artifacts/log/Debug/* $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ + New-Item -ItemType Directory $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ + Move-Item -Path $(System.DefaultWorkingDirectory)/artifacts/log/Debug/* $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/ continueOnError: true condition: always() - task: PublishBuildArtifacts@1 displayName: Publish Logs inputs: - PathtoPublish: '$(Build.SourcesDirectory)/PostBuildLogs' + PathtoPublish: '$(System.DefaultWorkingDirectory)/PostBuildLogs' PublishLocation: Container ArtifactName: PostBuildLogs continueOnError: true diff --git a/eng/common/templates/steps/source-build.yml b/eng/common/templates/steps/source-build.yml index 41bbb915736a6e..ae06b26ea37340 100644 --- a/eng/common/templates/steps/source-build.yml +++ b/eng/common/templates/steps/source-build.yml @@ -12,6 +12,9 @@ parameters: # the usage of the properties on this object is split between the 'job' and 'steps' templates. platform: {} + # Optional list of directories to ignore for component governance scans. + cgIgnoreDirectories: [] + steps: # Build. Keep it self-contained for simple reusability. (No source-build-specific job variables.) - script: | @@ -26,8 +29,8 @@ steps: internalRestoreArgs= if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then # Temporarily work around https://github.com/dotnet/arcade/issues/7709 - chmod +x $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh - $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh $(Build.SourcesDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw) + chmod +x $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh + $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh $(System.DefaultWorkingDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw) internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true' # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo. @@ -101,7 +104,7 @@ steps: - task: CopyFiles@2 displayName: Prepare BuildLogs staging directory inputs: - SourceFolder: '$(Build.SourcesDirectory)' + SourceFolder: '$(System.DefaultWorkingDirectory)' Contents: | **/*.log **/*.binlog @@ -126,4 +129,7 @@ steps: - task: ComponentGovernanceComponentDetection@0 displayName: Component Detection (Exclude upstream cache) inputs: - ignoreDirectories: '$(Build.SourcesDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache' + ${{ if eq(length(parameters.cgIgnoreDirectories), 0) }}: + ignoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache' + ${{ else }}: + ignoreDirectories: ${{ join(',', parameters.cgIgnoreDirectories) }} diff --git a/eng/common/templates/variables/sdl-variables.yml b/eng/common/templates/variables/sdl-variables.yml index dbdd66d4a4b3a0..f1311bbb1b33d9 100644 --- a/eng/common/templates/variables/sdl-variables.yml +++ b/eng/common/templates/variables/sdl-variables.yml @@ -4,4 +4,4 @@ variables: - name: DefaultGuardianVersion value: 0.109.0 - name: GuardianPackagesConfigFile - value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config \ No newline at end of file + value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config \ No newline at end of file diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 82b2798ba307d5..bb048ad125a8cf 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -417,7 +417,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # Locate Visual Studio installation or download x-copy msbuild. $vsInfo = LocateVisualStudio $vsRequirements - if ($vsInfo -ne $null) { + if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) { # Ensure vsInstallDir has a trailing slash $vsInstallDir = Join-Path $vsInfo.installationPath "\" $vsMajorVersion = $vsInfo.installationVersion.Split('.')[0] diff --git a/global.json b/global.json index fef3993456c853..a5c4619b098036 100644 --- a/global.json +++ b/global.json @@ -1,16 +1,16 @@ { "sdk": { - "version": "8.0.117", + "version": "8.0.120", "allowPrerelease": true, "rollForward": "major" }, "tools": { - "dotnet": "8.0.117" + "dotnet": "8.0.120" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25310.3", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25310.3", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25310.3", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25461.1", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25461.1", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25461.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" From 50eb2465f79222bf5229c9ce2c60c01e01c8b051 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 08:46:05 -0700 Subject: [PATCH 31/66] Update dependencies from https://github.com/dotnet/icu build 20250912.1 (#119676) On relative base path root Microsoft.NETCore.Runtime.ICU.Transport From Version 8.0.0-rtm.25408.1 -> To Version 8.0.0-rtm.25462.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a7c6ccef802cc1..fb0e05cc315c98 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,8 +1,8 @@ - + https://github.com/dotnet/icu - 9392a78454c1978e7b19c50d85e85c57550399e1 + 5ec8e0c36b1fb327e93f6ad5c26306c4c1423421 https://github.com/dotnet/msquic diff --git a/eng/Versions.props b/eng/Versions.props index 98274f22f8d960..aa1ed6123589ed 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -229,7 +229,7 @@ 8.0.0-rc.1.23406.6 - 8.0.0-rtm.25408.1 + 8.0.0-rtm.25462.1 2.4.8 8.0.0-alpha.1.23527.1 From ac0aae4221726a72af00bd5e0039a992032d0730 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 08:48:44 -0700 Subject: [PATCH 32/66] Update dependencies from https://github.com/dotnet/cecil build 20250912.1 (#119675) On relative base path root Microsoft.DotNet.Cecil From Version 0.11.4-alpha.25457.1 -> To Version 0.11.4-alpha.25462.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ddad4dcfa1e707..40a419a512a69c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - e84d2f3e542c3bc970a5b2053aebffea995561d9 + 73a1d3d630d4ae0359ab56a4b79f6311585b829d diff --git a/eng/Versions.props b/eng/Versions.props index edf5a810cc15a2..f83247206e9e36 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.25457.1 + 0.11.4-alpha.25462.1 8.0.0-rc.1.23406.6 From 1e20b7b5df6c4405ccf99a891376999135380b5c Mon Sep 17 00:00:00 2001 From: Kevin Jones Date: Mon, 15 Sep 2025 18:54:01 -0400 Subject: [PATCH 33/66] Backport macOS 26 Tahoe test fixes to release/8.0-staging Backport dotnet/runtime#118652 Backport dotnet/runtime#118777 --- .../TestUtilities/System/PlatformDetection.Unix.cs | 1 + .../tests/X509Certificates/ChainTests.cs | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs index 18b1e0461cf670..17aa423c3aaebb 100644 --- a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs +++ b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.Unix.cs @@ -43,6 +43,7 @@ public static partial class PlatformDetection public static bool IsNotMacOsAppleSilicon => !IsMacOsAppleSilicon; public static bool IsAppSandbox => Environment.GetEnvironmentVariable("APP_SANDBOX_CONTAINER_ID") != null; public static bool IsNotAppSandbox => !IsAppSandbox; + public static bool IsApplePlatform26OrLater => IsOSXLike && Environment.OSVersion.Version.Major >= 26; // RedHat family covers RedHat and CentOS public static bool IsRedHatFamily => IsRedHatFamilyAndVersion(); diff --git a/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs b/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs index 200f6fdbf30916..e3e39b73f429f6 100644 --- a/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs +++ b/src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs @@ -288,13 +288,13 @@ public static void SystemTrustCertificateWithCustomRootTrust(bool addCertificate // Check some known conditions. - if (PlatformDetection.UsesAppleCrypto) + if (OperatingSystem.IsLinux() || PlatformDetection.IsApplePlatform26OrLater) { - Assert.Equal(3, chain.ChainElements.Count); + Assert.Equal(2, chain.ChainElements.Count); } - else if (OperatingSystem.IsLinux()) + else if (PlatformDetection.IsOSXLike) { - Assert.Equal(2, chain.ChainElements.Count); + Assert.Equal(3, chain.ChainElements.Count); } } } @@ -1179,12 +1179,12 @@ public static void BuildChainForCertificateSignedWithDisallowedKey() chain.ChainPolicy.ExtraStore.Add(intermediateCert); Assert.False(chain.Build(cert)); - if (PlatformDetection.IsAndroid) + if (PlatformDetection.IsAndroid || PlatformDetection.IsApplePlatform26OrLater) { // Android always validates trust as part of building a path, // so violations comes back as PartialChain with no elements + // Apple 26 no longer block these SKIs since the roots are no longer trusted at all and are expired. Assert.Equal(X509ChainStatusFlags.PartialChain, chain.AllStatusFlags()); - Assert.Equal(0, chain.ChainElements.Count); } else { From a4e2c0473013f4b12caeb10465dd4a35d14b3c2e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 23:22:13 +0000 Subject: [PATCH 34/66] Disable test parallelization in OleDB tests (#119627) Attempts to fix #87783 Co-authored-by: Shay Rojansky --- src/libraries/System.Data.OleDb/tests/AssemblyInfo.cs | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/libraries/System.Data.OleDb/tests/AssemblyInfo.cs diff --git a/src/libraries/System.Data.OleDb/tests/AssemblyInfo.cs b/src/libraries/System.Data.OleDb/tests/AssemblyInfo.cs new file mode 100644 index 00000000000000..6349558b2d1c35 --- /dev/null +++ b/src/libraries/System.Data.OleDb/tests/AssemblyInfo.cs @@ -0,0 +1,7 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Xunit; + +// The OleDB tests use the ACE driver, which has issues with concurrency. +[assembly: CollectionBehavior(DisableTestParallelization = true)] From 0f343183826a6f04d089207c3c78aebb1ae971b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Thu, 18 Sep 2025 17:46:49 +0200 Subject: [PATCH 35/66] Remove darc-pub-dotnet-runtime-488a8a3 feed from Wasm tests --- src/mono/wasi/Wasi.Build.Tests/data/nuget8.config | 5 ----- src/mono/wasm/Wasm.Build.Tests/data/nuget8.config | 5 ----- 2 files changed, 10 deletions(-) diff --git a/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config b/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config index 4c33988a4365b8..dfdc8009c6a5d5 100644 --- a/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config +++ b/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config @@ -9,11 +9,6 @@ - - - - - diff --git a/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config b/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config index 4c33988a4365b8..dfdc8009c6a5d5 100644 --- a/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config +++ b/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config @@ -9,11 +9,6 @@ - - - - - From 67103c3665469fe76015cad344f706167074d34f Mon Sep 17 00:00:00 2001 From: "Sean Reeser (CSI Interfusion Inc)" Date: Fri, 19 Sep 2025 00:05:22 +0000 Subject: [PATCH 36/66] Updated prepare-signed-artifacts.yml - use microbuild v4 --- eng/pipelines/official/jobs/prepare-signed-artifacts.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml index 4327746620095b..91be1fa1d3cb7d 100644 --- a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml +++ b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml @@ -36,12 +36,13 @@ jobs: - ${{ if eq(parameters.isOfficialBuild, true) }}: - task: NuGetAuthenticate@1 - - task: MicroBuildSigningPlugin@2 + - task: MicroBuildSigningPlugin@4 displayName: Install MicroBuild plugin for Signing inputs: signType: $(SignType) zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca continueOnError: false condition: and(succeeded(), in(variables['SignType'], 'real', 'test')) From 329d2b244bc3f81cd0d206817cddf8cb77de5a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Fri, 19 Sep 2025 15:39:03 +0200 Subject: [PATCH 37/66] Remove darc-pub-dotnet-runtime-488a8a3 feed from Wasm tests (#119882) --- src/mono/wasi/Wasi.Build.Tests/data/nuget8.config | 5 ----- src/mono/wasm/Wasm.Build.Tests/data/nuget8.config | 5 ----- 2 files changed, 10 deletions(-) diff --git a/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config b/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config index 4c33988a4365b8..dfdc8009c6a5d5 100644 --- a/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config +++ b/src/mono/wasi/Wasi.Build.Tests/data/nuget8.config @@ -9,11 +9,6 @@ - - - - - diff --git a/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config b/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config index 4c33988a4365b8..dfdc8009c6a5d5 100644 --- a/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config +++ b/src/mono/wasm/Wasm.Build.Tests/data/nuget8.config @@ -9,11 +9,6 @@ - - - - - From a3a0f0f6b57001d22276475e7bebd784be6d4cc4 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 19:26:21 -0700 Subject: [PATCH 38/66] Update dependencies from https://github.com/dotnet/icu build 20250916.3 (#119791) On relative base path root Microsoft.NETCore.Runtime.ICU.Transport From Version 8.0.0-rtm.25462.1 -> To Version 8.0.0-rtm.25466.3 Co-authored-by: dotnet-maestro[bot] Co-authored-by: Tanner Gooding --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 41aedf3281b163..d2da1be6c827d6 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,8 +1,8 @@ - + https://github.com/dotnet/icu - 5ec8e0c36b1fb327e93f6ad5c26306c4c1423421 + 447bcbcb6d371d48d3e6e6fb31d2db0818301362 https://github.com/dotnet/msquic diff --git a/eng/Versions.props b/eng/Versions.props index 6bcaa89f459e06..91539b3b8a5c93 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -229,7 +229,7 @@ 8.0.0-rc.1.23406.6 - 8.0.0-rtm.25462.1 + 8.0.0-rtm.25466.3 2.4.8 8.0.0-alpha.1.23527.1 From eae31564614d87e7e3f236d15c99efa7f284623f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 20 Sep 2025 12:05:26 -0700 Subject: [PATCH 39/66] Update dependencies from https://github.com/dotnet/runtime-assets build 20250917.2 (#119829) On relative base path root Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData From Version 8.0.0-beta.25414.3 -> To Version 8.0.0-beta.25467.2 Co-authored-by: dotnet-maestro[bot] Co-authored-by: Tanner Gooding --- eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 28 ++++++++++----------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d2da1be6c827d6..96a07507eff546 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -185,57 +185,57 @@ https://github.com/dotnet/arcade 958612453c58fd32328461580b19ce5ecf4aedd2 - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a https://github.com/dotnet/llvm-project @@ -358,9 +358,9 @@ https://github.com/dotnet/hotreload-utils 4583778b38f71bc05962b9da38dd1e9ee17525e7 - + https://github.com/dotnet/runtime-assets - e8f3528a061b4f6b944f13ad87382d7964b46c7e + f636e4a569ad29a54e9672dffdb77a00c0c4a62a https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index 91539b3b8a5c93..41bb66139afdbf 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -153,20 +153,20 @@ 4.5.0 8.0.0-rc.1.23406.6 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 - 8.0.0-beta.25414.3 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 + 8.0.0-beta.25467.2 1.0.0-prerelease.23566.3 1.0.0-prerelease.23566.3 From 5e5dc1e2111897ff3b70e2bc9d9ce366d010bca0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 20 Sep 2025 12:05:44 -0700 Subject: [PATCH 40/66] Update dependencies from https://github.com/dotnet/cecil build 20250914.1 (#119740) On relative base path root Microsoft.DotNet.Cecil From Version 0.11.4-alpha.25462.1 -> To Version 0.11.4-alpha.25464.1 Co-authored-by: dotnet-maestro[bot] Co-authored-by: Tanner Gooding --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 40a419a512a69c..db3ae65f3be800 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - 73a1d3d630d4ae0359ab56a4b79f6311585b829d + 49ebda4ca79ea41a15013d5dcadd18d3af8d06d6 diff --git a/eng/Versions.props b/eng/Versions.props index f83247206e9e36..4e9ed0c328e021 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.25462.1 + 0.11.4-alpha.25464.1 8.0.0-rc.1.23406.6 From ff9a099e7b1bc2b3b593fd8c9603f838e8f3dec7 Mon Sep 17 00:00:00 2001 From: Ahmet Ibrahim Aksoy Date: Mon, 22 Sep 2025 09:15:40 +0200 Subject: [PATCH 41/66] [release/8.0-staging] Disable Multicast SocketOption Test (#119888) --- .../tests/FunctionalTests/SocketOptionNameTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs index b63d85e34c74fd..27bfefdfab9118 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/SocketOptionNameTest.cs @@ -66,6 +66,7 @@ public void MulticastOption_CreateSocketSetGetOption_GroupAndInterfaceIndex_SetS [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoNorServerCore))] // Skip on Nano: https://github.com/dotnet/runtime/issues/26286 [ActiveIssue("https://github.com/dotnet/runtime/issues/113827", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile))] + [SkipOnPlatform(TestPlatforms.OSX, "Multicast interface selection fails on macOS 14+ due to changes in how the system handles network interface parameters")] public async Task MulticastInterface_Set_AnyInterface_Succeeds() { // On all platforms, index 0 means "any interface" From 8c89eef4507890735dbddefa07756df83badb35b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 08:28:41 -0700 Subject: [PATCH 42/66] [release/8.0] Update dependencies from dotnet/emsdk (#119751) * Update dependencies from https://github.com/dotnet/emsdk build 20250915.1 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25458.3 -> To Version 8.0.21-servicing.25465.1 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.21 * Update dependencies from https://github.com/dotnet/emsdk build 20250916.1 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25458.3 -> To Version 8.0.21-servicing.25466.1 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.21 * Update dependencies from https://github.com/dotnet/emsdk build 20250916.5 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25458.3 -> To Version 8.0.21-servicing.25466.5 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.21 * Update dependencies from https://github.com/dotnet/emsdk build 20250917.3 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25458.3 -> To Version 8.0.21-servicing.25467.3 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.21 * Update dependencies from https://github.com/dotnet/emsdk build 20250919.3 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25458.3 -> To Version 8.0.21-servicing.25469.3 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.21 --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Tanner Gooding --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index 6471ea519c49c5..51374fcc762fc8 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index db3ae65f3be800..3405c8a3287129 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - ea366a7a40bc588c70ef59376040130baf864c85 + 42532a7524749ad5d48d1820eaa7d4ab7e77faa6 - + https://github.com/dotnet/emsdk - ea366a7a40bc588c70ef59376040130baf864c85 + 42532a7524749ad5d48d1820eaa7d4ab7e77faa6 From 8e21a9f73a33e34d6c51b638b8c4beed384bd3b3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 23 Sep 2025 11:13:17 -0700 Subject: [PATCH 43/66] Update dependencies from https://github.com/dotnet/cecil build 20250921.2 (#119980) On relative base path root Microsoft.DotNet.Cecil From Version 0.11.4-alpha.25464.1 -> To Version 0.11.4-alpha.25471.2 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 867b25c80ac2eb..7a79aec52284be 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - 49ebda4ca79ea41a15013d5dcadd18d3af8d06d6 + e7b42fc5084299c4c62717ae169f55aa1f6d8559 diff --git a/eng/Versions.props b/eng/Versions.props index 7316ef51828898..2048aadb25fed1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.25464.1 + 0.11.4-alpha.25471.2 8.0.0-rc.1.23406.6 From 4975f15711e6b9fa10bd29df8547283379559bf4 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 02:28:28 +0000 Subject: [PATCH 44/66] Update dependencies from https://github.com/dotnet/arcade build 20250923.1 (#120026) On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.25461.1 -> To Version 8.0.0-beta.25473.1 Microsoft.DotNet.XUnitConsoleRunner From Version 2.5.1-beta.25461.1 -> To Version 2.5.1-beta.25473.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 72 +++++++++---------- eng/Versions.props | 30 ++++---- .../job/publish-build-assets.yml | 9 ++- eng/common/templates-official/jobs/jobs.yml | 2 + .../templates/job/publish-build-assets.yml | 9 ++- eng/common/templates/jobs/jobs.yml | 2 + global.json | 6 +- 7 files changed, 74 insertions(+), 56 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7a79aec52284be..46ecf35d10ab60 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e https://github.com/dotnet/runtime-assets @@ -334,9 +334,9 @@ https://github.com/dotnet/xharness fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/arcade - 958612453c58fd32328461580b19ce5ecf4aedd2 + ea77ace912db0e1cf28f199cb456b27fe311635e https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 2048aadb25fed1..2e051e9dc7b507 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 8.0.100 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 2.5.1-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 - 8.0.0-beta.25461.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 2.5.1-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 + 8.0.0-beta.25473.1 6.0.0-preview.1.102 diff --git a/eng/common/templates-official/job/publish-build-assets.yml b/eng/common/templates-official/job/publish-build-assets.yml index 7a320e9bab20a2..a99d79df863c35 100644 --- a/eng/common/templates-official/job/publish-build-assets.yml +++ b/eng/common/templates-official/job/publish-build-assets.yml @@ -32,6 +32,8 @@ parameters: repositoryAlias: self + officialBuildId: '' + jobs: - job: Asset_Registry_Publish @@ -52,6 +54,11 @@ jobs: value: false - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: - template: /eng/common/templates-official/post-build/common-variables.yml + - name: OfficialBuildId + ${{ if ne(parameters.officialBuildId, '') }}: + value: ${{ parameters.officialBuildId }} + ${{ else }}: + value: $(Build.BuildNumber) pool: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) @@ -93,7 +100,7 @@ jobs: /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' /p:MaestroApiEndpoint=https://maestro.dot.net /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} - /p:OfficialBuildId=$(Build.BuildNumber) + /p:OfficialBuildId=$(OfficialBuildId) condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} diff --git a/eng/common/templates-official/jobs/jobs.yml b/eng/common/templates-official/jobs/jobs.yml index 803a95aacf4e01..03aa64e1741ff6 100644 --- a/eng/common/templates-official/jobs/jobs.yml +++ b/eng/common/templates-official/jobs/jobs.yml @@ -41,6 +41,7 @@ parameters: enableSourceIndex: false sourceIndexParams: {} repositoryAlias: self + officialBuildId: '' # Internal resources (telemetry, microbuild) can only be accessed from non-public projects, # and some (Microbuild) should only be applied to non-PR cases for internal builds. @@ -97,3 +98,4 @@ jobs: artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} repositoryAlias: ${{ parameters.repositoryAlias }} + officialBuildId: ${{ parameters.officialBuildId }} diff --git a/eng/common/templates/job/publish-build-assets.yml b/eng/common/templates/job/publish-build-assets.yml index 2956d8117f73c0..1fcdcc9adc342e 100644 --- a/eng/common/templates/job/publish-build-assets.yml +++ b/eng/common/templates/job/publish-build-assets.yml @@ -32,6 +32,8 @@ parameters: repositoryAlias: self + officialBuildId: '' + jobs: - job: Asset_Registry_Publish @@ -52,6 +54,11 @@ jobs: value: false - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: - template: /eng/common/templates/post-build/common-variables.yml + - name: OfficialBuildId + ${{ if ne(parameters.officialBuildId, '') }}: + value: ${{ parameters.officialBuildId }} + ${{ else }}: + value: $(Build.BuildNumber) pool: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) @@ -91,7 +98,7 @@ jobs: /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' /p:MaestroApiEndpoint=https://maestro.dot.net /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} - /p:OfficialBuildId=$(Build.BuildNumber) + /p:OfficialBuildId=$(OfficialBuildId) condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml index 34387a8c7acddc..7eafc256758fe3 100644 --- a/eng/common/templates/jobs/jobs.yml +++ b/eng/common/templates/jobs/jobs.yml @@ -41,6 +41,7 @@ parameters: enableSourceIndex: false sourceIndexParams: {} repositoryAlias: self + officialBuildId: '' # Internal resources (telemetry, microbuild) can only be accessed from non-public projects, # and some (Microbuild) should only be applied to non-PR cases for internal builds. @@ -97,3 +98,4 @@ jobs: artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} repositoryAlias: ${{ parameters.repositoryAlias }} + officialBuildId: ${{ parameters.officialBuildId }} diff --git a/global.json b/global.json index a5c4619b098036..84cbccc8f62719 100644 --- a/global.json +++ b/global.json @@ -8,9 +8,9 @@ "dotnet": "8.0.120" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25461.1", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25461.1", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25461.1", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25473.1", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25473.1", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25473.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" From 4b89671b94187034fd3f4a0d1dd0fb72bdb0c3e9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 07:37:16 -0700 Subject: [PATCH 45/66] Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20250912.3 (#120023) On relative base path root Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 8.0.0-alpha.1.25428.6 -> To Version 8.0.0-alpha.1.25462.3 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 96a07507eff546..09d35833bd8850 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -99,9 +99,9 @@ ea366a7a40bc588c70ef59376040130baf864c85 - + https://github.com/dotnet/source-build-reference-packages - 0b4984f8ee945e02a39ef0f72dc9f7ceab65c14f + 55cc6bb942c12203e42ddb58f72cf5dbf1173eac From 2a37818a7684ccf3aef3e823a9ba1ae6dffe839d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 08:00:53 -0700 Subject: [PATCH 46/66] Update dependencies from https://github.com/dotnet/cecil build 20250923.2 (#120032) On relative base path root Microsoft.DotNet.Cecil From Version 0.11.4-alpha.25471.2 -> To Version 0.11.4-alpha.25473.2 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 46ecf35d10ab60..42b4a96b0a7bf0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - e7b42fc5084299c4c62717ae169f55aa1f6d8559 + 5e34bae0c15a5f00ce82547cc815a8c392ff30e1 diff --git a/eng/Versions.props b/eng/Versions.props index 2e051e9dc7b507..3a26505ac74b07 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.25471.2 + 0.11.4-alpha.25473.2 8.0.0-rc.1.23406.6 From fda25cd42d28a3457be3c8adc736756d11a2684f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:46:27 -0700 Subject: [PATCH 47/66] Update dependencies from https://github.com/dotnet/arcade build 20250925.2 (#120110) On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.25473.1 -> To Version 8.0.0-beta.25475.2 Microsoft.DotNet.XUnitConsoleRunner From Version 2.5.1-beta.25473.1 -> To Version 2.5.1-beta.25475.2 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 72 ++++++++++++++++++++--------------------- eng/Versions.props | 30 ++++++++--------- global.json | 6 ++-- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 42b4a96b0a7bf0..08d40973d616c4 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b https://github.com/dotnet/runtime-assets @@ -334,9 +334,9 @@ https://github.com/dotnet/xharness fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + b56341eb86a370acc94711f2571c3b3aff215c4b https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 3a26505ac74b07..88fa2d35803454 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 8.0.100 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 2.5.1-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 2.5.1-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 + 8.0.0-beta.25475.2 6.0.0-preview.1.102 diff --git a/global.json b/global.json index 84cbccc8f62719..d5d533278420f6 100644 --- a/global.json +++ b/global.json @@ -8,9 +8,9 @@ "dotnet": "8.0.120" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25473.1", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25473.1", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25473.1", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25475.2", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25475.2", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25475.2", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" From 3107bc7acc06042897730542f4eb0edaa0cacba3 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 26 Sep 2025 19:52:12 -0400 Subject: [PATCH 48/66] [release/8.0] Bump STJ and MSBuild Version (#119859) * [release/8.0] Bump STJ and MSBuild Version Resolves CG alerts * Bump other necessary components * Update deps with the correct versions * Add separate Microsoft.SourceBuild.Intermediate.runtime dependency * Update to a public build --------- Co-authored-by: Michael Simons --- eng/Version.Details.xml | 36 ++++++++++++++++++++---------------- eng/Versions.props | 22 +++++++++++----------- global.json | 2 +- 3 files changed, 32 insertions(+), 28 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4055b35a3973c1..9cdd894086231b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -293,34 +293,38 @@ https://github.com/dotnet/llvm-project 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/runtime - edbd5c769a19798b6955050baccf99e6797d3208 + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 https://github.com/dotnet/runtime edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - edbd5c769a19798b6955050baccf99e6797d3208 + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 - + https://github.com/dotnet/runtime - edbd5c769a19798b6955050baccf99e6797d3208 + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 - + https://github.com/dotnet/runtime - edbd5c769a19798b6955050baccf99e6797d3208 + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + + + https://github.com/dotnet/runtime + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 - + https://github.com/dotnet/runtime - edbd5c769a19798b6955050baccf99e6797d3208 + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 - + https://github.com/dotnet/runtime - edbd5c769a19798b6955050baccf99e6797d3208 + b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 https://github.com/dotnet/xharness @@ -410,13 +414,13 @@ https://github.com/dotnet/installer 46a7370763921ded24dcb70c585ee97883c615d4 - + https://github.com/dotnet/msbuild - 195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22 + 2e2d89a923d83b7cf43ec543f725c1b206c912fe - + https://github.com/dotnet/msbuild - 195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22 + 2e2d89a923d83b7cf43ec543f725c1b206c912fe diff --git a/eng/Versions.props b/eng/Versions.props index 2e051e9dc7b507..e88fc180454050 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -105,10 +105,10 @@ 6.0.0-preview.1.102 - 8.0.0-rc.1.23406.6 + 8.0.10 6.0.0 - 8.0.0-rc.1.23406.6 + 8.0.10-servicing.24466.9 8.0.0-preview.7.23325.2 16.0.5-alpha.1.25311.1 16.0.5-alpha.1.25311.1 @@ -137,16 +137,16 @@ 5.0.0 7.0.0 - 7.0.0 + 8.0.0 4.5.1 - 7.0.0 + 8.0.0 4.5.5 7.0.0 - 7.0.0 - 7.0.0 - 7.0.3 + 8.0.0 + 8.0.0 + 8.0.5 4.5.4 - 8.0.0-rc.1.23406.6 + 8.0.5 6.0.0 7.0.0 4.5.4 @@ -182,7 +182,7 @@ 2.0.3 1.0.4-preview6.19326.1 2.0.5 - 17.8.3 + 17.8.29 $(MicrosoftBuildVersion) $(MicrosoftBuildVersion) $(MicrosoftBuildVersion) @@ -223,11 +223,11 @@ 8.0.0-preview-20230918.1 - 8.0.0-rc.1.23406.6 + 8.0.10 0.11.4-alpha.25471.2 - 8.0.0-rc.1.23406.6 + 8.0.10 8.0.0-rtm.25466.3 diff --git a/global.json b/global.json index 84cbccc8f62719..a6a1e88750daae 100644 --- a/global.json +++ b/global.json @@ -13,6 +13,6 @@ "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25473.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", - "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" + "Microsoft.NET.Sdk.IL": "8.0.10-servicing.24466.9" } } From ac69c90b4e8545977d35bb16302a336fc4ccadfc Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 12:03:51 -0700 Subject: [PATCH 49/66] Update dependencies from https://github.com/dotnet/cecil build 20250928.2 (#120239) On relative base path root Microsoft.DotNet.Cecil From Version 0.11.4-alpha.25473.2 -> To Version 0.11.4-alpha.25478.2 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 08d40973d616c4..5bb7a5dfc1733e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - 5e34bae0c15a5f00ce82547cc815a8c392ff30e1 + eeb6268b858f19124584494ed0440f3227ccb20c diff --git a/eng/Versions.props b/eng/Versions.props index 88fa2d35803454..b4fb0adcde0344 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.25473.2 + 0.11.4-alpha.25478.2 8.0.0-rc.1.23406.6 From 6384dc85778067443f6c7e443587cf1042163fd7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 18:05:42 +0000 Subject: [PATCH 50/66] Remove an STJ deep nested object test causing StackOverflow failures (#120266) Co-authored-by: Jeff Handley --- .../System.Text.Json.Tests/Serialization/Stream.WriteTests.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/Stream.WriteTests.cs b/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/Stream.WriteTests.cs index c3734c58f6927a..b4099afa9d9a58 100644 --- a/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/Stream.WriteTests.cs +++ b/src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/Stream.WriteTests.cs @@ -330,8 +330,7 @@ public async Task VeryLargeJsonFileTest(int payloadSize, bool ignoreNull, bool w [InlineData(2, true, false)] [InlineData(2, false, false)] [InlineData(4, false, false)] - [InlineData(8, false, false)] - [InlineData(16, false, false)] // This results a reader\writer depth of 324 which currently works on all test platforms. + [InlineData(8, false, false)] // Greater depths have caused failures on some test machine configurations due to memory constraints public async Task DeepNestedJsonFileTest(int depthFactor, bool ignoreNull, bool writeIndented) { const int ListLength = 10; From 24e4b41e5084455e1a7e699dc551b287f9006a93 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Thu, 2 Oct 2025 08:05:47 -0400 Subject: [PATCH 51/66] [release/8.0] Bump OSX.12 helix queues to OSX.13 (#119815) * [release/8.0] Bump OSX.12 helix queues to OSX.13 * Incorporate https://github.com/dotnet/runtime/pull/112647 * msquic transport usage tweaks * Skip OpenSslNamedKeysTests.manual.cs outright on osx mono --- eng/Versions.props | 1 - .../coreclr/templates/helix-queues-setup.yml | 8 ++-- .../libraries/helix-queues-setup.yml | 4 +- src/libraries/System.Net.Quic/readme.md | 39 +++++++++---------- .../src/System.Net.Quic.csproj | 31 +-------------- .../System.Security.Cryptography.Tests.csproj | 3 +- src/libraries/tests.proj | 5 +++ 7 files changed, 33 insertions(+), 58 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index e88fc180454050..8b118c961772f3 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -232,7 +232,6 @@ 8.0.0-rtm.25466.3 2.4.8 - 8.0.0-alpha.1.23527.1 16.0.5-alpha.1.25311.1 16.0.5-alpha.1.25311.1 diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 29381cfca7de20..07d84b74c15e8e 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -107,16 +107,16 @@ jobs: # OSX arm64 - ${{ if eq(parameters.platform, 'osx_arm64') }}: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - OSX.1200.ARM64.Open + - OSX.13.ARM64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - - OSX.1200.ARM64 + - OSX.13.ARM64 # OSX x64 - ${{ if eq(parameters.platform, 'osx_x64') }}: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - OSX.1200.Amd64.Open + - OSX.13.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - - OSX.1200.Amd64 + - OSX.13.Amd64 # windows x64 - ${{ if eq(parameters.platform, 'windows_x64') }}: diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index f034aafd8b9db2..ef219f7d5ce42a 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -83,11 +83,11 @@ jobs: # OSX arm64 - ${{ if eq(parameters.platform, 'osx_arm64') }}: - - OSX.1200.ARM64.Open + - OSX.13.ARM64.Open # OSX x64 - ${{ if eq(parameters.platform, 'osx_x64') }}: - - OSX.1200.Amd64.Open + - OSX.13.Amd64.Open # Android - ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}: diff --git a/src/libraries/System.Net.Quic/readme.md b/src/libraries/System.Net.Quic/readme.md index 039ce733a233a3..55bad077c51af8 100644 --- a/src/libraries/System.Net.Quic/readme.md +++ b/src/libraries/System.Net.Quic/readme.md @@ -77,15 +77,19 @@ Testing on Linux is done with the help of docker images whose definition can be To consume a release version of the package, the docker image definition will contain: ```docker -RUN curl -LO https://packages.microsoft.com/keys/microsoft.asc && \ - echo 2cfd20a306b2fa5e25522d78f2ef50a1f429d35fd30bd983e2ebffc2b80944fa microsoft.asc | sha256sum --check - && \ - apt-key add microsoft.asc && \ - rm microsoft.asc && \ - apt-add-repository https://packages.microsoft.com/debian/11/prod && \ - apt-get update && \ - apt-get install -y libmsquic +RUN apt-get update \ + && apt-get upgrade -y \ + && apt-get install -y \ + apt-transport-https \ + curl \ + software-properties-common \ + && curl -sL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + && apt-get update \ + && apt-get install -y libmsquic ``` -Source: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/efbcd1079edef4698ada1676a5e33c4c9672f85a/src/debian/11/helix/amd64/Dockerfile#L44-L52 +Source: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/7f86167248bcbda898a6b7f17ed01dce3adff2dd/src/debian/12/helix/amd64/Dockerfile#L22-L31 To consume the current main branch of msquic, we pull code from [dotnet/msquic](https://github.com/dotnet/msquic) and build it locally in our docker image: ```docker @@ -94,13 +98,13 @@ RUN apt-get update -y && \ apt-get upgrade -y && \ apt-get install -y cmake clang ruby-dev gem lttng-tools libssl-dev && \ gem install fpm -RUN git clone --recursive https://github.com/dotnet/msquic -RUN cd msquic/src/msquic && \ +RUN git clone --depth 1 --single-branch --branch main --recursive https://github.com/microsoft/msquic +RUN cd msquic/ && \ mkdir build && \ - cmake -B build -DCMAKE_BUILD_TYPE=Release -DQUIC_ENABLE_LOGGING=false -DQUIC_USE_SYSTEM_LIBCRYPTO=true -DQUIC_BUILD_TOOLS=off -DQUIC_BUILD_TEST=off -DQUIC_BUILD_PERF=off && \ + cmake -B build -DCMAKE_BUILD_TYPE=Debug -DQUIC_ENABLE_LOGGING=false -DQUIC_USE_SYSTEM_LIBCRYPTO=true -DQUIC_BUILD_TOOLS=off -DQUIC_BUILD_TEST=off -DQUIC_BUILD_PERF=off -DQUIC_TLS_LIB=quictls -DQUIC_ENABLE_SANITIZERS=on && \ cd build && \ - cmake --build . --config Release -RUN cd msquic/src/msquic/build/bin/Release && \ + cmake --build . --config Debug +RUN cd msquic/build/bin/Debug && \ rm libmsquic.so && \ fpm -f -s dir -t deb -n libmsquic -v $( find -type f | cut -d "." -f 4- ) \ --license MIT --url https://github.com/microsoft/msquic --log error \ @@ -109,15 +113,10 @@ RUN cd msquic/src/msquic/build/bin/Release && \ ``` Source: -https://github.com/dotnet/runtime/blob/bd540938a4830ee91dec5ee2d39545b2f69a19d5/src/libraries/System.Net.Http/tests/StressTests/HttpStress/Dockerfile#L4-L21 +https://github.com/dotnet/runtime/blob/c6566fb0bcc539c523be9796ba5af681bf65a904/src/libraries/System.Net.Http/tests/StressTests/HttpStress/Dockerfile#L4-L21 Note that to propagate newest sources / package to the docker image used for the test runs, it must be rebuilt by [dotnet-buildtools-prereqs-docker-all](https://dev.azure.com/dnceng/internal/_build?definitionId=1183&_a=summary) pipeline with `noCache = true` variable. And since [#76630](https://github.com/dotnet/runtime/pull/76630), the newest image will get automatically picked up by the dotnet/runtime infra. ### Windows -Officially released `msquic.dll` is published to NuGet.org, see [Microsoft.Native.Quic.MsQuic.Schannel](https://www.nuget.org/packages/Microsoft.Native.Quic.MsQuic.Schannel). - -To consume MsQuic from the current main branch, we use [dotnet/msquic](https://github.com/dotnet/msquic) repository which will build and publish `msquic.dll` to the transport feed, e.g. [dotnet8-transport](https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet8-transport). And from there, it'll get flown into this repository via [Darc subscription](https://github.com/dotnet/arcade/blob/main/Documentation/Darc.md). See https://github.com/dotnet/runtime/blob/bd540938a4830ee91dec5ee2d39545b2f69a19d5/eng/Version.Details.xml#L7-L10 and maestro-bot PR: https://github.com/dotnet/runtime/pull/71900. - - -System.Net.Quic [project file](https://github.com/dotnet/runtime/blob/0304f1f5157a8280fa093bdfc7cfb8d9f62e016f/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj) allows switching between those two options with [`UseQuicTransportPackage` property](https://github.com/dotnet/runtime/blob/0304f1f5157a8280fa093bdfc7cfb8d9f62e016f/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj#L15). +Officially released `msquic.dll` is published to NuGet.org, see [Microsoft.Native.Quic.MsQuic.Schannel](https://www.nuget.org/packages/Microsoft.Native.Quic.MsQuic.Schannel). \ No newline at end of file diff --git a/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj b/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj index d6c063e216eb58..1acd4b592b23bd 100644 --- a/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj +++ b/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj @@ -12,9 +12,6 @@ $(DefineConstants);TARGET_WINDOWS SR.SystemNetQuic_PlatformNotSupported ExcludeApiList.PNSE.txt - - false @@ -141,41 +138,15 @@ '$(DotNetBuildFromSource)' != 'true'"> - - - - - - + - - - - - - diff --git a/src/libraries/System.Security.Cryptography/tests/System.Security.Cryptography.Tests.csproj b/src/libraries/System.Security.Cryptography/tests/System.Security.Cryptography.Tests.csproj index 688d6b1f8c917a..1310d3ba2a3ac2 100644 --- a/src/libraries/System.Security.Cryptography/tests/System.Security.Cryptography.Tests.csproj +++ b/src/libraries/System.Security.Cryptography/tests/System.Security.Cryptography.Tests.csproj @@ -273,7 +273,8 @@ - + + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index efcc5c27e4acc9..797c1f4f325d01 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -36,6 +36,11 @@ + + + + + From fabc8845938ab0a75b38f45e68ec2d625768e73a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 11:08:21 -0700 Subject: [PATCH 52/66] [release/8.0-staging] Update dependencies from dotnet/hotreload-utils (#119803) * Update dependencies from https://github.com/dotnet/hotreload-utils build 20250917.2 On relative base path root Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.25411.2 -> To Version 8.0.0-alpha.0.25467.2 * Update dependencies from https://github.com/dotnet/hotreload-utils build 20251002.2 On relative base path root Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.25411.2 -> To Version 8.0.0-alpha.0.25502.2 --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Tanner Gooding --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9cdd894086231b..7010ede34e38cb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -358,9 +358,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 67613417f5e1af250e6ddfba79f8f2885d8e90fb - + https://github.com/dotnet/hotreload-utils - 4583778b38f71bc05962b9da38dd1e9ee17525e7 + e10618f290e069eb2b1bbc1f3ed80e9e16cc16ee https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index 8b118c961772f3..1ab99bccfd6417 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ 8.0.0-prerelease.25427.2 8.0.0-prerelease.25427.2 8.0.0-prerelease.25427.2 - 8.0.0-alpha.0.25411.2 + 8.0.0-alpha.0.25502.2 2.4.2 1.0.0 2.4.5 From 2238cc95f20e81a50addb3f4d51d38d786f2cd29 Mon Sep 17 00:00:00 2001 From: Kevin Jones Date: Fri, 3 Oct 2025 23:22:13 -0400 Subject: [PATCH 53/66] Detect if RSA-384 is supported on the platform --- .../Security/Cryptography/PlatformSupport.cs | 83 +++++++++++++++++++ .../tests/RSACngProvider.cs | 19 +---- .../tests/RSACryptoServiceProviderProvider.cs | 3 +- .../tests/DefaultRSAProvider.cs | 18 +--- 4 files changed, 89 insertions(+), 34 deletions(-) diff --git a/src/libraries/Common/tests/System/Security/Cryptography/PlatformSupport.cs b/src/libraries/Common/tests/System/Security/Cryptography/PlatformSupport.cs index dc3f24f1b2789c..f929e17e2e56d9 100644 --- a/src/libraries/Common/tests/System/Security/Cryptography/PlatformSupport.cs +++ b/src/libraries/Common/tests/System/Security/Cryptography/PlatformSupport.cs @@ -10,6 +10,62 @@ namespace Test.Cryptography { internal static class PlatformSupport { + private static readonly RSAParameters s_rsa384Parameters = new RSAParameters + { + Modulus = new byte[] + { + 0xDA, 0xCC, 0x22, 0xD8, 0x6E, 0x67, 0x15, 0x75, + 0x03, 0x2E, 0x31, 0xF2, 0x06, 0xDC, 0xFC, 0x19, + 0x2C, 0x65, 0xE2, 0xD5, 0x10, 0x89, 0xE5, 0x11, + 0x2D, 0x09, 0x6F, 0x28, 0x82, 0xAF, 0xDB, 0x5B, + 0x78, 0xCD, 0xB6, 0x57, 0x2F, 0xD2, 0xF6, 0x1D, + 0xB3, 0x90, 0x47, 0x22, 0x32, 0xE3, 0xD9, 0xF5, + }, + Exponent = new byte[] + { + 0x01, 0x00, 0x01, + }, + D = new byte[] + { + 0x7A, 0x59, 0xBD, 0x02, 0x9A, 0x7A, 0x3A, 0x9D, + 0x7C, 0x71, 0xD0, 0xAC, 0x2E, 0xFA, 0x54, 0x5F, + 0x1F, 0x5C, 0xBA, 0x43, 0xBB, 0x43, 0xE1, 0x3B, + 0x78, 0x77, 0xAF, 0x82, 0xEF, 0xEB, 0x40, 0xC3, + 0x8D, 0x1E, 0xCD, 0x73, 0x7F, 0x5B, 0xF9, 0xC8, + 0x96, 0x92, 0xB2, 0x9C, 0x87, 0x5E, 0xD6, 0xE1, + }, + P = new byte[] + { + 0xFA, 0xDB, 0xD7, 0xF8, 0xA1, 0x8B, 0x3A, 0x75, + 0xA4, 0xF6, 0xDF, 0xAE, 0xE3, 0x42, 0x6F, 0xD0, + 0xFF, 0x8B, 0xAC, 0x74, 0xB6, 0x72, 0x2D, 0xEF, + }, + DP = new byte[] + { + 0x24, 0xFF, 0xBB, 0xD0, 0xDD, 0xF2, 0xAD, 0x02, + 0xA0, 0xFC, 0x10, 0x6D, 0xB8, 0xF3, 0x19, 0x8E, + 0xD7, 0xC2, 0x00, 0x03, 0x8E, 0xCD, 0x34, 0x5D, + }, + Q = new byte[] + { + 0xDF, 0x48, 0x14, 0x4A, 0x6D, 0x88, 0xA7, 0x80, + 0x14, 0x4F, 0xCE, 0xA6, 0x6B, 0xDC, 0xDA, 0x50, + 0xD6, 0x07, 0x1C, 0x54, 0xE5, 0xD0, 0xDA, 0x5B, + }, + DQ = new byte[] + { + 0x85, 0xDF, 0x73, 0xBB, 0x04, 0x5D, 0x91, 0x00, + 0x6C, 0x2D, 0x45, 0x9B, 0xE6, 0xC4, 0x2E, 0x69, + 0x95, 0x4A, 0x02, 0x24, 0xAC, 0xFE, 0x42, 0x4D, + }, + InverseQ = new byte[] + { + 0x1A, 0x3A, 0x76, 0x9C, 0x21, 0x26, 0x2B, 0x84, + 0xCA, 0x9C, 0xA9, 0x62, 0x0F, 0x98, 0xD2, 0xF4, + 0x3E, 0xAC, 0xCC, 0xD4, 0x87, 0x9A, 0x6F, 0xFD, + }, + }; + private static Lazy s_lazyPlatformCryptoProviderFunctional = new Lazy(static () => { #if !NETFRAMEWORK @@ -44,6 +100,31 @@ internal static class PlatformSupport } }); + private static readonly Lazy s_lazyIsRSA384Supported = new Lazy(() => + { + // Linux and Apple are known to support RSA-384, so return true without checking. + if (PlatformDetection.IsLinux || PlatformDetection.IsOSXLike) + { + return true; + } + + RSA rsa = RSA.Create(); + + try + { + rsa.ImportParameters(s_rsa384Parameters); + return true; + } + catch (CryptographicException) + { + return false; + } + finally + { + rsa.Dispose(); + } + }); + // Platforms that use Apple Cryptography internal const TestPlatforms AppleCrypto = TestPlatforms.OSX | TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst; internal const TestPlatforms MobileAppleCrypto = TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst; @@ -54,6 +135,8 @@ internal static class PlatformSupport // Whether or not the current platform supports RC2 internal static readonly bool IsRC2Supported = !PlatformDetection.IsAndroid; + internal static bool IsRSA384Supported => s_lazyIsRSA384Supported.Value; + #if NETCOREAPP internal static readonly bool IsAndroidVersionAtLeast31 = OperatingSystem.IsAndroidVersionAtLeast(31); #else diff --git a/src/libraries/System.Security.Cryptography.Cng/tests/RSACngProvider.cs b/src/libraries/System.Security.Cryptography.Cng/tests/RSACngProvider.cs index 025bbc426a4cdf..8b831ea9b041f1 100644 --- a/src/libraries/System.Security.Cryptography.Cng/tests/RSACngProvider.cs +++ b/src/libraries/System.Security.Cryptography.Cng/tests/RSACngProvider.cs @@ -2,32 +2,17 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Runtime.InteropServices; +using Test.Cryptography; namespace System.Security.Cryptography.Rsa.Tests { public class RSACngProvider : IRSAProvider { - private bool? _supports384PrivateKey; - public RSA Create() => new RSACng(); public RSA Create(int keySize) => new RSACng(keySize); - public bool Supports384PrivateKey - { - get - { - if (!_supports384PrivateKey.HasValue) - { - // For Windows 7 (Microsoft Windows 6.1) and Windows 8 (Microsoft Windows 6.2) this is false for RSACng. - _supports384PrivateKey = - !RuntimeInformation.OSDescription.Contains("Windows 6.1") && - !RuntimeInformation.OSDescription.Contains("Windows 6.2"); - } - - return _supports384PrivateKey.Value; - } - } + public bool Supports384PrivateKey => PlatformSupport.IsRSA384Supported; public bool SupportsLargeExponent => true; diff --git a/src/libraries/System.Security.Cryptography.Csp/tests/RSACryptoServiceProviderProvider.cs b/src/libraries/System.Security.Cryptography.Csp/tests/RSACryptoServiceProviderProvider.cs index fb40b5ece1d0fc..84825bcbb5c3b5 100644 --- a/src/libraries/System.Security.Cryptography.Csp/tests/RSACryptoServiceProviderProvider.cs +++ b/src/libraries/System.Security.Cryptography.Csp/tests/RSACryptoServiceProviderProvider.cs @@ -3,6 +3,7 @@ using System.Runtime.InteropServices; using System.Security.Cryptography.Tests; +using Test.Cryptography; namespace System.Security.Cryptography.Rsa.Tests { @@ -15,7 +16,7 @@ public class RSACryptoServiceProviderProvider : IRSAProvider public RSA Create(int keySize) => new RSACryptoServiceProvider(keySize); - public bool Supports384PrivateKey => true; + public bool Supports384PrivateKey => PlatformSupport.IsRSA384Supported; public bool SupportsLargeExponent => false; diff --git a/src/libraries/System.Security.Cryptography/tests/DefaultRSAProvider.cs b/src/libraries/System.Security.Cryptography/tests/DefaultRSAProvider.cs index d6883088f06f24..916bf6a142aa96 100644 --- a/src/libraries/System.Security.Cryptography/tests/DefaultRSAProvider.cs +++ b/src/libraries/System.Security.Cryptography/tests/DefaultRSAProvider.cs @@ -3,12 +3,12 @@ using System.Runtime.InteropServices; using System.Security.Cryptography.Tests; +using Test.Cryptography; namespace System.Security.Cryptography.Rsa.Tests { public class DefaultRSAProvider : IRSAProvider { - private bool? _supports384PrivateKey; private bool? _supportsSha1Signatures; private bool? _supportsMd5Signatures; @@ -26,21 +26,7 @@ public RSA Create(int keySize) #endif } - public bool Supports384PrivateKey - { - get - { - if (!_supports384PrivateKey.HasValue) - { - // For Windows 7 (Microsoft Windows 6.1) and Windows 8 (Microsoft Windows 6.2) this is false for RSACng. - _supports384PrivateKey = !RuntimeInformation.OSDescription.Contains("Windows 6.1") && - !RuntimeInformation.OSDescription.Contains("Windows 6.2"); - } - - return _supports384PrivateKey.Value; - } - } - + public bool Supports384PrivateKey => PlatformSupport.IsRSA384Supported; public bool SupportsSha1Signatures => _supportsSha1Signatures ??= SignatureSupport.CanProduceSha1Signature(Create()); public bool SupportsMd5Signatures => _supportsMd5Signatures ??= SignatureSupport.CanProduceMd5Signature(Create()); From fa47ce3542fe8b94710a04b0719e0b545ac51abe Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 15:39:34 -0700 Subject: [PATCH 54/66] [release/8.0-staging] Update dependencies from dotnet/icu (#120348) * Update dependencies from https://github.com/dotnet/icu build 20251002.2 On relative base path root Microsoft.NETCore.Runtime.ICU.Transport From Version 8.0.0-rtm.25466.3 -> To Version 8.0.0-rtm.25502.2 * Update dependencies from https://github.com/dotnet/icu build 20251004.1 On relative base path root Microsoft.NETCore.Runtime.ICU.Transport From Version 8.0.0-rtm.25466.3 -> To Version 8.0.0-rtm.25504.1 --------- Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7010ede34e38cb..8c15c3693d1322 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,8 +1,8 @@ - + https://github.com/dotnet/icu - 447bcbcb6d371d48d3e6e6fb31d2db0818301362 + 34092c89640d48ae4f54ad425c3357ccfe1df414 https://github.com/dotnet/msquic diff --git a/eng/Versions.props b/eng/Versions.props index 1ab99bccfd6417..03454c0de013e0 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -229,7 +229,7 @@ 8.0.10 - 8.0.0-rtm.25466.3 + 8.0.0-rtm.25504.1 2.4.8 From e8f83b38afe4d00e37539a3ddc23edaa78222b25 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 16:40:33 -0700 Subject: [PATCH 55/66] Update dependencies from https://github.com/dotnet/arcade build 20251004.1 (#120401) On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.25473.1 -> To Version 8.0.0-beta.25504.1 Microsoft.DotNet.XUnitConsoleRunner From Version 2.5.1-beta.25473.1 -> To Version 2.5.1-beta.25504.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 72 +++++------ eng/Versions.props | 30 ++--- eng/common/post-build/nuget-validation.ps1 | 11 +- eng/common/post-build/nuget-verification.ps1 | 121 ++++++++++++++++++ .../post-build/post-build.yml | 3 +- .../templates/post-build/post-build.yml | 1 - global.json | 6 +- 7 files changed, 178 insertions(+), 66 deletions(-) create mode 100644 eng/common/post-build/nuget-verification.ps1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 8c15c3693d1322..d67d9191e1ad17 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 https://github.com/dotnet/runtime-assets @@ -338,9 +338,9 @@ https://github.com/dotnet/xharness fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/arcade - ea77ace912db0e1cf28f199cb456b27fe311635e + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 03454c0de013e0..26911145bad1a8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 8.0.100 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 2.5.1-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 - 8.0.0-beta.25473.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 2.5.1-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 6.0.0-preview.1.102 diff --git a/eng/common/post-build/nuget-validation.ps1 b/eng/common/post-build/nuget-validation.ps1 index dab3534ab53893..22b1c4dfe4a7ff 100644 --- a/eng/common/post-build/nuget-validation.ps1 +++ b/eng/common/post-build/nuget-validation.ps1 @@ -2,20 +2,13 @@ # tool: https://github.com/NuGet/NuGetGallery/tree/jver-verify/src/VerifyMicrosoftPackage param( - [Parameter(Mandatory=$true)][string] $PackagesPath, # Path to where the packages to be validated are - [Parameter(Mandatory=$true)][string] $ToolDestinationPath # Where the validation tool should be downloaded to + [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are ) try { . $PSScriptRoot\post-build-utils.ps1 - $url = 'https://raw.githubusercontent.com/NuGet/NuGetGallery/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1' - - New-Item -ItemType 'directory' -Path ${ToolDestinationPath} -Force - - Invoke-WebRequest $url -OutFile ${ToolDestinationPath}\verify.ps1 - - & ${ToolDestinationPath}\verify.ps1 ${PackagesPath}\*.nupkg + & $PSScriptRoot\nuget-verification.ps1 ${PackagesPath}\*.nupkg } catch { Write-Host $_.ScriptStackTrace diff --git a/eng/common/post-build/nuget-verification.ps1 b/eng/common/post-build/nuget-verification.ps1 new file mode 100644 index 00000000000000..8467dbf8e7c218 --- /dev/null +++ b/eng/common/post-build/nuget-verification.ps1 @@ -0,0 +1,121 @@ +<# +.SYNOPSIS + Verifies that Microsoft NuGet packages have proper metadata. +.DESCRIPTION + Downloads a verification tool and runs metadata validation on the provided NuGet packages. This script writes an + error if any of the provided packages fail validation. All arguments provided to this PowerShell script that do not + match PowerShell parameters are passed on to the verification tool downloaded during the execution of this script. +.PARAMETER NuGetExePath + The path to the nuget.exe binary to use. If not provided, nuget.exe will be downloaded into the -DownloadPath + directory. +.PARAMETER PackageSource + The package source to use to download the verification tool. If not provided, nuget.org will be used. +.PARAMETER DownloadPath + The directory path to download the verification tool and nuget.exe to. If not provided, + %TEMP%\NuGet.VerifyNuGetPackage will be used. +.PARAMETER args + Arguments that will be passed to the verification tool. +.EXAMPLE + PS> .\verify.ps1 *.nupkg + Verifies the metadata of all .nupkg files in the currect working directory. +.EXAMPLE + PS> .\verify.ps1 --help + Displays the help text of the downloaded verifiction tool. +.LINK + https://github.com/NuGet/NuGetGallery/blob/master/src/VerifyMicrosoftPackage/README.md +#> + +# This script was copied from https://github.com/NuGet/NuGetGallery/blob/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1 + +[CmdletBinding(PositionalBinding = $false)] +param( + [string]$NuGetExePath, + [string]$PackageSource = "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json", + [string]$DownloadPath, + [Parameter(ValueFromRemainingArguments = $true)] + [string[]]$args +) + +# The URL to download nuget.exe. +$nugetExeUrl = "https://dist.nuget.org/win-x86-commandline/v4.9.4/nuget.exe" + +# The package ID of the verification tool. +$packageId = "NuGet.VerifyMicrosoftPackage" + +# The location that nuget.exe and the verification tool will be downloaded to. +if (!$DownloadPath) { + $DownloadPath = (Join-Path $env:TEMP "NuGet.VerifyMicrosoftPackage") +} + +$fence = New-Object -TypeName string -ArgumentList '=', 80 + +# Create the download directory, if it doesn't already exist. +if (!(Test-Path $DownloadPath)) { + New-Item -ItemType Directory $DownloadPath | Out-Null +} +Write-Host "Using download path: $DownloadPath" + +if ($NuGetExePath) { + $nuget = $NuGetExePath +} else { + $downloadedNuGetExe = Join-Path $DownloadPath "nuget.exe" + + # Download nuget.exe, if it doesn't already exist. + if (!(Test-Path $downloadedNuGetExe)) { + Write-Host "Downloading nuget.exe from $nugetExeUrl..." + $ProgressPreference = 'SilentlyContinue' + try { + Invoke-WebRequest $nugetExeUrl -OutFile $downloadedNuGetExe + $ProgressPreference = 'Continue' + } catch { + $ProgressPreference = 'Continue' + Write-Error $_ + Write-Error "nuget.exe failed to download." + exit + } + } + + $nuget = $downloadedNuGetExe +} + +Write-Host "Using nuget.exe path: $nuget" +Write-Host " " + +# Download the latest version of the verification tool. +Write-Host "Downloading the latest version of $packageId from $packageSource..." +Write-Host $fence +& $nuget install $packageId ` + -Prerelease ` + -OutputDirectory $DownloadPath ` + -Source $PackageSource +Write-Host $fence +Write-Host " " + +if ($LASTEXITCODE -ne 0) { + Write-Error "nuget.exe failed to fetch the verify tool." + exit +} + +# Find the most recently downloaded tool +Write-Host "Finding the most recently downloaded verification tool." +$verifyProbePath = Join-Path $DownloadPath "$packageId.*" +$verifyPath = Get-ChildItem -Path $verifyProbePath -Directory ` + | Sort-Object -Property LastWriteTime -Descending ` + | Select-Object -First 1 +$verify = Join-Path $verifyPath "tools\NuGet.VerifyMicrosoftPackage.exe" +Write-Host "Using verification tool: $verify" +Write-Host " " + +# Execute the verification tool. +Write-Host "Executing the verify tool..." +Write-Host $fence +& $verify $args +Write-Host $fence +Write-Host " " + +# Respond to the exit code. +if ($LASTEXITCODE -ne 0) { + Write-Error "The verify tool found some problems." +} else { + Write-Output "The verify tool succeeded." +} \ No newline at end of file diff --git a/eng/common/templates-official/post-build/post-build.yml b/eng/common/templates-official/post-build/post-build.yml index 9fef8103991ccf..817e2d80dea168 100644 --- a/eng/common/templates-official/post-build/post-build.yml +++ b/eng/common/templates-official/post-build/post-build.yml @@ -134,8 +134,7 @@ stages: displayName: Validate inputs: filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 - arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ + arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - job: displayName: Signing Validation diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml index 6e5722dc2e1795..ea1785a8aa2662 100644 --- a/eng/common/templates/post-build/post-build.yml +++ b/eng/common/templates/post-build/post-build.yml @@ -132,7 +132,6 @@ stages: inputs: filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ - job: displayName: Signing Validation diff --git a/global.json b/global.json index a6a1e88750daae..9aa80dc1aed5b4 100644 --- a/global.json +++ b/global.json @@ -8,9 +8,9 @@ "dotnet": "8.0.120" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25473.1", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25473.1", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25473.1", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25504.1", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25504.1", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25504.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.10-servicing.24466.9" From 43d8edd8ed88118d4207dac62cbcfca232769d66 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 16:52:32 -0700 Subject: [PATCH 56/66] Update dependencies from https://github.com/dotnet/runtime-assets build 20251004.1 (#120416) On relative base path root Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData From Version 8.0.0-beta.25467.2 -> To Version 8.0.0-beta.25504.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 28 ++++++++++----------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d67d9191e1ad17..1a216b8634de4c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -185,57 +185,57 @@ https://github.com/dotnet/arcade 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 https://github.com/dotnet/llvm-project @@ -362,9 +362,9 @@ https://github.com/dotnet/hotreload-utils e10618f290e069eb2b1bbc1f3ed80e9e16cc16ee - + https://github.com/dotnet/runtime-assets - f636e4a569ad29a54e9672dffdb77a00c0c4a62a + fcd10a83bcad9c9e7ce4556f8b56c2579d7f00d8 https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index 26911145bad1a8..1a26642a2adbee 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -153,20 +153,20 @@ 4.5.0 8.0.0-rc.1.23406.6 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 - 8.0.0-beta.25467.2 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 1.0.0-prerelease.23566.3 1.0.0-prerelease.23566.3 From 8dfdd14fb036f144a2f322a8a5e0113aceeb48be Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:49:44 -0700 Subject: [PATCH 57/66] Update dependencies from https://github.com/dotnet/hotreload-utils build 20251004.1 (#120403) On relative base path root Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.25502.2 -> To Version 8.0.0-alpha.0.25504.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1a216b8634de4c..55146b6b4670e2 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -358,9 +358,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 67613417f5e1af250e6ddfba79f8f2885d8e90fb - + https://github.com/dotnet/hotreload-utils - e10618f290e069eb2b1bbc1f3ed80e9e16cc16ee + 7741c91e2ddf9791828e1fcf86108844c4222446 https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index 1a26642a2adbee..3854ea876293ad 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ 8.0.0-prerelease.25427.2 8.0.0-prerelease.25427.2 8.0.0-prerelease.25427.2 - 8.0.0-alpha.0.25502.2 + 8.0.0-alpha.0.25504.1 2.4.2 1.0.0 2.4.5 From ad2d4fbc436733ce11e49ad1e28be1448bf8e0a3 Mon Sep 17 00:00:00 2001 From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:18:13 -0700 Subject: [PATCH 58/66] Update branding to 8.0.22 (#120473) --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index b4fb0adcde0344..692faa2aceb2ba 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,11 +1,11 @@ - 8.0.21 + 8.0.22 8 0 - 21 + 22 8.0.100 7.0.20 6.0.36 From c97931c19c3a46cf33d60d89be7c120a69d173ac Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:42:37 -0700 Subject: [PATCH 59/66] Update dependencies from https://github.com/dotnet/cecil build 20251004.1 (#120415) On relative base path root Microsoft.DotNet.Cecil From Version 0.11.4-alpha.25478.2 -> To Version 0.11.4-alpha.25504.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5bb7a5dfc1733e..81bfc9d2ae00dc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - eeb6268b858f19124584494ed0440f3227ccb20c + 3ab718e87ce28aec65d210f6281c056086d9b947 diff --git a/eng/Versions.props b/eng/Versions.props index 692faa2aceb2ba..cb33a0f4bb9ab8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.0-rc.1.23406.6 - 0.11.4-alpha.25478.2 + 0.11.4-alpha.25504.1 8.0.0-rc.1.23406.6 From 38652b7be87b75072ab4b89ec791379147f3b0e0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:42:54 -0700 Subject: [PATCH 60/66] Update dependencies from https://github.com/dotnet/arcade build 20251004.1 (#120402) On relative base path root Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.25475.2 -> To Version 8.0.0-beta.25504.1 Microsoft.DotNet.XUnitConsoleRunner From Version 2.5.1-beta.25475.2 -> To Version 2.5.1-beta.25504.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 72 +++++------ eng/Versions.props | 30 ++--- eng/common/post-build/nuget-validation.ps1 | 11 +- eng/common/post-build/nuget-verification.ps1 | 121 ++++++++++++++++++ .../post-build/post-build.yml | 3 +- .../templates/post-build/post-build.yml | 1 - global.json | 6 +- 7 files changed, 178 insertions(+), 66 deletions(-) create mode 100644 eng/common/post-build/nuget-verification.ps1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 81bfc9d2ae00dc..dd0e4ddc1f3c33 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 https://github.com/dotnet/runtime-assets @@ -334,9 +334,9 @@ https://github.com/dotnet/xharness fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/arcade - b56341eb86a370acc94711f2571c3b3aff215c4b + 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index cb33a0f4bb9ab8..cbdb619054cc41 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 8.0.100 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 2.5.1-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 - 8.0.0-beta.25475.2 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 2.5.1-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 + 8.0.0-beta.25504.1 6.0.0-preview.1.102 diff --git a/eng/common/post-build/nuget-validation.ps1 b/eng/common/post-build/nuget-validation.ps1 index dab3534ab53893..22b1c4dfe4a7ff 100644 --- a/eng/common/post-build/nuget-validation.ps1 +++ b/eng/common/post-build/nuget-validation.ps1 @@ -2,20 +2,13 @@ # tool: https://github.com/NuGet/NuGetGallery/tree/jver-verify/src/VerifyMicrosoftPackage param( - [Parameter(Mandatory=$true)][string] $PackagesPath, # Path to where the packages to be validated are - [Parameter(Mandatory=$true)][string] $ToolDestinationPath # Where the validation tool should be downloaded to + [Parameter(Mandatory=$true)][string] $PackagesPath # Path to where the packages to be validated are ) try { . $PSScriptRoot\post-build-utils.ps1 - $url = 'https://raw.githubusercontent.com/NuGet/NuGetGallery/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1' - - New-Item -ItemType 'directory' -Path ${ToolDestinationPath} -Force - - Invoke-WebRequest $url -OutFile ${ToolDestinationPath}\verify.ps1 - - & ${ToolDestinationPath}\verify.ps1 ${PackagesPath}\*.nupkg + & $PSScriptRoot\nuget-verification.ps1 ${PackagesPath}\*.nupkg } catch { Write-Host $_.ScriptStackTrace diff --git a/eng/common/post-build/nuget-verification.ps1 b/eng/common/post-build/nuget-verification.ps1 new file mode 100644 index 00000000000000..8467dbf8e7c218 --- /dev/null +++ b/eng/common/post-build/nuget-verification.ps1 @@ -0,0 +1,121 @@ +<# +.SYNOPSIS + Verifies that Microsoft NuGet packages have proper metadata. +.DESCRIPTION + Downloads a verification tool and runs metadata validation on the provided NuGet packages. This script writes an + error if any of the provided packages fail validation. All arguments provided to this PowerShell script that do not + match PowerShell parameters are passed on to the verification tool downloaded during the execution of this script. +.PARAMETER NuGetExePath + The path to the nuget.exe binary to use. If not provided, nuget.exe will be downloaded into the -DownloadPath + directory. +.PARAMETER PackageSource + The package source to use to download the verification tool. If not provided, nuget.org will be used. +.PARAMETER DownloadPath + The directory path to download the verification tool and nuget.exe to. If not provided, + %TEMP%\NuGet.VerifyNuGetPackage will be used. +.PARAMETER args + Arguments that will be passed to the verification tool. +.EXAMPLE + PS> .\verify.ps1 *.nupkg + Verifies the metadata of all .nupkg files in the currect working directory. +.EXAMPLE + PS> .\verify.ps1 --help + Displays the help text of the downloaded verifiction tool. +.LINK + https://github.com/NuGet/NuGetGallery/blob/master/src/VerifyMicrosoftPackage/README.md +#> + +# This script was copied from https://github.com/NuGet/NuGetGallery/blob/3e25ad135146676bcab0050a516939d9958bfa5d/src/VerifyMicrosoftPackage/verify.ps1 + +[CmdletBinding(PositionalBinding = $false)] +param( + [string]$NuGetExePath, + [string]$PackageSource = "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json", + [string]$DownloadPath, + [Parameter(ValueFromRemainingArguments = $true)] + [string[]]$args +) + +# The URL to download nuget.exe. +$nugetExeUrl = "https://dist.nuget.org/win-x86-commandline/v4.9.4/nuget.exe" + +# The package ID of the verification tool. +$packageId = "NuGet.VerifyMicrosoftPackage" + +# The location that nuget.exe and the verification tool will be downloaded to. +if (!$DownloadPath) { + $DownloadPath = (Join-Path $env:TEMP "NuGet.VerifyMicrosoftPackage") +} + +$fence = New-Object -TypeName string -ArgumentList '=', 80 + +# Create the download directory, if it doesn't already exist. +if (!(Test-Path $DownloadPath)) { + New-Item -ItemType Directory $DownloadPath | Out-Null +} +Write-Host "Using download path: $DownloadPath" + +if ($NuGetExePath) { + $nuget = $NuGetExePath +} else { + $downloadedNuGetExe = Join-Path $DownloadPath "nuget.exe" + + # Download nuget.exe, if it doesn't already exist. + if (!(Test-Path $downloadedNuGetExe)) { + Write-Host "Downloading nuget.exe from $nugetExeUrl..." + $ProgressPreference = 'SilentlyContinue' + try { + Invoke-WebRequest $nugetExeUrl -OutFile $downloadedNuGetExe + $ProgressPreference = 'Continue' + } catch { + $ProgressPreference = 'Continue' + Write-Error $_ + Write-Error "nuget.exe failed to download." + exit + } + } + + $nuget = $downloadedNuGetExe +} + +Write-Host "Using nuget.exe path: $nuget" +Write-Host " " + +# Download the latest version of the verification tool. +Write-Host "Downloading the latest version of $packageId from $packageSource..." +Write-Host $fence +& $nuget install $packageId ` + -Prerelease ` + -OutputDirectory $DownloadPath ` + -Source $PackageSource +Write-Host $fence +Write-Host " " + +if ($LASTEXITCODE -ne 0) { + Write-Error "nuget.exe failed to fetch the verify tool." + exit +} + +# Find the most recently downloaded tool +Write-Host "Finding the most recently downloaded verification tool." +$verifyProbePath = Join-Path $DownloadPath "$packageId.*" +$verifyPath = Get-ChildItem -Path $verifyProbePath -Directory ` + | Sort-Object -Property LastWriteTime -Descending ` + | Select-Object -First 1 +$verify = Join-Path $verifyPath "tools\NuGet.VerifyMicrosoftPackage.exe" +Write-Host "Using verification tool: $verify" +Write-Host " " + +# Execute the verification tool. +Write-Host "Executing the verify tool..." +Write-Host $fence +& $verify $args +Write-Host $fence +Write-Host " " + +# Respond to the exit code. +if ($LASTEXITCODE -ne 0) { + Write-Error "The verify tool found some problems." +} else { + Write-Output "The verify tool succeeded." +} \ No newline at end of file diff --git a/eng/common/templates-official/post-build/post-build.yml b/eng/common/templates-official/post-build/post-build.yml index 9fef8103991ccf..817e2d80dea168 100644 --- a/eng/common/templates-official/post-build/post-build.yml +++ b/eng/common/templates-official/post-build/post-build.yml @@ -134,8 +134,7 @@ stages: displayName: Validate inputs: filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 - arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ + arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - job: displayName: Signing Validation diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml index 6e5722dc2e1795..ea1785a8aa2662 100644 --- a/eng/common/templates/post-build/post-build.yml +++ b/eng/common/templates/post-build/post-build.yml @@ -132,7 +132,6 @@ stages: inputs: filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - -ToolDestinationPath $(Agent.BuildDirectory)/Extract/ - job: displayName: Signing Validation diff --git a/global.json b/global.json index d5d533278420f6..13ddabe0f48d27 100644 --- a/global.json +++ b/global.json @@ -8,9 +8,9 @@ "dotnet": "8.0.120" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25475.2", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25475.2", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25475.2", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25504.1", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25504.1", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25504.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" From cb6df6720d534081942051fec4a64679e129bbe6 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:43:29 -0700 Subject: [PATCH 61/66] [release/8.0] Update dependencies from dotnet/emsdk (#120408) * Update dependencies from https://github.com/dotnet/emsdk build 20251004.2 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25469.3 -> To Version 8.0.21-servicing.25504.2 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.21 * Update dependencies from https://github.com/dotnet/emsdk build 20251008.1 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25469.3 -> To Version 8.0.22-servicing.25508.1 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.22 * Update dependencies from https://github.com/dotnet/emsdk build 20251009.3 On relative base path root Microsoft.SourceBuild.Intermediate.emsdk From Version 8.0.21-servicing.25469.3 -> To Version 8.0.22-servicing.25509.3 Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.21 -> To Version 8.0.22 --------- Co-authored-by: dotnet-maestro[bot] --- NuGet.config | 2 +- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NuGet.config b/NuGet.config index 51374fcc762fc8..bf11386e9030b4 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index dd0e4ddc1f3c33..5eb84aaa389baa 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,13 +90,13 @@ 3ab718e87ce28aec65d210f6281c056086d9b947 - + https://github.com/dotnet/emsdk - 42532a7524749ad5d48d1820eaa7d4ab7e77faa6 + e559274b6cbfa4d246d108332b181c55ef1c9b3f - + https://github.com/dotnet/emsdk - 42532a7524749ad5d48d1820eaa7d4ab7e77faa6 + e559274b6cbfa4d246d108332b181c55ef1c9b3f diff --git a/eng/Versions.props b/eng/Versions.props index cbdb619054cc41..ee1caedd07d719 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -252,7 +252,7 @@ Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport --> - 8.0.21 + 8.0.22 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version) 1.1.87-gba258badda From 74046f5376af4f59245abed38e8dc9cdf88a1495 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 10:15:04 -0700 Subject: [PATCH 62/66] [release/8.0] Update dependencies from dotnet/arcade (#120763) This pull request updates the following dependencies [marker]: <> (Begin:27d7515f-61f3-43b1-8bf0-e99f74c2f310) ## From https://github.com/dotnet/arcade - **Subscription**: [27d7515f-61f3-43b1-8bf0-e99f74c2f310](https://maestro.dot.net/subscriptions?search=27d7515f-61f3-43b1-8bf0-e99f74c2f310) - **Build**: [20251015.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2816671) ([287229](https://maestro.dot.net/channel/3885/github:dotnet:arcade/build/287229)) - **Date Produced**: October 15, 2025 3:48:40 PM UTC - **Commit**: [6544413e02741855b701468aa8afc6cf8ca62c72](https://github.com/dotnet/arcade/commit/6544413e02741855b701468aa8afc6cf8ca62c72) - **Branch**: [release/8.0](https://github.com/dotnet/arcade/tree/release/8.0) [DependencyUpdate]: <> (Begin) - **Updates**: - From [8.0.0-beta.25504.1 to 8.0.0-beta.25515.1][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Archives - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.Build.Tasks.Installers - Microsoft.DotNet.Build.Tasks.Packaging - Microsoft.DotNet.Build.Tasks.TargetFramework - Microsoft.DotNet.Build.Tasks.Templating - Microsoft.DotNet.Build.Tasks.Workloads - Microsoft.DotNet.CodeAnalysis - Microsoft.DotNet.GenAPI - Microsoft.DotNet.GenFacades - Microsoft.DotNet.Helix.Sdk - Microsoft.DotNet.PackageTesting - Microsoft.DotNet.RemoteExecutor - Microsoft.DotNet.SharedFramework.Sdk - Microsoft.DotNet.VersionTools.Tasks - Microsoft.DotNet.XUnitExtensions - From [2.5.1-beta.25504.1 to 2.5.1-beta.25515.1][1] - Microsoft.DotNet.XUnitConsoleRunner [1]: https://github.com/dotnet/arcade/compare/3edea53c9b...6544413e02 [DependencyUpdate]: <> (End) - **Updates to .NET SDKs in root:** - Updates sdk.version to 8.0.121 - Updates tools.dotnet to 8.0.121 [marker]: <> (End:27d7515f-61f3-43b1-8bf0-e99f74c2f310) --------- Co-authored-by: dotnet-maestro[bot] Co-authored-by: Pranav Senthilnathan --- eng/Version.Details.xml | 72 ++++++++++++++++++++--------------------- eng/Versions.props | 32 +++++++++--------- global.json | 10 +++--- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 16de5a7875fcfc..680320734c548c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 https://github.com/dotnet/runtime-assets @@ -338,9 +338,9 @@ https://github.com/dotnet/xharness fc7f1ca0ff5b949ba7b7500e5aa9a01e4a43d894 - + https://github.com/dotnet/arcade - 3edea53c9b10e4bc63de863d71a05d47d9bb5b69 + 6544413e02741855b701468aa8afc6cf8ca62c72 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 889e94931be963..a52ac6453fd8f3 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 8.0.100 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 2.5.1-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 - 8.0.0-beta.25504.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 2.5.1-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 + 8.0.0-beta.25515.1 6.0.0-preview.1.102 @@ -268,7 +268,7 @@ 3.1.7 1.0.406601 - 8.0.120 + 8.0.121 $(MicrosoftDotnetSdkInternalVersion) diff --git a/global.json b/global.json index 9aa80dc1aed5b4..d5ea99857e4e19 100644 --- a/global.json +++ b/global.json @@ -1,16 +1,16 @@ { "sdk": { - "version": "8.0.120", + "version": "8.0.121", "allowPrerelease": true, "rollForward": "major" }, "tools": { - "dotnet": "8.0.120" + "dotnet": "8.0.121" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25504.1", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25504.1", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25504.1", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25515.1", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25515.1", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25515.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.10-servicing.24466.9" From a7aaf121871919c128fe7cd29067aca9e4bad2f1 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 14:20:03 -0700 Subject: [PATCH 63/66] [release/8.0] Update dependencies from dotnet/cecil (#120781) This pull request updates the following dependencies [marker]: <> (Begin:b8bd0c20-0b80-4fdf-a782-08db9e4038dc) ## From https://github.com/dotnet/cecil - **Subscription**: [b8bd0c20-0b80-4fdf-a782-08db9e4038dc](https://maestro.dot.net/subscriptions?search=b8bd0c20-0b80-4fdf-a782-08db9e4038dc) - **Build**: [20251015.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2816869) ([287268](https://maestro.dot.net/channel/3073/github:dotnet:cecil/build/287268)) - **Date Produced**: October 15, 2025 7:29:22 PM UTC - **Commit**: [c868da138b7bd4e675dfffd58483cecc3bc5f095](https://github.com/dotnet/cecil/commit/c868da138b7bd4e675dfffd58483cecc3bc5f095) - **Branch**: [release/8.0](https://github.com/dotnet/cecil/tree/release/8.0) [DependencyUpdate]: <> (Begin) - **Updates**: - From [0.11.4-alpha.25504.1 to 0.11.4-alpha.25515.1][1] - Microsoft.DotNet.Cecil [1]: https://github.com/dotnet/cecil/compare/3ab718e87c...c868da138b [DependencyUpdate]: <> (End) [marker]: <> (End:b8bd0c20-0b80-4fdf-a782-08db9e4038dc) Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 680320734c548c..29229ba033ef3d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -85,9 +85,9 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759 - + https://github.com/dotnet/cecil - 3ab718e87ce28aec65d210f6281c056086d9b947 + c868da138b7bd4e675dfffd58483cecc3bc5f095 diff --git a/eng/Versions.props b/eng/Versions.props index a52ac6453fd8f3..d43b07e78e77f4 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,7 @@ 8.0.10 - 0.11.4-alpha.25504.1 + 0.11.4-alpha.25515.1 8.0.10 From 138fa39875c8d122b38ec462d03323b705b8c656 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 14:41:37 -0700 Subject: [PATCH 64/66] [release/8.0] Update dependencies from dotnet/emsdk (#120778) This pull request updates the following dependencies [marker]: <> (Begin:4ebef09c-22a4-4345-9e95-08db9f47cad7) ## From https://github.com/dotnet/emsdk - **Subscription**: [4ebef09c-22a4-4345-9e95-08db9f47cad7](https://maestro.dot.net/subscriptions?search=4ebef09c-22a4-4345-9e95-08db9f47cad7) - **Build**: [20251016.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2817717) ([287476](https://maestro.dot.net/channel/3073/github:dotnet:emsdk/build/287476)) - **Date Produced**: October 16, 2025 5:40:20 PM UTC - **Commit**: [9e37ff5ebf5f464d80bdae6ad9d24e7a01ee11f8](https://github.com/dotnet/emsdk/commit/9e37ff5ebf5f464d80bdae6ad9d24e7a01ee11f8) - **Branch**: [release/8.0](https://github.com/dotnet/emsdk/tree/release/8.0) [DependencyUpdate]: <> (Begin) - **Updates**: - From [8.0.22-servicing.25509.3 to 8.0.22-servicing.25516.3][2] - Microsoft.SourceBuild.Intermediate.emsdk - From [8.0.22 to 8.0.22][2] - Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 [2]: https://github.com/dotnet/emsdk/compare/e559274b6c...9e37ff5ebf [DependencyUpdate]: <> (End) [marker]: <> (End:4ebef09c-22a4-4345-9e95-08db9f47cad7) --------- Co-authored-by: dotnet-maestro[bot] --- NuGet.config | 2 +- eng/Version.Details.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index bf11386e9030b4..164a1cad75778b 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,7 +9,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 29229ba033ef3d..cb6f314bb0fa10 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -92,11 +92,11 @@ https://github.com/dotnet/emsdk - e559274b6cbfa4d246d108332b181c55ef1c9b3f + 9e37ff5ebf5f464d80bdae6ad9d24e7a01ee11f8 - + https://github.com/dotnet/emsdk - e559274b6cbfa4d246d108332b181c55ef1c9b3f + 9e37ff5ebf5f464d80bdae6ad9d24e7a01ee11f8 From efd48bdf8859b5fe9748a2bd5dcf39e8472c5556 Mon Sep 17 00:00:00 2001 From: Pranav Senthilnathan Date: Fri, 17 Oct 2025 04:05:45 -0700 Subject: [PATCH 65/66] [release/8.0] Update Microsoft.Build.* versions to 17.8.43 (#120819) Backport of https://github.com/dotnet/runtime/pull/120818 --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: hoyosjs <19413848+hoyosjs@users.noreply.github.com> --- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cb6f314bb0fa10..f8247cdf6f4e48 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -414,13 +414,13 @@ https://github.com/dotnet/installer 46a7370763921ded24dcb70c585ee97883c615d4 - + https://github.com/dotnet/msbuild - 2e2d89a923d83b7cf43ec543f725c1b206c912fe + f0cbb13971c30ad15a3f252a8d0171898a01ec11 - + https://github.com/dotnet/msbuild - 2e2d89a923d83b7cf43ec543f725c1b206c912fe + f0cbb13971c30ad15a3f252a8d0171898a01ec11 diff --git a/eng/Versions.props b/eng/Versions.props index d43b07e78e77f4..95094ab439a202 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -182,7 +182,7 @@ 2.0.3 1.0.4-preview6.19326.1 2.0.5 - 17.8.29 + 17.8.43 $(MicrosoftBuildVersion) $(MicrosoftBuildVersion) $(MicrosoftBuildVersion) From a9d6fdea674fedb93f7cf138df8b77276674a9f2 Mon Sep 17 00:00:00 2001 From: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com> Date: Mon, 27 Oct 2025 13:53:35 -0700 Subject: [PATCH 66/66] Revert "[release/8.0] Bump STJ and MSBuild Version" (#121123) (#121126) Reverts dotnet/runtime#119859 VS17.10 can't support 8.0.5 and as a result this change needs to be backed out. --- eng/Version.Details.xml | 36 ++++++++++++++++-------------------- eng/Versions.props | 22 +++++++++++----------- global.json | 2 +- 3 files changed, 28 insertions(+), 32 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f8247cdf6f4e48..ae64afc8979393 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -293,38 +293,34 @@ https://github.com/dotnet/llvm-project 0a471ebbe6a4a9c095169dd531b825a4370f57f3 - + https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + edbd5c769a19798b6955050baccf99e6797d3208 https://github.com/dotnet/runtime edbd5c769a19798b6955050baccf99e6797d3208 - - https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 - - + https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - b5f53494d6541a1ef9b7d0e13214d5e5e5cec594 + edbd5c769a19798b6955050baccf99e6797d3208 https://github.com/dotnet/xharness @@ -414,13 +410,13 @@ https://github.com/dotnet/installer 46a7370763921ded24dcb70c585ee97883c615d4 - + https://github.com/dotnet/msbuild - f0cbb13971c30ad15a3f252a8d0171898a01ec11 + 195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22 - + https://github.com/dotnet/msbuild - f0cbb13971c30ad15a3f252a8d0171898a01ec11 + 195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22 diff --git a/eng/Versions.props b/eng/Versions.props index 95094ab439a202..890522fc1a280f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -105,10 +105,10 @@ 6.0.0-preview.1.102 - 8.0.10 + 8.0.0-rc.1.23406.6 6.0.0 - 8.0.10-servicing.24466.9 + 8.0.0-rc.1.23406.6 8.0.0-preview.7.23325.2 16.0.5-alpha.1.25311.1 16.0.5-alpha.1.25311.1 @@ -137,16 +137,16 @@ 5.0.0 7.0.0 - 8.0.0 + 7.0.0 4.5.1 - 8.0.0 + 7.0.0 4.5.5 7.0.0 - 8.0.0 - 8.0.0 - 8.0.5 + 7.0.0 + 7.0.0 + 7.0.3 4.5.4 - 8.0.5 + 8.0.0-rc.1.23406.6 6.0.0 7.0.0 4.5.4 @@ -182,7 +182,7 @@ 2.0.3 1.0.4-preview6.19326.1 2.0.5 - 17.8.43 + 17.8.3 $(MicrosoftBuildVersion) $(MicrosoftBuildVersion) $(MicrosoftBuildVersion) @@ -223,11 +223,11 @@ 8.0.0-preview-20230918.1 - 8.0.10 + 8.0.0-rc.1.23406.6 0.11.4-alpha.25515.1 - 8.0.10 + 8.0.0-rc.1.23406.6 8.0.0-rtm.25504.1 diff --git a/global.json b/global.json index d5ea99857e4e19..8a92d2af0e6fcf 100644 --- a/global.json +++ b/global.json @@ -13,6 +13,6 @@ "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.25515.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", - "Microsoft.NET.Sdk.IL": "8.0.10-servicing.24466.9" + "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" } }