Skip to content

Commit 477f386

Browse files
author
Jason Zhai
committed
Merge branch 'release/9.0.1xx' of https://github.com/dotnet/sdk into internal-merge-9.0.1xx-2025-05-13-1501
2 parents 6e8e942 + 63dab0d commit 477f386

File tree

121 files changed

+6552
-50
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+6552
-50
lines changed

eng/Version.Details.xml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -589,34 +589,34 @@
589589
</Dependency>
590590
</ProductDependencies>
591591
<ToolsetDependencies>
592-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25255.5">
592+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25263.2">
593593
<Uri>https://github.com/dotnet/arcade</Uri>
594-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
594+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
595595
</Dependency>
596-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.25255.5">
596+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.25263.2">
597597
<Uri>https://github.com/dotnet/arcade</Uri>
598-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
598+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
599599
</Dependency>
600-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25255.5">
600+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25263.2">
601601
<Uri>https://github.com/dotnet/arcade</Uri>
602-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
602+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
603603
</Dependency>
604-
<Dependency Name="Microsoft.DotNet.SignTool" Version="9.0.0-beta.25255.5">
604+
<Dependency Name="Microsoft.DotNet.SignTool" Version="9.0.0-beta.25263.2">
605605
<Uri>https://github.com/dotnet/arcade</Uri>
606-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
606+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
607607
</Dependency>
608-
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="9.0.0-beta.25255.5">
608+
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="9.0.0-beta.25263.2">
609609
<Uri>https://github.com/dotnet/arcade</Uri>
610-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
610+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
611611
</Dependency>
612-
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.25255.5">
612+
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.25263.2">
613613
<Uri>https://github.com/dotnet/arcade</Uri>
614-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
614+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
615615
</Dependency>
616616
<!-- Intermediate is necessary for source build. -->
617-
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25255.5">
617+
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25263.2">
618618
<Uri>https://github.com/dotnet/arcade</Uri>
619-
<Sha>1cfa39f82d00b3659a3d367bc344241946e10681</Sha>
619+
<Sha>ac63dcf2791c32bf2102fd2b5ebb46479bd48a83</Sha>
620620
<SourceBuild RepoName="arcade" ManagedOnly="true" />
621621
</Dependency>
622622
<Dependency Name="System.Reflection.MetadataLoadContext" Version="9.0.5">
@@ -631,14 +631,14 @@
631631
<Uri>https://github.com/dotnet/arcade-services</Uri>
632632
<Sha>47e3672c762970073e4282bd563233da86bcca3e</Sha>
633633
</Dependency>
634-
<Dependency Name="Microsoft.DotNet.ScenarioTests.SdkTemplateTests" Version="9.0.0-preview.25257.1">
634+
<Dependency Name="Microsoft.DotNet.ScenarioTests.SdkTemplateTests" Version="9.0.0-preview.25264.1">
635635
<Uri>https://github.com/dotnet/scenario-tests</Uri>
636-
<Sha>db1f9548f1e32819b3d546faf1ba7d3fa6880ae7</Sha>
636+
<Sha>45b878678cfbde6c460450ed1699de75a20d6e87</Sha>
637637
</Dependency>
638638
<!-- Intermediate is necessary for source build. -->
639-
<Dependency Name="Microsoft.SourceBuild.Intermediate.scenario-tests" Version="9.0.0-preview.25257.1">
639+
<Dependency Name="Microsoft.SourceBuild.Intermediate.scenario-tests" Version="9.0.0-preview.25264.1">
640640
<Uri>https://github.com/dotnet/scenario-tests</Uri>
641-
<Sha>db1f9548f1e32819b3d546faf1ba7d3fa6880ae7</Sha>
641+
<Sha>45b878678cfbde6c460450ed1699de75a20d6e87</Sha>
642642
<SourceBuild RepoName="scenario-tests" ManagedOnly="true" />
643643
</Dependency>
644644
<!--

