Skip to content

Commit affb0f6

Browse files
dotnet-maestro[bot]radekdoulik
authored andcommitted
Update dependencies from https://github.com/dotnet/arcade build 20240620.6 (#584)
[dotnet/main-16.x] Update dependencies from dotnet/arcade
1 parent 0d720d0 commit affb0f6

File tree

6 files changed

+122
-91
lines changed

6 files changed

+122
-91
lines changed

eng/Version.Details.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@
88
</Dependency>
99
</ProductDependencies>
1010
<ToolsetDependencies>
11-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24314.1">
11+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24320.6">
1212
<Uri>https://github.com/dotnet/arcade</Uri>
13-
<Sha>92a725aa4d9d6c13dc5229597b51b0b165b8b535</Sha>
13+
<Sha>bfd4f951527e37d08f16f5cff09173943061601e</Sha>
1414
</Dependency>
1515
<!-- Intermediate is necessary for source build. -->
16-
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24314.1">
16+
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24320.6">
1717
<Uri>https://github.com/dotnet/arcade</Uri>
18-
<Sha>92a725aa4d9d6c13dc5229597b51b0b165b8b535</Sha>
18+
<Sha>bfd4f951527e37d08f16f5cff09173943061601e</Sha>
1919
<SourceBuild RepoName="arcade" ManagedOnly="true" />
2020
</Dependency>
21-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.24314.1">
21+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.24320.6">
2222
<Uri>https://github.com/dotnet/arcade</Uri>
23-
<Sha>92a725aa4d9d6c13dc5229597b51b0b165b8b535</Sha>
23+
<Sha>bfd4f951527e37d08f16f5cff09173943061601e</Sha>
2424
</Dependency>
25-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="9.0.0-beta.24314.1">
25+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="9.0.0-beta.24320.6">
2626
<Uri>https://github.com/dotnet/arcade</Uri>
27-
<Sha>92a725aa4d9d6c13dc5229597b51b0b165b8b535</Sha>
27+
<Sha>bfd4f951527e37d08f16f5cff09173943061601e</Sha>
2828
</Dependency>
2929
</ToolsetDependencies>
3030
</Dependencies>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
77
</PropertyGroup>
88
<PropertyGroup>
9-
<MicrosoftDotNetBuildTasksPackagingVersion>9.0.0-beta.24314.1</MicrosoftDotNetBuildTasksPackagingVersion>
9+
<MicrosoftDotNetBuildTasksPackagingVersion>9.0.0-beta.24320.6</MicrosoftDotNetBuildTasksPackagingVersion>
1010
</PropertyGroup>
1111
</Project>

eng/common/SetupNugetSources.ps1

Lines changed: 82 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
11
# This script adds internal feeds required to build commits that depend on internal package sources. For instance,
22
# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables
33
# disabled internal Maestro (darc-int*) feeds.
4-
#
5-
# Optionally, this script also adds a credential entry for each of the internal feeds if supplied. This credential
6-
# is added via the standard environment variable VSS_NUGET_EXTERNAL_FEED_ENDPOINTS. See
7-
# https://github.com/microsoft/artifacts-credprovider/tree/v1.1.1?tab=readme-ov-file#environment-variables for more details
4+
#
5+
# Optionally, this script also adds a credential entry for each of the internal feeds if supplied.
86
#
97
# See example call for this script below.
108
#
119
# - task: PowerShell@2
12-
# displayName: Setup Internal Feeds
10+
# displayName: Setup Private Feeds Credentials
1311
# condition: eq(variables['Agent.OS'], 'Windows_NT')
1412
# inputs:
1513
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
16-
# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config
17-
# - task: NuGetAuthenticate@1
18-
#
14+
# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
15+
# env:
16+
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
17+
#
1918
# Note that the NuGetAuthenticate task should be called after SetupNugetSources.
2019
# This ensures that:
2120
# - Appropriate creds are set for the added internal feeds (if not supplied to the scrupt)
22-
# - The credential provider is installed
21+
# - The credential provider is installed.
2322
#
2423
# This logic is also abstracted into enable-internal-sources.yml.
2524

2625
[CmdletBinding()]
2726
param (
2827
[Parameter(Mandatory = $true)][string]$ConfigFile,
29-
[string]$Password
28+
$Password
3029
)
3130

