From ea063410cfaf6acfa46bbd399fc4a0345bdeedbb Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 23 Feb 2026 14:08:17 +0000 Subject: [PATCH 1/3] Update dependencies from https://github.com/dotnet/dotnet build 20260221.4 On relative base path root Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore , Microsoft.AspNetCore.Identity.EntityFrameworkCore , Microsoft.AspNetCore.Identity.UI , Microsoft.EntityFrameworkCore , Microsoft.EntityFrameworkCore.Design , Microsoft.EntityFrameworkCore.SqlServer , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.Binder , Microsoft.Extensions.Configuration.CommandLine , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.Configuration.UserSecrets , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.FileProviders.Physical , Microsoft.Extensions.Identity.Stores , Microsoft.Extensions.Logging , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Options.ConfigurationExtensions , System.Text.Json From Version 11.0.0-preview.2.26108.103 -> To Version 11.0.0-preview.3.26121.104 Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.26108.103 -> To Version 11.0.0-beta.26121.104 --- eng/Version.Details.xml | 96 ++++++++++++------------- eng/Versions.props | 46 ++++++------ eng/common/templates/steps/vmr-sync.yml | 21 ------ eng/common/templates/vmr-build-pr.yml | 1 + eng/common/tools.ps1 | 10 +++ eng/common/tools.sh | 8 ++- eng/common/vmr-sync.ps1 | 38 ++++++++-- eng/common/vmr-sync.sh | 30 ++++++-- global.json | 6 +- 9 files changed, 149 insertions(+), 107 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6466be573d..036c855acc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,103 +1,103 @@ - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 - + https://github.com/dotnet/dotnet - 8c56ff58fc59fd33fc1dab5c6a7155ca16511bb2 + 51587e2f3d5f86ca27184a6b5e8a778841d05b31 diff --git a/eng/Versions.props b/eng/Versions.props index bbca66b48d..569835e22d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,55 +11,55 @@ $(MicrosoftBuildPackageVersion) - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 11.0.0-preview.1.26067.103 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 3.0.0 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 - 11.0.0-preview.2.26108.103 + 11.0.0-preview.3.26121.104 0.5.638 0.47.0 5.0.0 diff --git a/eng/common/templates/steps/vmr-sync.yml b/eng/common/templates/steps/vmr-sync.yml index 599afb6186..eb619c5026 100644 --- a/eng/common/templates/steps/vmr-sync.yml +++ b/eng/common/templates/steps/vmr-sync.yml @@ -38,27 +38,6 @@ steps: displayName: Label PR commit workingDirectory: $(Agent.BuildDirectory)/repo -- script: | - vmr_sha=$(grep -oP '(?<=Sha=")[^"]*' $(Agent.BuildDirectory)/repo/eng/Version.Details.xml) - echo "##vso[task.setvariable variable=vmr_sha]$vmr_sha" - displayName: Obtain the vmr sha from Version.Details.xml (Unix) - condition: ne(variables['Agent.OS'], 'Windows_NT') - workingDirectory: $(Agent.BuildDirectory)/repo - -- powershell: | - [xml]$xml = Get-Content -Path $(Agent.BuildDirectory)/repo/eng/Version.Details.xml - $vmr_sha = $xml.SelectSingleNode("//Source").Sha - Write-Output "##vso[task.setvariable variable=vmr_sha]$vmr_sha" - displayName: Obtain the vmr sha from Version.Details.xml (Windows) - condition: eq(variables['Agent.OS'], 'Windows_NT') - workingDirectory: $(Agent.BuildDirectory)/repo - -- script: | - git fetch --all - git checkout $(vmr_sha) - displayName: Checkout VMR at correct sha for repo flow - workingDirectory: ${{ parameters.vmrPath }} - - script: | git config --global user.name "dotnet-maestro[bot]" git config --global user.email "dotnet-maestro[bot]@users.noreply.github.com" diff --git a/eng/common/templates/vmr-build-pr.yml b/eng/common/templates/vmr-build-pr.yml index ce3c29a62f..2f3694fa13 100644 --- a/eng/common/templates/vmr-build-pr.yml +++ b/eng/common/templates/vmr-build-pr.yml @@ -34,6 +34,7 @@ resources: type: github name: dotnet/dotnet endpoint: dotnet + ref: refs/heads/main # Set to whatever VMR branch the PR build should insert into stages: - template: /eng/pipelines/templates/stages/vmr-build.yml@vmr diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index f6bde26837..01296ee601 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -588,6 +588,11 @@ function LocateVisualStudio([object]$vsRequirements = $null){ return $null } + if ($null -eq $vsInfo -or $vsInfo.Count -eq 0) { + throw "No instance of Visual Studio meeting the requirements specified was found. Requirements: $($args -join ' ')" + return $null + } + # use first matching instance return $vsInfo[0] } @@ -820,6 +825,11 @@ function MSBuild-Core() { $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + if ($env:MSBUILD_MT_ENABLED -eq "1") { + $cmdArgs += ' -mt' + } + if ($warnAsError) { $cmdArgs += ' /warnaserror /p:TreatWarningsAsErrors=true' } diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 6c121300ac..edc7b128cf 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -522,7 +522,13 @@ function MSBuild-Core { } } - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + local mt_switch="" + if [[ "${MSBUILD_MT_ENABLED:-}" == "1" ]]; then + mt_switch="-mt" + fi + + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { diff --git a/eng/common/vmr-sync.ps1 b/eng/common/vmr-sync.ps1 index 97302f3205..b37992d91c 100644 --- a/eng/common/vmr-sync.ps1 +++ b/eng/common/vmr-sync.ps1 @@ -103,12 +103,20 @@ Set-StrictMode -Version Latest Highlight 'Installing .NET, preparing the tooling..' . .\eng\common\tools.ps1 $dotnetRoot = InitializeDotNetCli -install:$true +$env:DOTNET_ROOT = $dotnetRoot $darc = Get-Darc -$dotnet = "$dotnetRoot\dotnet.exe" Highlight "Starting the synchronization of VMR.." # Synchronize the VMR +$versionDetailsPath = Resolve-Path (Join-Path $PSScriptRoot '..\Version.Details.xml') | Select-Object -ExpandProperty Path +[xml]$versionDetails = Get-Content -Path $versionDetailsPath +$repoName = $versionDetails.SelectSingleNode('//Source').Mapping +if (-not $repoName) { + Fail "Failed to resolve repo mapping from $versionDetailsPath" + exit 1 +} + $darcArgs = ( "vmr", "forwardflow", "--tmp", $tmpDir, @@ -130,9 +138,27 @@ if ($LASTEXITCODE -eq 0) { Highlight "Synchronization succeeded" } else { - Fail "Synchronization of repo to VMR failed!" - Fail "'$vmrDir' is left in its last state (re-run of this script will reset it)." - Fail "Please inspect the logs which contain path to the failing patch file (use -debugOutput to get all the details)." - Fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script." - exit 1 + Highlight "Failed to flow code into the local VMR. Falling back to resetting the VMR to match repo contents..." + git -C $vmrDir reset --hard + + $resetArgs = ( + "vmr", "reset", + "${repoName}:HEAD", + "--vmr", $vmrDir, + "--tmp", $tmpDir, + "--additional-remotes", "${repoName}:${repoRoot}" + ) + + & "$darc" $resetArgs + + if ($LASTEXITCODE -eq 0) { + Highlight "Successfully reset the VMR using 'darc vmr reset'" + } + else { + Fail "Synchronization of repo to VMR failed!" + Fail "'$vmrDir' is left in its last state (re-run of this script will reset it)." + Fail "Please inspect the logs which contain path to the failing patch file (use -debugOutput to get all the details)." + Fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script." + exit 1 + } } diff --git a/eng/common/vmr-sync.sh b/eng/common/vmr-sync.sh index 44239e331c..198caec59b 100644 --- a/eng/common/vmr-sync.sh +++ b/eng/common/vmr-sync.sh @@ -186,6 +186,13 @@ fi # Synchronize the VMR +version_details_path=$(cd "$scriptroot/.."; pwd -P)/Version.Details.xml +repo_name=$(grep -m 1 ' Date: Mon, 2 Mar 2026 05:01:46 +0000 Subject: [PATCH 2/3] Update dependencies from https://github.com/dotnet/dotnet build 20260301.4 On relative base path root Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore , Microsoft.AspNetCore.Identity.EntityFrameworkCore , Microsoft.AspNetCore.Identity.UI , Microsoft.EntityFrameworkCore , Microsoft.EntityFrameworkCore.Design , Microsoft.EntityFrameworkCore.SqlServer , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.Binder , Microsoft.Extensions.Configuration.CommandLine , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.Configuration.UserSecrets , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.FileProviders.Physical , Microsoft.Extensions.Identity.Stores , Microsoft.Extensions.Logging , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Options.ConfigurationExtensions , System.Text.Json From Version 11.0.0-preview.2.26108.103 -> To Version 11.0.0-preview.3.26151.104 Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.26108.103 -> To Version 11.0.0-beta.26151.104 --- eng/Version.Details.xml | 96 +++++++++++------------ eng/Versions.props | 46 +++++------ eng/common/native/install-dependencies.sh | 2 +- global.json | 6 +- 4 files changed, 75 insertions(+), 75 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 036c855acc..1966168e47 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,103 +1,103 @@ - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 - + https://github.com/dotnet/dotnet - 51587e2f3d5f86ca27184a6b5e8a778841d05b31 + a66d14e1fcfc6474837f9c951759d049c380bc59 diff --git a/eng/Versions.props b/eng/Versions.props index 569835e22d..b3d2c240a0 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,55 +11,55 @@ $(MicrosoftBuildPackageVersion) - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 11.0.0-preview.1.26067.103 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 3.0.0 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 - 11.0.0-preview.3.26121.104 + 11.0.0-preview.3.26151.104 0.5.638 0.47.0 5.0.0 diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh index abb47beacf..4742177a76 100644 --- a/eng/common/native/install-dependencies.sh +++ b/eng/common/native/install-dependencies.sh @@ -33,7 +33,7 @@ case "$os" in elif [ "$ID" = "amzn" ]; then dnf install -y cmake llvm lld lldb clang python libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build elif [ "$ID" = "alpine" ]; then - apk add build-base cmake bash curl clang llvm-dev lld lldb krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio ninja + apk add build-base cmake bash curl clang llvm llvm-dev lld lldb-dev krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio ninja else echo "Unsupported distro. distro: $ID" exit 1 diff --git a/global.json b/global.json index af84a0bd97..c73dad4f6f 100644 --- a/global.json +++ b/global.json @@ -1,14 +1,14 @@ { "sdk": { - "version": "11.0.100-preview.1.26078.121", + "version": "11.0.100-preview.1.26104.118", "allowPrerelease": true, "rollForward": "latestMajor" }, "tools": { - "dotnet": "11.0.100-preview.1.26078.121" + "dotnet": "11.0.100-preview.1.26104.118" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26121.104", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26151.104", "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.23607.2" } } From 5d309f3d444e651425a861e1c5399a65d3634b67 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 9 Mar 2026 05:01:50 +0000 Subject: [PATCH 3/3] Update dependencies from https://github.com/dotnet/dotnet build 20260307.3 On relative base path root Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore , Microsoft.AspNetCore.Identity.EntityFrameworkCore , Microsoft.AspNetCore.Identity.UI , Microsoft.EntityFrameworkCore , Microsoft.EntityFrameworkCore.Design , Microsoft.EntityFrameworkCore.SqlServer , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.Binder , Microsoft.Extensions.Configuration.CommandLine , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.Configuration.UserSecrets , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.FileProviders.Physical , Microsoft.Extensions.Identity.Stores , Microsoft.Extensions.Logging , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Options.ConfigurationExtensions , System.Text.Json From Version 11.0.0-preview.2.26108.103 -> To Version 11.0.0-preview.3.26157.103 Microsoft.DotNet.Arcade.Sdk From Version 11.0.0-beta.26108.103 -> To Version 11.0.0-beta.26157.103 --- eng/Version.Details.xml | 96 ++++++------- eng/Versions.props | 46 +++--- eng/common/core-templates/job/renovate.yml | 135 ++++++++++++++++++ .../job/source-index-stage1.yml | 4 +- .../core-templates/post-build/post-build.yml | 8 +- eng/common/core-templates/stages/renovate.yml | 86 +++++++++++ .../core-templates/steps/publish-logs.yml | 1 - eng/common/cross/build-rootfs.sh | 52 +++++++ eng/common/cross/toolchain.cmake | 15 +- eng/common/renovate.env | 39 +++++ global.json | 2 +- 11 files changed, 403 insertions(+), 81 deletions(-) create mode 100644 eng/common/core-templates/job/renovate.yml create mode 100644 eng/common/core-templates/stages/renovate.yml create mode 100644 eng/common/renovate.env diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1966168e47..58c2622605 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,103 +1,103 @@ - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 - + https://github.com/dotnet/dotnet - a66d14e1fcfc6474837f9c951759d049c380bc59 + ee56b9a0106c983775a0691bde4a4a988f4351d3 diff --git a/eng/Versions.props b/eng/Versions.props index b3d2c240a0..8103b64672 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,55 +11,55 @@ $(MicrosoftBuildPackageVersion) - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 11.0.0-preview.1.26067.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 3.0.0 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26151.104 + 11.0.0-preview.3.26157.103 0.5.638 0.47.0 5.0.0 diff --git a/eng/common/core-templates/job/renovate.yml b/eng/common/core-templates/job/renovate.yml new file mode 100644 index 0000000000..b662269d5d --- /dev/null +++ b/eng/common/core-templates/job/renovate.yml @@ -0,0 +1,135 @@ +# -------------------------------------------------------------------------------------- +# Renovate Bot Job Template +# -------------------------------------------------------------------------------------- +# This Azure DevOps pipeline job template runs Renovate (https://docs.renovatebot.com/) +# to automatically update dependencies in a GitHub repository. +# +# Renovate scans the repository for dependency files and creates pull requests to update +# outdated dependencies based on the configuration specified in the renovateConfigPath +# parameter. +# +# Usage: +# For each product repo wanting to make use of Renovate, this template is called from +# an internal Azure DevOps pipeline, typically with a schedule trigger, to check for +# and propose dependency updates. +# +# For more info, see https://github.com/dotnet/arcade/blob/main/Documentation/Renovate.md +# -------------------------------------------------------------------------------------- + +parameters: + +# Path to the Renovate configuration file within the repository. +- name: renovateConfigPath + type: string + default: 'eng/renovate.json' + +# GitHub repository to run Renovate against, in the format 'owner/repo'. +# This could technically be any repo but convention is to target the same +# repo that contains the calling pipeline. The Renovate config file would +# be co-located with the pipeline's repo and, in most cases, the config +# file is specific to the repo being targeted. +- name: gitHubRepo + type: string + +# List of base branches to target for Renovate PRs. +# NOTE: The Renovate configuration file is always read from the branch where the +# pipeline is run, NOT from the target branches specified here. If you need different +# configurations for different branches, run the pipeline from each branch separately. +- name: baseBranches + type: object + default: + - main + +# When true, Renovate will run in dry run mode, which previews changes without creating PRs. +# See the 'Run Renovate' step log output for details of what would have been changed. +- name: dryRun + type: boolean + default: false + +# By default, Renovate will not recreate a PR for a given dependency/version pair that was +# previously closed. This allows opting in to always recreating PRs even if they were +# previously closed. +- name: forceRecreatePR + type: boolean + default: false + +# Pool configuration for the job. +- name: pool + type: object + default: + name: NetCore1ESPool-Internal + image: build.azurelinux.3.amd64 + os: linux + +jobs: +- job: Renovate + displayName: Run Renovate + container: RenovateContainer + variables: + - group: dotnet-renovate-bot + # The Renovate version is automatically updated by https://github.com/dotnet/arcade/blob/main/azure-pipelines-renovate.yml. + # Changing the variable name here would require updating the name in https://github.com/dotnet/arcade/blob/main/eng/renovate.json as well. + - name: renovateVersion + value: '42' + - name: dryRunArg + ${{ if eq(parameters.dryRun, true) }}: + value: 'full' + ${{ else }}: + value: '' + - name: recreateWhenArg + ${{ if eq(parameters.forceRecreatePR, true) }}: + value: 'always' + ${{ else }}: + value: '' + pool: ${{ parameters.pool }} + + templateContext: + outputParentDirectory: $(Build.ArtifactStagingDirectory) + outputs: + - output: pipelineArtifact + displayName: Publish Renovate Log + condition: succeededOrFailed() + targetPath: $(Build.ArtifactStagingDirectory) + artifactName: $(Agent.JobName)_Logs_Attempt$(System.JobAttempt) + sbomEnabled: false + + steps: + - checkout: self + fetchDepth: 1 + + - script: renovate-config-validator $(Build.SourcesDirectory)/${{parameters.renovateConfigPath}} + displayName: Validate Renovate config + env: + LOG_LEVEL: info + LOG_FILE_LEVEL: debug + LOG_FILE: $(Build.ArtifactStagingDirectory)/renovate-config-validator.json + + - script: | + . $(Build.SourcesDirectory)/eng/common/renovate.env + renovate + displayName: Run Renovate + env: + RENOVATE_FORK_TOKEN: $(BotAccount-dotnet-renovate-bot-PAT) + RENOVATE_TOKEN: $(BotAccount-dotnet-renovate-bot-PAT) + RENOVATE_REPOSITORIES: ${{parameters.gitHubRepo}} + RENOVATE_BASE_BRANCHES: ${{ convertToJson(parameters.baseBranches) }} + RENOVATE_DRY_RUN: $(dryRunArg) + RENOVATE_RECREATE_WHEN: $(recreateWhenArg) + LOG_LEVEL: info + LOG_FILE_LEVEL: debug + LOG_FILE: $(Build.ArtifactStagingDirectory)/renovate.json + RENOVATE_CONFIG_FILE: $(Build.SourcesDirectory)/${{parameters.renovateConfigPath}} + + - script: | + echo "PRs created by Renovate:" + if [ -s "$(Build.ArtifactStagingDirectory)/renovate-log.json" ]; then + if ! jq -r 'select(.msg == "PR created" and .pr != null) | "https://github.com/\(.repository)/pull/\(.pr)"' "$(Build.ArtifactStagingDirectory)/renovate-log.json" | sort -u; then + echo "##vso[task.logissue type=warning]Failed to parse Renovate log file with jq." + echo "##vso[task.complete result=SucceededWithIssues]" + fi + else + echo "##vso[task.logissue type=warning]No Renovate log file found or file is empty." + echo "##vso[task.complete result=SucceededWithIssues]" + fi + displayName: List created PRs + condition: and(succeededOrFailed(), eq('${{ parameters.dryRun }}', false)) diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index 76baf5c272..cf02b82d4e 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -25,10 +25,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: windows.vs2026preview.scout.amd64.open + image: windows.vs2026.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: windows.vs2026preview.scout.amd64 + image: windows.vs2026.amd64 steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 3bed9cdb49..9438429ca3 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -127,11 +127,11 @@ stages: ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: windows.vs2026preview.scout.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2026preview.scout.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -175,7 +175,7 @@ stages: os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2026preview.scout.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -236,7 +236,7 @@ stages: os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2026preview.scout.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/core-templates/stages/renovate.yml b/eng/common/core-templates/stages/renovate.yml new file mode 100644 index 0000000000..383e397e5d --- /dev/null +++ b/eng/common/core-templates/stages/renovate.yml @@ -0,0 +1,86 @@ +# -------------------------------------------------------------------------------------- +# Renovate Pipeline Template +# -------------------------------------------------------------------------------------- +# This template provides a complete reusable pipeline definition for running Renovate +# in a 1ES Official pipeline. Pipelines can extend from this template and only need +# to pass the Renovate job parameters. +# +# For more info, see https://github.com/dotnet/arcade/blob/main/Documentation/Renovate.md +# -------------------------------------------------------------------------------------- + +parameters: + +# Path to the Renovate configuration file within the repository. +- name: renovateConfigPath + type: string + default: 'eng/renovate.json' + +# GitHub repository to run Renovate against, in the format 'owner/repo'. +- name: gitHubRepo + type: string + +# List of base branches to target for Renovate PRs. +- name: baseBranches + type: object + default: + - main + +# When true, Renovate will run in dry run mode. +- name: dryRun + type: boolean + default: false + +# When true, Renovate will recreate PRs even if they were previously closed. +- name: forceRecreatePR + type: boolean + default: false + +# Pool configuration for the pipeline. +- name: pool + type: object + default: + name: NetCore1ESPool-Internal + image: build.azurelinux.3.amd64 + os: linux + +# Renovate version used in the container image tag. +- name: renovateVersion + default: 43 + type: number + +# Pool configuration for SDL analysis. +- name: sdlPool + type: object + default: + name: NetCore1ESPool-Internal + image: 1es-windows-2022 + os: windows + +resources: + repositories: + - repository: 1ESPipelineTemplates + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release + +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates + parameters: + pool: ${{ parameters.pool }} + sdl: + sourceAnalysisPool: ${{ parameters.sdlPool }} + containers: + RenovateContainer: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-renovate-${{ parameters.renovateVersion }}-amd64 + stages: + - stage: Renovate + displayName: Run Renovate + jobs: + - template: /eng/common/core-templates/job/renovate.yml@self + parameters: + renovateConfigPath: ${{ parameters.renovateConfigPath }} + gitHubRepo: ${{ parameters.gitHubRepo }} + baseBranches: ${{ parameters.baseBranches }} + dryRun: ${{ parameters.dryRun }} + forceRecreatePR: ${{ parameters.forceRecreatePR }} + pool: ${{ parameters.pool }} diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 5a927b4c7b..a9ea99ba6a 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -31,7 +31,6 @@ steps: -runtimeSourceFeed https://ci.dot.net/internal -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' '$(publishing-dnceng-devdiv-code-r-build-re)' - '$(MaestroAccessToken)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' '$(microsoft-symbol-server-pat)' diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index ef97671fe6..205463aa51 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -9,6 +9,7 @@ usage() echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine" echo " for alpine can be specified with version: alpineX.YY or alpineedge" echo " for FreeBSD can be: freebsd13, freebsd14" + echo " for OpenBSD can be: openbsd" echo " for illumos can be: illumos" echo " for Haiku can be: haiku." echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD" @@ -27,6 +28,8 @@ __BuildArch=arm __AlpineArch=armv7 __FreeBSDArch=arm __FreeBSDMachineArch=armv7 +__OpenBSDArch=arm +__OpenBSDMachineArch=armv7 __IllumosArch=arm7 __HaikuArch=arm __QEMUArch=arm @@ -82,6 +85,12 @@ __FreeBSDPackages+=" openssl" __FreeBSDPackages+=" krb5" __FreeBSDPackages+=" terminfo-db" +__OpenBSDVersion="7.8" +__OpenBSDPackages+=" icu4c" +__OpenBSDPackages+=" inotify-tools" +__OpenBSDPackages+=" openssl" +__OpenBSDPackages+=" heimdal-libs" + __IllumosPackages="icu" __IllumosPackages+=" mit-krb5" __IllumosPackages+=" openssl" @@ -160,6 +169,8 @@ while :; do __QEMUArch=aarch64 __FreeBSDArch=arm64 __FreeBSDMachineArch=aarch64 + __OpenBSDArch=arm64 + __OpenBSDMachineArch=aarch64 ;; armel) __BuildArch=armel @@ -235,6 +246,8 @@ while :; do __UbuntuArch=amd64 __FreeBSDArch=amd64 __FreeBSDMachineArch=amd64 + __OpenBSDArch=amd64 + __OpenBSDMachineArch=amd64 __illumosArch=x86_64 __HaikuArch=x86_64 __UbuntuRepo="http://archive.ubuntu.com/ubuntu/" @@ -385,6 +398,10 @@ while :; do __FreeBSDABI="14" __SkipUnmount=1 ;; + openbsd) + __CodeName=openbsd + __SkipUnmount=1 + ;; illumos) __CodeName=illumos __SkipUnmount=1 @@ -593,6 +610,41 @@ elif [[ "$__CodeName" == "freebsd" ]]; then INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update # shellcheck disable=SC2086 INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages +elif [[ "$__CodeName" == "openbsd" ]]; then + # determine mirrors + OPENBSD_MIRROR="https://cdn.openbsd.org/pub/OpenBSD/$__OpenBSDVersion/$__OpenBSDMachineArch" + + # download base system sets + ensureDownloadTool + + BASE_SETS=(base comp) + for set in "${BASE_SETS[@]}"; do + FILE="${set}${__OpenBSDVersion//./}.tgz" + echo "Downloading $FILE..." + if [[ "$__hasWget" == 1 ]]; then + wget -O- "$OPENBSD_MIRROR/$FILE" | tar -C "$ROOTFS" -xzpf - + else + curl -SL "$OPENBSD_MIRROR/$FILE" | tar -C "$ROOTFS" -xzpf - + fi + done + + PKG_MIRROR="https://cdn.openbsd.org/pub/OpenBSD/${__OpenBSDVersion}/packages/${__OpenBSDMachineArch}" + + echo "Installing packages into sysroot..." + + for pkg in $__OpenBSDPackages; do + echo "Resolving package filename for $pkg..." + + if [[ "$__hasWget" == 1 ]]; then + PKG_FILE=$(wget -qO- "$PKG_MIRROR/" | grep -Eo "${pkg}-[0-9][^\" ]*\.tgz" | head -n1) + [[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; } + wget -O- "$PKG_MIRROR/$PKG_FILE" | tar -C "$ROOTFS" -xzpf - + else + PKG_FILE=$(curl -s "$PKG_MIRROR/" | grep -Eo "${pkg}-[0-9][^\" ]*\.tgz" | head -n1) + [[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; } + curl -SL "$PKG_MIRROR/$PKG_FILE" | tar -C "$ROOTFS" -xzpf - + fi + done elif [[ "$__CodeName" == "illumos" ]]; then mkdir "$__RootfsDir/tmp" pushd "$__RootfsDir/tmp" diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 0ff85cf036..ff2dfdb4a5 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -3,15 +3,22 @@ set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) # reset platform variables (e.g. cmake 3.25 sets LINUX=1) unset(LINUX) unset(FREEBSD) +unset(OPENBSD) unset(ILLUMOS) unset(ANDROID) unset(TIZEN) unset(HAIKU) set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH}) + +file(GLOB OPENBSD_PROBE "${CROSS_ROOTFS}/etc/signify/openbsd-*.pub") + if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version) set(CMAKE_SYSTEM_NAME FreeBSD) set(FREEBSD 1) +elseif(OPENBSD_PROBE) + set(CMAKE_SYSTEM_NAME OpenBSD) + set(OPENBSD 1) elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc) set(CMAKE_SYSTEM_NAME SunOS) set(ILLUMOS 1) @@ -53,6 +60,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64") endif() elseif(FREEBSD) set(triple "aarch64-unknown-freebsd12") + elseif(OPENBSD) + set(triple "aarch64-unknown-openbsd") endif() elseif(TARGET_ARCH_NAME STREQUAL "armel") set(CMAKE_SYSTEM_PROCESSOR armv7l) @@ -109,6 +118,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64") endif() elseif(FREEBSD) set(triple "x86_64-unknown-freebsd12") + elseif(OPENBSD) + set(triple "x86_64-unknown-openbsd") elseif(ILLUMOS) set(TOOLCHAIN "x86_64-illumos") elseif(HAIKU) @@ -193,7 +204,7 @@ if(ANDROID) # include official NDK toolchain script include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake) -elseif(FREEBSD) +elseif(FREEBSD OR OPENBSD) # we cross-compile by instructing clang set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER_TARGET ${triple}) @@ -291,7 +302,7 @@ endif() # Specify compile options -if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) +if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD AND NOT OPENBSD) OR ILLUMOS OR HAIKU) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) diff --git a/eng/common/renovate.env b/eng/common/renovate.env new file mode 100644 index 0000000000..9f79dbc6b5 --- /dev/null +++ b/eng/common/renovate.env @@ -0,0 +1,39 @@ +# Renovate Global Configuration +# https://docs.renovatebot.com/self-hosted-configuration/ +# +# NOTE: This file uses bash/shell format and is sourced via `. renovate.env`. +# Values containing spaces or special characters must be quoted. + +# Author to use for git commits made by Renovate +# https://docs.renovatebot.com/configuration-options/#gitauthor +export RENOVATE_GIT_AUTHOR='.NET Renovate ' + +# Disable rate limiting for PR creation (0 = unlimited) +# https://docs.renovatebot.com/presets-default/#prhourlylimitnone +# https://docs.renovatebot.com/presets-default/#prconcurrentlimitnone +export RENOVATE_PR_HOURLY_LIMIT=0 +export RENOVATE_PR_CONCURRENT_LIMIT=0 + +# Skip the onboarding PR that Renovate normally creates for new repos +# https://docs.renovatebot.com/config-overview/#onboarding +export RENOVATE_ONBOARDING=false + +# Any Renovate config file in the cloned repository is ignored. Only +# the Renovate config file from the repo where the pipeline is running +# is used (yes, those are the same repo but the sources may be different). +# https://docs.renovatebot.com/self-hosted-configuration/#requireconfig +export RENOVATE_REQUIRE_CONFIG=ignored + +# Customize the PR body content. This removes some of the default +# sections that aren't relevant in a self-hosted config. +# https://docs.renovatebot.com/configuration-options/#prheader +# https://docs.renovatebot.com/configuration-options/#prbodynotes +# https://docs.renovatebot.com/configuration-options/#prbodytemplate +export RENOVATE_PR_HEADER='## Automated Dependency Update' +export RENOVATE_PR_BODY_NOTES='["This PR has been created automatically by the [.NET Renovate Bot](https://github.com/dotnet/arcade/blob/main/Documentation/Renovate.md) to update one or more dependencies in your repo. Please review the changes and merge the PR if everything looks good."]' +export RENOVATE_PR_BODY_TEMPLATE='{{{header}}}{{{table}}}{{{warnings}}}{{{notes}}}{{{changelogs}}}' + +# Extend the global config with additional presets +# https://docs.renovatebot.com/self-hosted-configuration/#globalextends +# Disable the Dependency Dashboard issue that tracks all updates +export RENOVATE_GLOBAL_EXTENDS='[":disableDependencyDashboard"]' diff --git a/global.json b/global.json index c73dad4f6f..14dd79214a 100644 --- a/global.json +++ b/global.json @@ -8,7 +8,7 @@ "dotnet": "11.0.100-preview.1.26104.118" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26151.104", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26157.103", "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.23607.2" } }