eng/Versions.props

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@
261261
<PropertyGroup Label="Infrastructure and test only dependencies">
262262
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
263263
<DotnetDebToolVersion>2.0.0</DotnetDebToolVersion>
264-
<MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>9.0.0-preview.25257.1</MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>
264+
<MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>9.0.0-preview.25264.1</MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>
265265
</PropertyGroup>
266266
<PropertyGroup Label="Manually updated">
267267
<!-- Dependencies from https://github.com/microsoft/MSBuildLocator -->
@@ -270,10 +270,10 @@
270270
</PropertyGroup>
271271
<PropertyGroup>
272272
<!-- Dependencies from https://github.com/dotnet/arcade -->
273-
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.25255.5</MicrosoftDotNetBuildTasksInstallersPackageVersion>
274-
<MicrosoftDotNetSignToolVersion>9.0.0-beta.25255.5</MicrosoftDotNetSignToolVersion>
275-
<MicrosoftDotNetXliffTasksVersion>9.0.0-beta.25255.5</MicrosoftDotNetXliffTasksVersion>
276-
<MicrosoftDotNetXUnitExtensionsVersion>9.0.0-beta.25255.5</MicrosoftDotNetXUnitExtensionsVersion>
273+
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.25263.2</MicrosoftDotNetBuildTasksInstallersPackageVersion>
274+
<MicrosoftDotNetSignToolVersion>9.0.0-beta.25263.2</MicrosoftDotNetSignToolVersion>
275+
<MicrosoftDotNetXliffTasksVersion>9.0.0-beta.25263.2</MicrosoftDotNetXliffTasksVersion>
276+
<MicrosoftDotNetXUnitExtensionsVersion>9.0.0-beta.25263.2</MicrosoftDotNetXUnitExtensionsVersion>
277277
</PropertyGroup>
278278
<PropertyGroup>
279279
<!-- Dependencies from https://github.com/dotnet/sourcelink -->

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
"cmake": "latest"
1818
},
1919
"msbuild-sdks": {
20-
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25255.5",
21-
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25255.5",
20+
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25263.2",
21+
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25263.2",
2222
"Microsoft.Build.NoTargets": "3.7.0",
2323
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24217.1"
2424
}

src/SourceBuild/content/eng/pipelines/ci.yml renamed to src/SourceBuild/content/eng/pipelines/sb-ci.yml

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,15 @@
11
# This yml is used by these pipelines and triggers:
2-
# NOTE: the triggers are defined in the Azure DevOps UI as they are too complex
3-
#
4-
# - dotnet-source-build (public)
5-
# https://dev.azure.com/dnceng-public/public/_build?definitionId=240
6-
# - PR: ultralite build
7-
# - CI: release/*, every batched commit, full build
8-
# - Schedule: main only, full build
9-
#
10-
# - dotnet-unified-build (public)
11-
# https://dev.azure.com/dnceng-public/public/_build?definitionId=278
12-
# - PR: lite build
13-
# - CI: release/* only, every batched commit, full build
14-
# - Schedule: main only, full build
152
#
163
# - dotnet-source-build (internal)
174
# https://dev.azure.com/dnceng/internal/_build?definitionId=1219
18-
# - PR: ultralite build
195
# - CI: release/* and internal/release/* only, every batched commit, full build
20-
# - Schedule: main only, full build
21-
#
22-
# - dotnet-source-build-lite (internal)
23-
# https://dev.azure.com/dnceng/internal/_build?definitionId=1299
24-
# - PR: release/* and main only, lite build, on-demand trigger
25-
# - CI: main only, every batched commit, lite build
26-
#
27-
# - dotnet-unified-build (internal)
28-
# https://dev.azure.com/dnceng/internal/_build?definitionId=1330
29-
# - PR: lite build
30-
# - CI: release/*, internal/release/* and main only, every batched commit, full build
6+
7+
trigger:
8+
batch: true
9+
branches:
10+
include:
11+
- release/9.0.1xx
12+
- internal/release/9.0.1xx
3113