3231
$ErrorActionPreference = "Stop"
@@ -35,23 +34,12 @@ Set-StrictMode -Version 2.0
3534

3635
. $PSScriptRoot\tools.ps1
3736

38-
$feedEndpoints = $null
39-
40-
# If a credential is provided, ensure that we don't overwrite the current set of
41-
# credentials that may have been provided by a previous call to the credential provider.
42-
if ($Password -and $null -ne $env:VSS_NUGET_EXTERNAL_FEED_ENDPOINTS) {
43-
$feedEndpoints = $env:VSS_NUGET_EXTERNAL_FEED_ENDPOINTS | ConvertFrom-Json
44-
} elseif ($Password) {
45-
$feedEndpoints = @{ endpointCredentials = @() }
46-
}
47-
4837
# Add source entry to PackageSources
49-
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $pwd) {
38+
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) {
5039
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
5140

52-
if ($null -eq $packageSource)
41+
if ($packageSource -eq $null)
5342
{
54-
Write-Host "`tAdding package source" $SourceName
5543
$packageSource = $doc.CreateElement("add")
5644
$packageSource.SetAttribute("key", $SourceName)
5745
$packageSource.SetAttribute("value", $SourceEndPoint)
@@ -61,33 +49,63 @@ function AddPackageSource($sources, $SourceName, $SourceEndPoint, $pwd) {
6149
Write-Host "Package source $SourceName already present."
6250
}
6351

64-
if ($pwd) {
65-
$feedEndpoints.endpointCredentials = AddCredential -endpointCredentials $feedEndpoints.endpointCredentials -source $SourceEndPoint -pwd $pwd
66-
}
52+
AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd
6753
}
6854

69-
# Add a new feed endpoint credential
70-
function AddCredential([array]$endpointCredentials, $source, $pwd) {
71-
$endpointCredentials += @{
72-
endpoint = $source;
73-
password = $pwd
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;
7460
}
75-
return $endpointCredentials
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)
7692
}
7793

78-
function InsertMaestroInternalFeedCredentials($Sources, $pwd) {
79-
$maestroInternalSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
94+
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) {
95+
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
8096

81-
ForEach ($PackageSource in $maestroInternalSources) {
82-
Write-Host "`tAdding credential for Maestro's feed:" $PackageSource.Key
83-
$feedEndpoints.endpointCredentials = AddCredential -endpointCredentials $feedEndpoints.endpointCredentials -source $PackageSource.value -pwd $pwd
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
84102
}
85103
}
86104

