Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 259ce7d

Browse files
dotnet-maestro[bot]mmitchehoyosjs
authored
[release/3.0] Update dependencies from dotnet/arcade (#26889)
* Update dependencies from https://github.com/dotnet/arcade build 20190924.3 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19474.3 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19474.3 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19474.3 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19474.3 * Update NuGet.config * Update runtime versions * Update dependencies from https://github.com/dotnet/arcade build 20191119.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19569.2 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19569.2 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19569.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19569.2 * Update dependencies from https://github.com/dotnet/arcade build 20191122.3 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19572.3 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19572.3 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19572.3 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19572.3 * Update dependencies from https://github.com/dotnet/arcade build 20191127.5 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19577.5 - Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19577.5 - Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19577.5 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19577.5 * Add coreclr static feed to NuGet.config Co-authored-by: Matt Mitchell <[email protected]> Co-authored-by: Juan Hoyos <[email protected]>
1 parent 91946c7 commit 259ce7d

21 files changed

+611
-786
lines changed

Diff for: NuGet.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<clear />
1212
<add key="dotnet-coreclr" value="https://dotnetfeed.blob.core.windows.net/dotnet-coreclr/index.json" />
1313
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
14-
<add key="myget.org dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
14+
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
1515
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
1616
</packageSources>
1717
<disabledPackageSources>

Diff for: eng/Version.Details.xml

+8-8
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
<ProductDependencies>
33
</ProductDependencies>
44
<ToolsetDependencies>
5-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19461.7">
5+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19577.5">
66
<Uri>https://github.com/dotnet/arcade</Uri>
7-
<Sha>8eb29ba860a3cfcfe68f9a8256caa7efc1f1aaba</Sha>
7+
<Sha>99c6b59a8afff97fe891341b39abe985f1d3c565</Sha>
88
</Dependency>
9-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19461.7">
9+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19577.5">
1010
<Uri>https://github.com/dotnet/arcade</Uri>
11-
<Sha>8eb29ba860a3cfcfe68f9a8256caa7efc1f1aaba</Sha>
11+
<Sha>99c6b59a8afff97fe891341b39abe985f1d3c565</Sha>
1212
</Dependency>
13-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="2.2.0-beta.19461.7">
13+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="2.2.0-beta.19577.5">
1414
<Uri>https://github.com/dotnet/arcade</Uri>
15-
<Sha>8eb29ba860a3cfcfe68f9a8256caa7efc1f1aaba</Sha>
15+
<Sha>99c6b59a8afff97fe891341b39abe985f1d3c565</Sha>
1616
</Dependency>
17-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="1.0.0-beta.19461.7">
17+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="1.0.0-beta.19577.5">
1818
<Uri>https://github.com/dotnet/arcade</Uri>
19-
<Sha>8eb29ba860a3cfcfe68f9a8256caa7efc1f1aaba</Sha>
19+
<Sha>99c6b59a8afff97fe891341b39abe985f1d3c565</Sha>
2020
</Dependency>
2121
<Dependency Name="Microsoft.Private.CoreFx.NETCoreApp" Version="4.6.0-rc2.19461.13">
2222
<Uri>https://github.com/dotnet/corefx</Uri>

Diff for: eng/Versions.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<UsingToolXliff>false</UsingToolXliff>
1616
<!-- Package versions -->
1717
<!-- arcade -->
18-
<MicrosoftDotNetBuildTasksFeedVersion>2.2.0-beta.19461.7</MicrosoftDotNetBuildTasksFeedVersion>
19-
<MicrosoftDotNetBuildTasksPackagingVersion>1.0.0-beta.19461.7</MicrosoftDotNetBuildTasksPackagingVersion>
18+
<MicrosoftDotNetBuildTasksFeedVersion>2.2.0-beta.19577.5</MicrosoftDotNetBuildTasksFeedVersion>
19+
<MicrosoftDotNetBuildTasksPackagingVersion>1.0.0-beta.19577.5</MicrosoftDotNetBuildTasksPackagingVersion>
2020
<MicrosoftDotNetHelixSdkVersion>2.0.0-beta.19461.7</MicrosoftDotNetHelixSdkVersion>
2121
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.19278.1</MicrosoftDotNetXUnitConsoleRunnerVersion>
2222
<!-- roslyn -->

Diff for: eng/common/SetupNugetSources.ps1

+127
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds.
2+
# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080
3+
#
4+
# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry
5+
# under <packageSourceCredentials> for each Maestro managed private feed. Two additional credential
6+
# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport.
7+
#
8+
# This script needs to be called in every job that will restore packages and which the base repo has
9+
# private AzDO feeds in the NuGet.config.
10+
#
11+
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
12+
# from the AzureDevOps-Artifact-Feeds-Pats variable group.
13+
#
14+
# - task: PowerShell@2
15+
# displayName: Setup Private Feeds Credentials
16+
# condition: eq(variables['Agent.OS'], 'Windows_NT')
17+
# inputs:
18+
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
19+
# arguments: -ConfigFile ${Env:BUILD_SOURCESDIRECTORY}/NuGet.config -Password $Env:Token
20+
# env:
21+
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
22+
23+
[CmdletBinding()]
24+
param (
25+
[Parameter(Mandatory = $true)][string]$ConfigFile,
26+
[Parameter(Mandatory = $true)][string]$Password
27+
)
28+
29+
$ErrorActionPreference = "Stop"
30+
Set-StrictMode -Version 2.0
31+
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
32+
33+
. $PSScriptRoot\tools.ps1
34+
35+
# Add source entry to PackageSources
36+
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $Password) {
37+
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
38+
39+
if ($packageSource -eq $null)
40+
{
41+
$packageSource = $doc.CreateElement("add")
42+
$packageSource.SetAttribute("key", $SourceName)
43+
$packageSource.SetAttribute("value", $SourceEndPoint)
44+
$sources.AppendChild($packageSource) | Out-Null
45+
}
46+
else {
47+
Write-Host "Package source $SourceName already present."
48+
}
49+
50+
AddCredential -Creds $creds -Source $SourceName -Username $Username -Password $Password
51+
}
52+
53+
# Add a credential node for the specified source
54+
function AddCredential($creds, $source, $username, $password) {
55+
# Looks for credential configuration for the given SourceName. Create it if none is found.
56+
$sourceElement = $creds.SelectSingleNode($Source)
57+
if ($sourceElement -eq $null)
58+
{
59+
$sourceElement = $doc.CreateElement($Source)
60+
$creds.AppendChild($sourceElement) | Out-Null
61+
}
62+
63+
# Add the <Username> node to the credential if none is found.
64+
$usernameElement = $sourceElement.SelectSingleNode("add[@key='Username']")
65+
if ($usernameElement -eq $null)
66+
{
67+
$usernameElement = $doc.CreateElement("add")
68+
$usernameElement.SetAttribute("key", "Username")
69+
$sourceElement.AppendChild($usernameElement) | Out-Null
70+
}
71+
$usernameElement.SetAttribute("value", $Username)
72+
73+
# Add the <ClearTextPassword> to the credential if none is found.
74+
# Add it as a clear text because there is no support for encrypted ones in non-windows .Net SDKs.
75+
# -> https://github.com/NuGet/Home/issues/5526
76+
$passwordElement = $sourceElement.SelectSingleNode("add[@key='ClearTextPassword']")
77+
if ($passwordElement -eq $null)
78+
{
79+
$passwordElement = $doc.CreateElement("add")
80+
$passwordElement.SetAttribute("key", "ClearTextPassword")
81+
$sourceElement.AppendChild($passwordElement) | Out-Null
82+
}
83+
$passwordElement.SetAttribute("value", $Password)
84+
}
85+
86+
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Password) {
87+
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
88+
89+
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
90+
91+
ForEach ($PackageSource in $maestroPrivateSources) {
92+
Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key
93+
AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -Password $Password
94+
}
95+
}
96+
97+
if (!(Test-Path $ConfigFile -PathType Leaf)) {
98+
Write-Host "Couldn't find the file NuGet config file: $ConfigFile"
99+
ExitWithExitCode 1
100+
}
101+
102+
# Load NuGet.config
103+
$doc = New-Object System.Xml.XmlDocument
104+
$filename = (Get-Item $ConfigFile).FullName
105+
$doc.Load($filename)
106+
107+
# Get reference to <PackageSources> or create one if none exist already
108+
$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
109+
if ($sources -eq $null) {
110+
$sources = $doc.CreateElement("packageSources")
111+
$doc.DocumentElement.AppendChild($sources) | Out-Null
112+
}
113+
114+
# Looks for a <PackageSourceCredentials> node. Create it if none is found.
115+
$creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials")
116+
if ($creds -eq $null) {
117+
$creds = $doc.CreateElement("packageSourceCredentials")
118+
$doc.DocumentElement.AppendChild($creds) | Out-Null
119+
}
120+
121+
# Insert credential nodes for Maestro's private feeds
122+
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Password $Password
123+
124+
AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
125+
AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
126+
127+
$doc.Save($filename)

