From 7538560502d34c6373e092101126510951d10020 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 7 Jul 2026 16:37:38 +0000 Subject: [PATCH 1/6] Backflow from https://github.com/dotnet/dotnet / 80e087c build 321713 Diff: https://github.com/dotnet/dotnet/compare/d2b36583a7243f813a402f9f8379ab01f5068e93..80e087c8b2cc246015c7fdb081da6417895ff68c From: https://github.com/dotnet/dotnet/commit/d2b36583a7243f813a402f9f8379ab01f5068e93 To: https://github.com/dotnet/dotnet/commit/80e087c8b2cc246015c7fdb081da6417895ff68c [[ commit created by automation ]] --- NuGet.config | 4 +++ eng/Build.props | 2 +- eng/Npm.Workspace.nodeproj | 5 ++- eng/Signing.props | 8 +++++ eng/Versions.props | 2 +- eng/scripts/npm/npm-ci-retry.mjs | 36 +++++++++++++++++++ .../src/ForLoopIteratorInClosureAnalyzer.cs | 10 ++++++ .../src/IdentityUserContext.cs | 2 +- ...Microsoft.AspNetCore.Server.Kestrel.csproj | 1 + .../aspnetcoretools/aspnetcoretools.csproj | 10 +++--- .../src/dotnet-dev-certs.csproj | 2 +- .../src/dotnet-user-jwts.csproj | 2 +- .../src/dotnet-user-secrets.csproj | 2 +- 13 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 eng/scripts/npm/npm-ci-retry.mjs diff --git a/NuGet.config b/NuGet.config index 587ae4b8d5b9..f32c0c3b2e51 100644 --- a/NuGet.config +++ b/NuGet.config @@ -21,4 +21,8 @@ + + + + diff --git a/eng/Build.props b/eng/Build.props index 55edeb46fc29..3b71a251009b 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -186,7 +186,7 @@ Condition=" '$(BuildMainlyReferenceProviders)' != 'true' " /> + Condition=" '$(BuildMainlyReferenceProviders)' != 'true' and '$(DotNetBuildUseMonoRuntime)' != 'true' " /> diff --git a/eng/Npm.Workspace.nodeproj b/eng/Npm.Workspace.nodeproj index 6f7739f5e938..3cb80bda31db 100644 --- a/eng/Npm.Workspace.nodeproj +++ b/eng/Npm.Workspace.nodeproj @@ -138,8 +138,11 @@ + diff --git a/eng/Signing.props b/eng/Signing.props index 59a8aac0657b..a2b9073dd1a6 100644 --- a/eng/Signing.props +++ b/eng/Signing.props @@ -15,6 +15,14 @@ + + + + + + + + diff --git a/eng/Versions.props b/eng/Versions.props index 98fae0c84ff9..5599a66f16ab 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,7 +11,7 @@ 11 0 0 - 6 + 7 8.0.1 *-* preview diff --git a/eng/scripts/npm/npm-ci-retry.mjs b/eng/scripts/npm/npm-ci-retry.mjs new file mode 100644 index 000000000000..c523740df44e --- /dev/null +++ b/eng/scripts/npm/npm-ci-retry.mjs @@ -0,0 +1,36 @@ +// Runs `npm ci` with retries to mitigate transient network failures. +// +// npm's built-in fetch retry (configured via fetch-retries in .npmrc) does not +// reliably recover from errors that occur while reading a response body, such as +// "Invalid response body while trying to fetch ... read ECONNRESET". Those +// failures surface as a non-zero exit from `npm ci` and would otherwise fail the +// build non-deterministically. Wrapping the command in a retry loop makes the +// restore step robust against these transient registry/network hiccups. +import { execSync } from 'child_process'; + +const maxAttempts = 5; +const baseDelayMs = 15000; + +function sleep(ms) { + // Synchronous sleep so we can pause between attempts without async plumbing. + Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms); +} + +for (let attempt = 1; attempt <= maxAttempts; attempt++) { + try { + console.log(`Running 'npm ci' (attempt ${attempt}/${maxAttempts})...`); + execSync('npm ci', { stdio: 'inherit' }); + process.exit(0); + } catch (error) { + console.error(`'npm ci' failed on attempt ${attempt}/${maxAttempts}: ${error.message}`); + + if (attempt === maxAttempts) { + console.error(`'npm ci' failed after ${maxAttempts} attempts.`); + process.exit(1); + } + + const delayMs = baseDelayMs * attempt; + console.log(`Retrying 'npm ci' in ${delayMs / 1000} seconds...`); + sleep(delayMs); + } +} diff --git a/src/Components/Analyzers/src/ForLoopIteratorInClosureAnalyzer.cs b/src/Components/Analyzers/src/ForLoopIteratorInClosureAnalyzer.cs index 7a06038115a8..91f8dc7028ce 100644 --- a/src/Components/Analyzers/src/ForLoopIteratorInClosureAnalyzer.cs +++ b/src/Components/Analyzers/src/ForLoopIteratorInClosureAnalyzer.cs @@ -108,7 +108,12 @@ private static void AnalyzeOperationsTree(IOperation operation, Dictionary { - public PersonalDataConverter(IPersonalDataProtector protector) : base(s => protector.Protect(s), s => protector.Unprotect(s), default) + public PersonalDataConverter(IPersonalDataProtector protector) : base(s => protector.Protect(s), s => protector.Unprotect(s)) { } } diff --git a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj index 4f85a160dd8b..211957676042 100644 --- a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj +++ b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj @@ -14,6 +14,7 @@ + diff --git a/src/Tools/NativeAot/aspnetcoretools/aspnetcoretools.csproj b/src/Tools/NativeAot/aspnetcoretools/aspnetcoretools.csproj index 71e7b2306a9a..600860545309 100644 --- a/src/Tools/NativeAot/aspnetcoretools/aspnetcoretools.csproj +++ b/src/Tools/NativeAot/aspnetcoretools/aspnetcoretools.csproj @@ -6,13 +6,15 @@ aspnetcoretools true false - true - true + false + + true + true Shared true $(BundledToolTargetRuntimeIdentifiers) - $(TargetRuntimeIdentifier) - $(TargetRuntimeIdentifier) + $(TargetRuntimeIdentifier) + $(TargetRuntimeIdentifier) $(NETCoreSdkRuntimeIdentifier) $(NoWarn);CS2008 diff --git a/src/Tools/dotnet-dev-certs/src/dotnet-dev-certs.csproj b/src/Tools/dotnet-dev-certs/src/dotnet-dev-certs.csproj index efc107f6d2a0..a76c4d97f9ae 100644 --- a/src/Tools/dotnet-dev-certs/src/dotnet-dev-certs.csproj +++ b/src/Tools/dotnet-dev-certs/src/dotnet-dev-certs.csproj @@ -12,7 +12,7 @@ false - + true $(BundledToolTargetRuntimeIdentifiers) $(TargetRuntimeIdentifier) diff --git a/src/Tools/dotnet-user-jwts/src/dotnet-user-jwts.csproj b/src/Tools/dotnet-user-jwts/src/dotnet-user-jwts.csproj index 858fe693315f..a98600185512 100644 --- a/src/Tools/dotnet-user-jwts/src/dotnet-user-jwts.csproj +++ b/src/Tools/dotnet-user-jwts/src/dotnet-user-jwts.csproj @@ -13,7 +13,7 @@ false - + true $(BundledToolTargetRuntimeIdentifiers) $(TargetRuntimeIdentifier) diff --git a/src/Tools/dotnet-user-secrets/src/dotnet-user-secrets.csproj b/src/Tools/dotnet-user-secrets/src/dotnet-user-secrets.csproj index 5db993188137..59989c58add8 100644 --- a/src/Tools/dotnet-user-secrets/src/dotnet-user-secrets.csproj +++ b/src/Tools/dotnet-user-secrets/src/dotnet-user-secrets.csproj @@ -13,7 +13,7 @@ false - + true $(BundledToolTargetRuntimeIdentifiers) $(TargetRuntimeIdentifier) From 77d3282888527bfe0c8da305054c3a435310e990 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 7 Jul 2026 16:37:40 +0000 Subject: [PATCH 2/6] Update dependencies from build 321713 Updated Dependencies: Microsoft.NET.Runtime.WebAssembly.Sdk, Microsoft.NETCore.BrowserDebugHost.Transport, Microsoft.NET.Runtime.MonoAOTCompiler.Task, dotnet-ef, Microsoft.Bcl.AsyncInterfaces, Microsoft.Bcl.TimeProvider, Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.Design, Microsoft.EntityFrameworkCore.InMemory, Microsoft.EntityFrameworkCore.Relational, Microsoft.EntityFrameworkCore.Sqlite, Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Tools, Microsoft.Extensions.Caching.Abstractions, Microsoft.Extensions.Caching.Memory, Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.Abstractions, Microsoft.Extensions.Configuration.Binder, Microsoft.Extensions.Configuration.CommandLine, Microsoft.Extensions.Configuration.EnvironmentVariables, Microsoft.Extensions.Configuration.FileExtensions, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.Configuration.UserSecrets, Microsoft.Extensions.Configuration.Xml, Microsoft.Extensions.DependencyInjection, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.Diagnostics, Microsoft.Extensions.Diagnostics.Abstractions, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Composite, Microsoft.Extensions.FileProviders.Physical, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.HostFactoryResolver.Sources, Microsoft.Extensions.Hosting, Microsoft.Extensions.Hosting.Abstractions, Microsoft.Extensions.Http, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Configuration, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.Logging.Debug, Microsoft.Extensions.Logging.EventLog, Microsoft.Extensions.Logging.EventSource, Microsoft.Extensions.Logging.TraceSource, Microsoft.Extensions.Options, Microsoft.Extensions.Options.ConfigurationExtensions, Microsoft.Extensions.Options.DataAnnotations, Microsoft.Extensions.Primitives, Microsoft.Internal.Runtime.AspNetCore.Transport, Microsoft.NETCore.App.Ref, Microsoft.NETCore.Platforms, System.Collections.Immutable, System.Composition, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Diagnostics.EventLog, System.Diagnostics.PerformanceCounter, System.DirectoryServices.Protocols, System.Formats.Asn1, System.Formats.Cbor, System.IO.Hashing, System.IO.Pipelines, System.Memory.Data, System.Net.Http.Json, System.Net.Http.WinHttpHandler, System.Net.ServerSentEvents, System.Numerics.Tensors, System.Reflection.Metadata, System.Resources.Extensions, System.Runtime.Caching, System.Security.Cryptography.Pkcs, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encodings.Web, System.Text.Json, System.Threading.AccessControl, System.Threading.Channels, System.Threading.RateLimiting (Version 11.0.0-preview.6.26322.110 -> 11.0.0-preview.7.26357.101) Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Archives, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.RemoteExecutor, Microsoft.DotNet.SharedFramework.Sdk (Version 11.0.0-beta.26322.110 -> 11.0.0-beta.26357.101) Microsoft.Web.Xdt (Version 3.3.0-preview.6.26322.110 -> 3.3.0-preview.7.26357.101) NuGet.Frameworks, NuGet.Packaging, NuGet.Versioning (Version 7.9.0-rc.32310 -> 7.9.0-rc.35801) [[ commit created by automation ]] --- eng/Version.Details.props | 184 ++++----- eng/Version.Details.xml | 370 +++++++++--------- .../core-templates/job/helix-job-monitor.yml | 9 + .../core-templates/steps/send-to-helix.yml | 22 +- eng/common/cross/build-rootfs.sh | 3 +- eng/common/cross/install-debs.py | 8 +- eng/common/cross/toolchain.cmake | 16 +- eng/common/native/NativeAotSupported.props | 2 + eng/common/tools.ps1 | 7 - eng/common/tools.sh | 14 +- global.json | 8 +- 11 files changed, 331 insertions(+), 312 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index b2779c37310c..b33364ad0b2e 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,98 +6,98 @@ This file should be imported by eng/Versions.props - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-beta.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 3.3.0-preview.6.26322.110 - 7.9.0-rc.32310 - 7.9.0-rc.32310 - 7.9.0-rc.32310 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 - 11.0.0-preview.6.26322.110 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-beta.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 3.3.0-preview.7.26357.101 + 7.9.0-rc.35801 + 7.9.0-rc.35801 + 7.9.0-rc.35801 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 + 11.0.0-preview.7.26357.101 10.7.0 10.7.0 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 251458c14d8e..91bc3f34efb4 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -8,333 +8,333 @@ See https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md for instructions on using darc. --> - + - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c @@ -358,37 +358,37 @@ - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c https://github.com/dotnet/extensions @@ -448,17 +448,17 @@ https://github.com/dotnet/msbuild d1cce8d7cc03c23a4f1bad8e9240714fd9d199a3 - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c - + https://github.com/dotnet/dotnet - e92aef9c9fd05991d32c4f2a1525710fef4aa9df + 80e087c8b2cc246015c7fdb081da6417895ff68c diff --git a/eng/common/core-templates/job/helix-job-monitor.yml b/eng/common/core-templates/job/helix-job-monitor.yml index a8162c511667..96287e55a15b 100644 --- a/eng/common/core-templates/job/helix-job-monitor.yml +++ b/eng/common/core-templates/job/helix-job-monitor.yml @@ -57,6 +57,14 @@ parameters: type: number default: 30 +# When 'true' (the default), Helix work items that exit 0 but have failed AzDO test results +# are treated as failed: they count toward the monitor's exit code and are resubmitted by a +# later invocation's retry pass. Set to 'false' to fall back to exit-code-only outcomes. +# Forwarded as --fail-on-failed-tests. +- name: failWorkItemsWithFailedTests + type: boolean + default: true + # Advanced: optional pipeline artifact (produced earlier in this run) that contains the tool # nupkg. When set, the artifact is downloaded and the tool is installed from the nupkg into # a local tool-path; this bypasses the repo's .config/dotnet-tools.json manifest and is @@ -170,6 +178,7 @@ jobs: toolArgs=( --helix-base-uri '${{ parameters.helixBaseUri }}' --polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}' + --fail-on-failed-tests '${{ parameters.failWorkItemsWithFailedTests }}' --max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 5))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully. --stage-name '$(System.StageName)' ) diff --git a/eng/common/core-templates/steps/send-to-helix.yml b/eng/common/core-templates/steps/send-to-helix.yml index 68fa739c4ab2..ec7a20003992 100644 --- a/eng/common/core-templates/steps/send-to-helix.yml +++ b/eng/common/core-templates/steps/send-to-helix.yml @@ -10,6 +10,7 @@ parameters: HelixConfiguration: '' # optional -- additional property attached to a job HelixPreCommands: '' # optional -- commands to run before Helix work item execution HelixPostCommands: '' # optional -- commands to run after Helix work item execution + UseHelixMonitor: false # optional -- true will submit Helix jobs configured for the standalone Helix Job Monitor (results are reported/waited on out-of-band; this step will not wait, and WaitForWorkItemCompletion will be overridden) WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects @@ -31,7 +32,15 @@ parameters: continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false steps: - - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"' + - powershell: > + $(Build.SourcesDirectory)\eng\common\msbuild.ps1 + $(Build.SourcesDirectory)/${{ parameters.HelixProjectPath }} + /restore + /p:TreatWarningsAsErrors=false + /p:EnableHelixJobMonitor=${{ parameters.UseHelixMonitor }} + ${{ parameters.HelixProjectArguments }} + /t:Test + /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/SendToHelix.binlog displayName: ${{ parameters.DisplayNamePrefix }} (Windows) env: BuildConfig: $(_BuildConfig) @@ -61,7 +70,15 @@ steps: SYSTEM_ACCESSTOKEN: $(System.AccessToken) condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} - - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog + - script: > + $(Build.SourcesDirectory)/eng/common/msbuild.sh + $(Build.SourcesDirectory)/${{ parameters.HelixProjectPath }} + /restore + /p:TreatWarningsAsErrors=false + /p:EnableHelixJobMonitor=${{ parameters.UseHelixMonitor }} + ${{ parameters.HelixProjectArguments }} + /t:Test + /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/SendToHelix.binlog displayName: ${{ parameters.DisplayNamePrefix }} (Unix) env: BuildConfig: $(_BuildConfig) @@ -91,3 +108,4 @@ steps: SYSTEM_ACCESSTOKEN: $(System.AccessToken) condition: and(${{ parameters.condition }}, ne(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} + diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 273cae651a2b..3150ccac6fcd 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -88,8 +88,9 @@ __FreeBSDPackages+=" terminfo-db" __OpenBSDVersion="7.8" __OpenBSDPackages="heimdal-libs" __OpenBSDPackages+=" icu4c" -__OpenBSDPackages+=" inotify-tools" +__OpenBSDPackages+=" libinotify" __OpenBSDPackages+=" openssl" +__OpenBSDPackages+=" e2fsprogs" __IllumosPackages="icu" __IllumosPackages+=" mit-krb5" diff --git a/eng/common/cross/install-debs.py b/eng/common/cross/install-debs.py index 20ca770a1e21..1d1dfabf7dc9 100755 --- a/eng/common/cross/install-debs.py +++ b/eng/common/cross/install-debs.py @@ -121,10 +121,14 @@ async def fetch_release_file(session, mirror, suite, keyring): await download_file(session, release_gpg_url, release_gpg_file.name) print("Verifying signature of Release with Release.gpg.") - verify_command = ["gpg"] + # Use gpgv rather than gpg for verification. gpgv verifies a detached + # signature against a fixed keyring without involving gpg-agent or + # keyboxd, which makes it robust on hosts running GnuPG 2.4+ (e.g. Azure + # Linux) where "gpg --keyring" routes through keyboxd and can fail. + verify_command = ["gpgv"] if keyring: verify_command += ["--keyring", keyring] - verify_command += ["--verify", release_gpg_file.name, release_file.name] + verify_command += [release_gpg_file.name, release_file.name] result = subprocess.run(verify_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) if result.returncode != 0: diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 99d6dfe82dde..ead7fe3ef263 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -59,9 +59,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64") set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu") endif() elseif(FREEBSD) - set(triple "aarch64-unknown-freebsd12") + set(TOOLCHAIN "aarch64-unknown-freebsd14") elseif(OPENBSD) - set(triple "aarch64-unknown-openbsd") + set(TOOLCHAIN "aarch64-unknown-openbsd") endif() elseif(TARGET_ARCH_NAME STREQUAL "armel") set(CMAKE_SYSTEM_PROCESSOR armv7l) @@ -117,9 +117,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64") set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu") endif() elseif(FREEBSD) - set(triple "x86_64-unknown-freebsd12") + set(TOOLCHAIN "x86_64-unknown-freebsd14") elseif(OPENBSD) - set(triple "x86_64-unknown-openbsd") + set(TOOLCHAIN "x86_64-unknown-openbsd") elseif(ILLUMOS) set(TOOLCHAIN "x86_64-illumos") elseif(HAIKU) @@ -160,8 +160,6 @@ if(TIZEN) find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}") endif() - message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}") - include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++) include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN}) endif() @@ -206,9 +204,9 @@ if(ANDROID) include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake) elseif(FREEBSD OR OPENBSD) # we cross-compile by instructing clang - set(CMAKE_C_COMPILER_TARGET ${triple}) - set(CMAKE_CXX_COMPILER_TARGET ${triple}) - set(CMAKE_ASM_COMPILER_TARGET ${triple}) + set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) + set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) + set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=lld") diff --git a/eng/common/native/NativeAotSupported.props b/eng/common/native/NativeAotSupported.props index 559a6663929e..cdff9ef03612 100644 --- a/eng/common/native/NativeAotSupported.props +++ b/eng/common/native/NativeAotSupported.props @@ -13,6 +13,8 @@ <_NativeAotSupportedArch Condition=" '$(TargetArchitecture)' != 'wasm' and + '$(TargetArchitecture)' != 's390x' and + '$(TargetArchitecture)' != 'ppc64le' and ('$(TargetArchitecture)' != 'x86' or '$(TargetOS)' == 'windows') ">true diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index de32a6da3770..261def92b9c5 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -741,13 +741,6 @@ function MSBuild() { Write-PipelineTelemetryError -Category 'Build' -Message 'Binary log must be enabled in CI build, or explicitly opted-out from with the -excludeCIBinarylog switch.' ExitWithExitCode 1 } - - # Node reuse must be disabled in CI builds unless explicitly opted in via MSBUILD_NODEREUSE_ENABLED. - # Internal testing only; this env var will be replaced with a switch (https://github.com/dotnet/arcade/issues/17013) and must not be depended on. - if ($nodeReuse -and $env:MSBUILD_NODEREUSE_ENABLED -ne "1") { - Write-PipelineTelemetryError -Category 'Build' -Message 'Node reuse must be disabled in CI build.' - ExitWithExitCode 1 - } } $buildTool = InitializeBuildTool diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 05f9edd0aae8..8d1a6b461032 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -423,7 +423,7 @@ function InitializeToolset { if [[ -z "$nuget_config" ]]; then # Search for any variation of nuget.config in the RepoRoot local found_config - found_config=$(find "$repo_root" -maxdepth 1 -type f -iname "nuget.config" -print -quit) + found_config=$(find "$repo_root" -maxdepth 1 -type f -iname nuget.config | head -n 1) if [[ -n "$found_config" ]]; then nuget_config="$found_config" @@ -466,7 +466,8 @@ function ExitWithExitCode { function StopProcesses { echo "Killing running build processes..." pkill -9 "dotnet" || true - pkill -9 "vbcscompiler" || true + pkill -9 -i -x VBCSCompiler || true + pkill -9 -i -x MSBuild || true return 0 } @@ -493,14 +494,7 @@ function DotNet { function MSBuild { if [[ "$ci" == true ]]; then if [[ "$binary_log" != true && "$exclude_ci_binary_log" != true ]]; then - Write-PipelineTelemetryError -category 'Build' "Binary log must be enabled in CI build, or explicitly opted-out from with the -noBinaryLog switch." - ExitWithExitCode 1 - fi - - # Node reuse must be disabled in CI builds unless explicitly opted in via MSBUILD_NODEREUSE_ENABLED. - # Internal testing only; this env var will be replaced with a switch (https://github.com/dotnet/arcade/issues/17013) and must not be depended on. - if [[ "$node_reuse" == true && "${MSBUILD_NODEREUSE_ENABLED:-}" != "1" ]]; then - Write-PipelineTelemetryError -category 'Build' "Node reuse must be disabled in CI build." + Write-PipelineTelemetryError -category 'Build' "Binary log must be enabled in CI build, or explicitly opted-out from with the --excludeCIBinarylog switch." ExitWithExitCode 1 fi fi diff --git a/global.json b/global.json index 75b316147d45..b6c83e6cc0ce 100644 --- a/global.json +++ b/global.json @@ -22,11 +22,11 @@ "jdk": "latest" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26322.110", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26322.110", - "Microsoft.DotNet.SharedFramework.Sdk": "11.0.0-beta.26322.110", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26357.101", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26357.101", + "Microsoft.DotNet.SharedFramework.Sdk": "11.0.0-beta.26357.101", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", - "Microsoft.WixToolset.Sdk": "6.0.3-dotnet.4" + "Microsoft.WixToolset.Sdk": "6.0.3-dotnet.6" } } From e06d726f3f2453092771873fa337ff05cc823308 Mon Sep 17 00:00:00 2001 From: William Godbe Date: Tue, 7 Jul 2026 10:15:07 -0700 Subject: [PATCH 3/6] Suppress NuGet audit warnings in project file Added NoWarn property to suppress NuGet audit warnings. --- .../InProcessNewShimWebSite/InProcessNewShimWebSite.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj b/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj index 938f1d0cc1e1..9c85242f7e52 100644 --- a/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj +++ b/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj @@ -10,6 +10,8 @@ true true + + $(NoWarn);NU1903;NU1904 From 3841281618995dbb645da2fb8b2a424aa22430a4 Mon Sep 17 00:00:00 2001 From: William Godbe Date: Tue, 7 Jul 2026 10:54:09 -0700 Subject: [PATCH 4/6] Add NU1903 warning suppression to InteropClient.csproj --- .../Interop/test/testassets/InteropClient/InteropClient.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj b/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj index fd5c67c74100..28d3c608a854 100644 --- a/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj +++ b/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj @@ -4,6 +4,7 @@ Exe $(DefaultNetCoreTargetFramework) enable + $(NoWarn);NU1903 From c8121252dad9d14331a78e6cfce0121196b2407c Mon Sep 17 00:00:00 2001 From: wigodbe Date: Tue, 7 Jul 2026 11:38:40 -0700 Subject: [PATCH 5/6] Give source-build (Managed) leg a clang toolchain for NativeAOT tools The backflowed source-build gating change makes dotnet-dev-certs / user-jwts / user-secrets / aspnetcoretools publish NativeAOT in CoreCLR source-only builds, which requires clang. The Managed source-build leg ran in the build-amd64 prereqs image (no clang), failing with "No compatible version of clang was found". Run it in the azurelinux cross-amd64 prereq image (clang + sysroot) and pass ROOTFS_DIR + /p:CrossBuild=true, mirroring the ARM/ARM64/musl AOT legs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .azure/pipelines/ci-public.yml | 8 ++++++-- .azure/pipelines/ci.yml | 10 ++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.azure/pipelines/ci-public.yml b/.azure/pipelines/ci-public.yml index 60f207af0a1d..56f9d850bcdc 100644 --- a/.azure/pipelines/ci-public.yml +++ b/.azure/pipelines/ci-public.yml @@ -694,11 +694,15 @@ stages: parameters: platform: name: 'Managed' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-build-amd64' + # NativeAOT tools (dotnet-dev-certs / dotnet-user-secrets / dotnet-user-jwts) now publish + # AOT in source-build, which needs a clang toolchain + sysroot, so run in the azurelinux + # cross-prereq container and pass ROOTFS_DIR + /p:CrossBuild=true. + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-amd64' buildScript: './eng/build.sh' - buildArguments: '--source-build $(_InternalRuntimeDownloadArgs)' + buildArguments: '--source-build -p:CrossBuild=true $(_InternalRuntimeDownloadArgs)' jobProperties: timeoutInMinutes: 120 variables: # Log environment variables in binary logs to ease debugging MSBUILDLOGALLENVIRONMENTVARIABLES: true + ROOTFS_DIR: /crossrootfs/x64 diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 08d08c384f49..0d7e58dadb26 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -138,6 +138,8 @@ extends: image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-arm azureLinuxCrossArm64: image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-arm64 + azureLinuxCrossX64: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-amd64 azureLinuxCrossX64Musl: image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-amd64-musl azureLinuxCrossArmMusl: @@ -724,14 +726,18 @@ extends: enableInternalSources: true platform: name: 'Managed' - container: azureLinuxBuildAmd64 + # NativeAOT tools (dotnet-dev-certs / dotnet-user-secrets / dotnet-user-jwts) now publish + # AOT in source-build, which needs a clang toolchain + sysroot, so run in the azurelinux + # cross-prereq container and pass ROOTFS_DIR + /p:CrossBuild=true. + container: azureLinuxCrossX64 buildScript: './eng/build.sh' - buildArguments: '--source-build $(_InternalRuntimeDownloadArgs)' + buildArguments: '--source-build -p:CrossBuild=true $(_InternalRuntimeDownloadArgs)' jobProperties: timeoutInMinutes: 120 variables: # Log environment variables in binary logs to ease debugging MSBUILDLOGALLENVIRONMENTVARIABLES: true + ROOTFS_DIR: /crossrootfs/x64 # Publish to the BAR. Wait until everything else is done. - ${{ if notin(variables['Build.Reason'], 'PullRequest') }}: From 3a662e8522e038c1504cd93eeabbd7de78af8e19 Mon Sep 17 00:00:00 2001 From: William Godbe Date: Wed, 8 Jul 2026 10:30:42 -0700 Subject: [PATCH 6/6] Disable NuGet audit warnings for test project Added comment to disable NuGet audit warnings. --- .../Interop/test/testassets/InteropClient/InteropClient.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj b/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj index 28d3c608a854..dc252e95e28b 100644 --- a/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj +++ b/src/Grpc/Interop/test/testassets/InteropClient/InteropClient.csproj @@ -4,6 +4,7 @@ Exe $(DefaultNetCoreTargetFramework) enable + $(NoWarn);NU1903