87-
function EnableInternalPackageSources($DisabledPackageSources) {
88-
$maestroInternalSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
89-
ForEach ($DisabledPackageSource in $maestroInternalSources) {
90-
Write-Host "`tEnsuring internal source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource"
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"
91109
# Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries
92110
$DisabledPackageSources.RemoveChild($DisabledPackageSource)
93111
}
@@ -105,46 +123,49 @@ $doc.Load($filename)
105123

106124
# Get reference to <PackageSources> or create one if none exist already
107125
$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
108-
if ($null -eq $sources) {
126+
if ($sources -eq $null) {
109127
$sources = $doc.CreateElement("packageSources")
110128
$doc.DocumentElement.AppendChild($sources) | Out-Null
111129
}
112130

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+
113141
# Check for disabledPackageSources; we'll enable any darc-int ones we find there
114142
$disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources")
115-
if ($null -ne $disabledSources) {
143+
if ($disabledSources -ne $null) {
116144
Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node"
117-
EnableInternalPackageSources -DisabledPackageSources $disabledSources
145+
EnablePrivatePackageSources -DisabledPackageSources $disabledSources
118146
}
119147

120-
if ($Password) {
121-
InsertMaestroInternalFeedCredentials -Sources $sources -pwd $Password
122-
}
148+
$userName = "dn-bot"
149+
150+
# Insert credential nodes for Maestro's private feeds
151+
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password
123152

124153
# 3.1 uses a different feed url format so it's handled differently here
125154
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
126-
if ($null -ne $dotnet31Source) {
127-
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v3/index.json" -pwd $Password
128-
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v3/index.json" -pwd $Password
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
129158
}
130159

131160
$dotnetVersions = @('5','6','7','8')
132161

133162
foreach ($dotnetVersion in $dotnetVersions) {
134163
$feedPrefix = "dotnet" + $dotnetVersion;
135164
$dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
136-
if ($dotnetSource) {
137-
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedprefix-internal/nuget/v3/index.json" -pwd $Password
138-
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v3/index.json" -pwd $Password
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
139168
}
140169
}
141170

142171
$doc.Save($filename)
143-
144-
# If any credentials were added or altered, update the VSS_NUGET_EXTERNAL_FEED_ENDPOINTS environment variable
145-
if ($null -ne $feedEndpoints) {
146-
# ci is set to true so vso logging commands will be used.
147-
$ci = $true
148-
Write-PipelineSetVariable -Name 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' -Value $($feedEndpoints | ConvertTo-Json) -IsMultiJobVariable $false
149-
Write-PipelineSetVariable -Name 'NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED' -Value "False" -IsMultiJobVariable $false
150-
}

eng/common/SetupNugetSources.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22

3-
# This script adds internal feeds required to build commits that depend on intenral package sources. For instance,
3+
# This script adds internal feeds required to build commits that depend on internal package sources. For instance,
44
# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables
55
# disabled internal Maestro (darc-int*) feeds.
66
#

eng/common/core-templates/steps/enable-internal-sources.yml

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,40 @@ parameters:
66
- name: is1ESPipeline
77
type: boolean
88
default: false
9+
# Legacy parameters to allow for PAT usage
10+
- name: legacyCredential
11+
type: string
12+
default: ''
913

1014
steps:
1115
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
12-
# If running on dnceng (internal project), just use the default behavior for NuGetAuthenticate.
13-
# If running on DevDiv, NuGetAuthenticate is not really an option. It's scoped to a single feed, and we have many feeds that
14-
# may be added. Instead, we'll use the traditional approach (add cred to nuget.config), but use an account token.
15-
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
16+
- ${{ if ne(parameters.legacyCredential, '') }}:
1617
- task: PowerShell@2
1718
displayName: Setup Internal Feeds
1819
inputs:
1920
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
2021
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config
21-
- task: NuGetAuthenticate@1
22+
# If running on dnceng (internal project), just use the default behavior for NuGetAuthenticate.
23+
# If running on DevDiv, NuGetAuthenticate is not really an option. It's scoped to a single feed, and we have many feeds that
24+
# may be added. Instead, we'll use the traditional approach (add cred to nuget.config), but use an account token.
2225
- ${{ else }}:
23-
- template: /eng/common/templates/steps/get-federated-access-token.yml
24-
parameters:
25-
federatedServiceConnection: ${{ parameters.nugetFederatedServiceConnection }}
26-
outputVariableName: 'dnceng-artifacts-feeds-read-access-token'
27-
- task: PowerShell@2
28-
displayName: Setup Internal Feeds
29-
inputs:
30-
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
31-
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $(dnceng-artifacts-feeds-read-access-token)
32-
# This is required in certain scenarios to install the ADO credential provider.
33-
# It installed by default in some msbuild invocations (e.g. VS msbuild), but needs to be installed for others
34-
# (e.g. dotnet msbuild).
35-
- task: NuGetAuthenticate@1
26+
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
27+
- task: PowerShell@2
28+
displayName: Setup Internal Feeds
29+
inputs:
30+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
31+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config
32+
- ${{ else }}:
33+
- template: /eng/common/templates/steps/get-federated-access-token.yml
34+
parameters:
35+
federatedServiceConnection: ${{ parameters.nugetFederatedServiceConnection }}
36+
outputVariableName: 'dnceng-artifacts-feeds-read-access-token'
37+
- task: PowerShell@2
38+
displayName: Setup Internal Feeds
39+
inputs:
40+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
41+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $(dnceng-artifacts-feeds-read-access-token)
42+
# This is required in certain scenarios to install the ADO credential provider.
43+
# It installed by default in some msbuild invocations (e.g. VS msbuild), but needs to be installed for others
44+
# (e.g. dotnet msbuild).
45+
- task: NuGetAuthenticate@1

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"dotnet": "9.0.100-preview.5.24307.3"
44
},
55
"msbuild-sdks": {
6-
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24314.1",
7-
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24314.1",
6+
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24320.6",
7+
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24320.6",
88
"Microsoft.Build.Traversal": "3.4.0"
99
}
1010
}

0 commit comments

Comments
 (0)