Diff for: eng/common/SetupNugetSources.sh

+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
#!/usr/bin/env bash
2+
3+
# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds.
4+
# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080
5+
#
6+
# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry
7+
# under <packageSourceCredentials> for each Maestro's managed private feed. Two additional credential
8+
# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport.
9+
#
10+
# This script needs to be called in every job that will restore packages and which the base repo has
11+
# private AzDO feeds in the NuGet.config.
12+
#
13+
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
14+
# from the AzureDevOps-Artifact-Feeds-Pats variable group.
15+
#
16+
# - task: Bash@3
17+
# displayName: Setup Private Feeds Credentials
18+
# inputs:
19+
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
20+
# arguments: $BUILD_SOURCESDIRECTORY/NuGet.config $Token
21+
# condition: ne(variables['Agent.OS'], 'Windows_NT')
22+
# env:
23+
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
24+
25+
ConfigFile=$1
26+
CredToken=$2
27+
NL='\n'
28+
TB=' '
29+
30+
source="${BASH_SOURCE[0]}"
31+
32+
# resolve $source until the file is no longer a symlink
33+
while [[ -h "$source" ]]; do
34+
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
35+
source="$(readlink "$source")"
36+
# if $source was a relative symlink, we need to resolve it relative to the path where the
37+
# symlink file was located
38+
[[ $source != /* ]] && source="$scriptroot/$source"
39+
done
40+
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
41+
42+
. "$scriptroot/tools.sh"
43+
44+
if [ ! -f "$ConfigFile" ]; then
45+
echo "Couldn't find the file NuGet config file: $ConfigFile"
46+
ExitWithExitCode 1
47+
fi
48+
49+
if [[ `uname -s` == "Darwin" ]]; then
50+
NL=$'\\\n'
51+
TB=''
52+
fi
53+
54+
# Ensure there is a <packageSources>...</packageSources> section.
55+
grep -i "<packageSources>" $ConfigFile
56+
if [ "$?" != "0" ]; then
57+
echo "Adding <packageSources>...</packageSources> section."
58+
ConfigNodeHeader="<configuration>"
59+
PackageSourcesTemplate="${TB}<packageSources>${NL}${TB}</packageSources>"
60+
61+
sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" NuGet.config
62+
fi
63+
64+
# Ensure there is a <packageSourceCredentials>...</packageSourceCredentials> section.
65+
grep -i "<packageSourceCredentials>" $ConfigFile
66+
if [ "$?" != "0" ]; then
67+
echo "Adding <packageSourceCredentials>...</packageSourceCredentials> section."
68+
69+
PackageSourcesNodeFooter="</packageSources>"
70+
PackageSourceCredentialsTemplate="${TB}<packageSourceCredentials>${NL}${TB}</packageSourceCredentials>"
71+
72+
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" NuGet.config
73+
fi
74+
75+
# Ensure dotnet3-internal and dotnet3-internal-transport is in the packageSources
76+
grep -i "<add key=\"dotnet3-internal\">" $ConfigFile
77+
if [ "$?" != "0" ]; then
78+
echo "Adding dotnet3-internal to the packageSources."
79+
80+
PackageSourcesNodeFooter="</packageSources>"
81+
PackageSourceTemplate="${TB}<add key=\"dotnet3-internal\" value=\"https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2\" />"
82+
83+
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" NuGet.config
84+
fi
85+
86+
# Ensure dotnet3-internal and dotnet3-internal-transport is in the packageSources
87+
grep -i "<add key=\"dotnet3-internal-transport\">" $ConfigFile
88+
if [ "$?" != "0" ]; then
89+
echo "Adding dotnet3-internal-transport to the packageSources."
90+
91+
PackageSourcesNodeFooter="</packageSources>"
92+
PackageSourceTemplate="${TB}<add key=\"dotnet3-internal-transport\" value=\"https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2\" />"
93+
94+
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" NuGet.config
95+
fi
96+
97+
# I want things split line by line
98+
PrevIFS=$IFS
99+
IFS=$'\n'
100+
PackageSources=$(grep -oh '"darc-int-[^"]*"' $ConfigFile | tr -d '"')
101+
IFS=$PrevIFS
102+
103+
PackageSources+=('dotnet3-internal')
104+
PackageSources+=('dotnet3-internal-transport')
105+
106+
for FeedName in ${PackageSources[@]} ; do
107+
# Check if there is no existing credential for this FeedName
108+
grep -i "<$FeedName>" $ConfigFile
109+
if [ "$?" != "0" ]; then
110+
echo "Adding credentials for $FeedName."
111+
112+
PackageSourceCredentialsNodeFooter="</packageSourceCredentials>"
113+
NewCredential="${TB}${TB}<$FeedName>${NL}<add key=\"Username\" value=\"dn-bot\" />${NL}<add key=\"ClearTextPassword\" value=\"$CredToken\" />${NL}</$FeedName>"
114+
115+
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" NuGet.config
116+
fi
117+
done

Diff for: eng/common/enable-cross-org-publishing.ps1

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
param(
2+
[string] $token
3+
)
4+
5+
Write-Host "##vso[task.setvariable variable=VSS_NUGET_ACCESSTOKEN]$token"
6+
Write-Host "##vso[task.setvariable variable=VSS_NUGET_URI_PREFIXES]https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/"

Diff for: eng/common/sdl/extract-artifact-packages.ps1

+7
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ param(
55

66
$ErrorActionPreference = "Stop"
77
Set-StrictMode -Version 2.0
8+
9+
# `tools.ps1` checks $ci to perform some actions. Since the post-build
10+
# scripts don't necessarily execute in the same agent that run the
11+
# build.ps1/sh script this variable isn't automatically set.
12+
$ci = $true
13+
. $PSScriptRoot\..\tools.ps1
14+
815
$ExtractPackage = {
916
param(
1017
[string] $PackagePath # Full path to a NuGet package

Diff for: eng/common/templates/job/execute-sdl.yml

+21-7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ parameters:
66
# This can also be remedied by the caller (post-build.yml) if it does not use a nested parameter
77
sdlContinueOnError: false # optional: determines whether to continue the build if the step errors;
88
dependsOn: '' # Optional: dependencies of the job
9+
artifactNames: '' # Optional: patterns supplied to DownloadBuildArtifacts
10+
# Usage:
11+
# artifactNames:
12+
# - 'BlobArtifacts'
13+
# - 'Artifacts_Windows_NT_Release'
914

1015
jobs:
1116
- job: Run_SDL
@@ -18,13 +23,22 @@ jobs:
1823
steps:
1924
- checkout: self
2025
clean: true
21-
- task: DownloadBuildArtifacts@0
22-
displayName: Download Build Artifacts
23-
inputs:
24-
buildType: current
25-
downloadType: specific files
26-
matchingPattern: "**"
27-
downloadPath: $(Build.SourcesDirectory)\artifacts
26+
- ${{ if ne(parameters.artifactNames, '') }}:
27+
- ${{ each artifactName in parameters.artifactNames }}:
28+
- task: DownloadBuildArtifacts@0
29+
displayName: Download Build Artifacts
30+
inputs:
31+
buildType: current
32+
artifactName: ${{ artifactName }}
33+
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
34+
- ${{ if eq(parameters.artifactNames, '') }}:
35+
- task: DownloadBuildArtifacts@0
36+
displayName: Download Build Artifacts
37+
inputs:
38+
buildType: current
39+
downloadType: specific files
40+
itemPattern: "**"
41+
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
2842
- powershell: eng/common/sdl/extract-artifact-packages.ps1
2943
-InputPath $(Build.SourcesDirectory)\artifacts\BlobArtifacts
3044
-ExtractPath $(Build.SourcesDirectory)\artifacts\BlobArtifacts

0 commit comments

Comments
 (0)