3214
variables:
3315
# enable source-only build for pipelines that contain the -source-build string
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"RetryCountLimit": 1,
3+
"RetryByAnyError": false
4+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
@{
2+
IncludeRules=@('PSAvoidUsingCmdletAliases',
3+
'PSAvoidUsingWMICmdlet',
4+
'PSAvoidUsingPositionalParameters',
5+
'PSAvoidUsingInvokeExpression',
6+
'PSUseDeclaredVarsMoreThanAssignments',
7+
'PSUseCmdletCorrectly',
8+
'PSStandardDSCFunctionsInResource',
9+
'PSUseIdenticalMandatoryParametersForDSC',
10+
'PSUseIdenticalParametersForDSC')
11+
}

src/arcade/eng/common/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Don't touch this folder
2+
3+
uuuuuuuuuuuuuuuuuuuu
4+
u" uuuuuuuuuuuuuuuuuu "u
5+
u" u$$$$$$$$$$$$$$$$$$$$u "u
6+
u" u$$$$$$$$$$$$$$$$$$$$$$$$u "u
7+
u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
8+
u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
9+
u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
10+
$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
11+
$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
12+
$ $$$" ... "$... ...$" ... "$$$ ... "$$$ $
13+
$ $$$u `"$$$$$$$ $$$ $$$$$ $$ $$$ $$$ $
14+
$ $$$$$$uu "$$$$ $$$ $$$$$ $$ """ u$$$ $
15+
$ $$$""$$$ $$$$ $$$u "$$$" u$$ $$$$$$$$ $
16+
$ $$$$....,$$$$$..$$$$$....,$$$$..$$$$$$$$ $
17+
$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
18+
"u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
19+
"u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
20+
"u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
21+
"u "$$$$$$$$$$$$$$$$$$$$$$$$" u"
22+
"u "$$$$$$$$$$$$$$$$$$$$" u"
23+
"u """""""""""""""""" u"
24+
""""""""""""""""""""
25+
26+
!!! Changes made in this directory are subject to being overwritten by automation !!!
27+
28+
The files in this directory are shared by all Arcade repos and managed by automation. If you need to make changes to these files, open an issue or submit a pull request to https://github.com/dotnet/arcade first.
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# This script adds internal feeds required to build commits that depend on internal package sources. For instance,
2+
# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables
3+
# disabled internal Maestro (darc-int*) feeds.
4+
#
5+
# Optionally, this script also adds a credential entry for each of the internal feeds if supplied.
6+
#
7+
# See example call for this script below.
8+
#
9+
# - task: PowerShell@2
10+
# displayName: Setup Private Feeds Credentials
11+
# condition: eq(variables['Agent.OS'], 'Windows_NT')
12+
# inputs:
13+
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
14+
# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
15+
# env:
16+
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
17+
#
18+
# Note that the NuGetAuthenticate task should be called after SetupNugetSources.
19+
# This ensures that:
20+
# - Appropriate creds are set for the added internal feeds (if not supplied to the scrupt)
21+
# - The credential provider is installed.
22+
#
23+
# This logic is also abstracted into enable-internal-sources.yml.
24+
25+
[CmdletBinding()]
26+
param (
27+
[Parameter(Mandatory = $true)][string]$ConfigFile,
28+
$Password
29+
)
30+
31+
$ErrorActionPreference = "Stop"
32+
Set-StrictMode -Version 2.0
33+
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
34+
35+
. $PSScriptRoot\tools.ps1
36+
37+
# Add source entry to PackageSources
38+
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) {
39+
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
40+
41+
if ($packageSource -eq $null)
42+
{
43+
$packageSource = $doc.CreateElement("add")
44+
$packageSource.SetAttribute("key", $SourceName)
45+
$packageSource.SetAttribute("value", $SourceEndPoint)
46+
$sources.AppendChild($packageSource) | Out-Null
47+
}
48+
else {
49+
Write-Host "Package source $SourceName already present."
50+
}
51+
52+
AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd
53+
}
54+
55+
# Add a credential node for the specified source
56+
function AddCredential($creds, $source, $username, $pwd) {
57+
# If no cred supplied, don't do anything.
58+
if (!$pwd) {
59+
return;
60+
}
61+
62+
# Looks for credential configuration for the given SourceName. Create it if none is found.
63+
$sourceElement = $creds.SelectSingleNode($Source)
64+
if ($sourceElement -eq $null)
65+
{
66+
$sourceElement = $doc.CreateElement($Source)
67+
$creds.AppendChild($sourceElement) | Out-Null
68+
}
69+
70+
# Add the <Username> node to the credential if none is found.
71+
$usernameElement = $sourceElement.SelectSingleNode("add[@key='Username']")
72+
if ($usernameElement -eq $null)
73+
{
74+
$usernameElement = $doc.CreateElement("add")
75+
$usernameElement.SetAttribute("key", "Username")
76+
$sourceElement.AppendChild($usernameElement) | Out-Null
77+
}
78+
$usernameElement.SetAttribute("value", $Username)
79+
80+
# Add the <ClearTextPassword> to the credential if none is found.
81+
# Add it as a clear text because there is no support for encrypted ones in non-windows .Net SDKs.
82+
# -> https://github.com/NuGet/Home/issues/5526
83+
$passwordElement = $sourceElement.SelectSingleNode("add[@key='ClearTextPassword']")
84+
if ($passwordElement -eq $null)
85+
{
86+
$passwordElement = $doc.CreateElement("add")
87+
$passwordElement.SetAttribute("key", "ClearTextPassword")
88+
$sourceElement.AppendChild($passwordElement) | Out-Null
89+
}
90+
91+
$passwordElement.SetAttribute("value", $pwd)
92+
}
93+
94+
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) {
95+
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
96+
97+
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
98+
99+
ForEach ($PackageSource in $maestroPrivateSources) {
100+
Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key
101+
AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd
102+
}
103+
}
104+
105+
function EnablePrivatePackageSources($DisabledPackageSources) {
106+
$maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
107+
ForEach ($DisabledPackageSource in $maestroPrivateSources) {
108+
Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource"
109+
# Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries
110+
$DisabledPackageSources.RemoveChild($DisabledPackageSource)
111+
}
112+
}
113+
114+
if (!(Test-Path $ConfigFile -PathType Leaf)) {
115+
Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. Couldn't find the NuGet config file: $ConfigFile"
116+
ExitWithExitCode 1
117+
}
118+
119+
# Load NuGet.config
120+
$doc = New-Object System.Xml.XmlDocument
121+
$filename = (Get-Item $ConfigFile).FullName
122+
$doc.Load($filename)
123+
124+
# Get reference to <PackageSources> or create one if none exist already
125+
$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
126+
if ($sources -eq $null) {
127+
$sources = $doc.CreateElement("packageSources")
128+
$doc.DocumentElement.AppendChild($sources) | Out-Null
129+
}
130+
131+
$creds = $null
132+
if ($Password) {
133+
# Looks for a <PackageSourceCredentials> node. Create it if none is found.
134+
$creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials")
135+
if ($creds -eq $null) {
136+
$creds = $doc.CreateElement("packageSourceCredentials")
137+
$doc.DocumentElement.AppendChild($creds) | Out-Null
138+
}
139+
}
140+
141+
# Check for disabledPackageSources; we'll enable any darc-int ones we find there
142+
$disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources")
143+
if ($disabledSources -ne $null) {
144+
Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node"
145+
EnablePrivatePackageSources -DisabledPackageSources $disabledSources
146+
}
147+
148+
$userName = "dn-bot"
149+
150+
# Insert credential nodes for Maestro's private feeds
151+
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password
152+
153+
# 3.1 uses a different feed url format so it's handled differently here
154+
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
155+
if ($dotnet31Source -ne $null) {
156+
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password
157+
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password
158+
}
159+
160+
$dotnetVersions = @('5','6','7','8','9')
161+
162+
foreach ($dotnetVersion in $dotnetVersions) {
163+
$feedPrefix = "dotnet" + $dotnetVersion;
164+
$dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
165+
if ($dotnetSource -ne $null) {
166+
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password
167+
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password
168+
}
169+
}
170+
171+
$doc.Save($filename)

0 commit comments

Comments
 (0)