[main] Update dependencies from dotnet/arcade (#805)
[main] Update dependencies from dotnet/arcade - Update to macos-12 image
This commit is contained in:
Родитель
fae2c95346
Коммит
f4198024fa
|
@ -207,38 +207,38 @@
|
|||
<Uri>https://github.com/dotnet/llvm-project</Uri>
|
||||
<Sha>26f8c30340764cfa7fa9090dc01a36c222bf09c1</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
</Dependency>
|
||||
<!-- Intermediate is necessary for source build. -->
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24272.5">
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24281.1">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>2001d73c8ff942331a73300ba61fa6164805b231</Sha>
|
||||
<Sha>e6b3f32f9855dccbe2447471c8f729b66f17d242</Sha>
|
||||
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<!-- Intermediate is necessary for source build. -->
|
||||
|
|
|
@ -50,10 +50,10 @@
|
|||
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MicrosoftDotNetBuildTasksPackagingVersion>9.0.0-beta.24272.5</MicrosoftDotNetBuildTasksPackagingVersion>
|
||||
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.24272.5</MicrosoftDotNetBuildTasksTemplatingVersion>
|
||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.24272.5</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>9.0.0-beta.24272.5</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
|
||||
<MicrosoftDotNetBuildTasksPackagingVersion>9.0.0-beta.24281.1</MicrosoftDotNetBuildTasksPackagingVersion>
|
||||
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.24281.1</MicrosoftDotNetBuildTasksTemplatingVersion>
|
||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.24281.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>9.0.0-beta.24281.1</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SwixPackageVersion>1.1.87-gba258badda</SwixPackageVersion>
|
||||
|
|
|
@ -37,7 +37,7 @@ stages:
|
|||
displayName: macOS
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
vmImage: macOS-11
|
||||
vmImage: macOS-12
|
||||
strategy:
|
||||
matrix:
|
||||
x64:
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds.
|
||||
# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080
|
||||
# This script adds internal feeds required to build commits that depend on internal package sources. For instance,
|
||||
# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables
|
||||
# disabled internal Maestro (darc-int*) feeds.
|
||||
#
|
||||
# Optionally, this script also adds a credential entry for each of the internal feeds if supplied. This credential
|
||||
# is added via the standard environment variable VSS_NUGET_EXTERNAL_FEED_ENDPOINTS. See
|
||||
# https://github.com/microsoft/artifacts-credprovider/tree/v1.1.1?tab=readme-ov-file#environment-variables for more details
|
||||
#
|
||||
# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry
|
||||
# under <packageSourceCredentials> for each Maestro managed private feed. Two additional credential
|
||||
# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport.
|
||||
#
|
||||
# This script needs to be called in every job that will restore packages and which the base repo has
|
||||
# private AzDO feeds in the NuGet.config.
|
||||
#
|
||||
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
|
||||
# from the AzureDevOps-Artifact-Feeds-Pats variable group.
|
||||
#
|
||||
# Any disabledPackageSources entries which start with "darc-int" will be re-enabled as part of this script executing
|
||||
# See example call for this script below.
|
||||
#
|
||||
# - task: PowerShell@2
|
||||
# displayName: Setup Private Feeds Credentials
|
||||
# displayName: Setup Internal Feeds
|
||||
# condition: eq(variables['Agent.OS'], 'Windows_NT')
|
||||
# inputs:
|
||||
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
# env:
|
||||
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config
|
||||
# - task: NuGetAuthenticate@1
|
||||
#
|
||||
# Note that the NuGetAuthenticate task should be called after SetupNugetSources.
|
||||
# This ensures that:
|
||||
# - Appropriate creds are set for the added internal feeds (if not supplied to the scrupt)
|
||||
# - The credential provider is installed
|
||||
#
|
||||
# This logic is also abstracted into enable-internal-sources.yml.
|
||||
|
||||
[CmdletBinding()]
|
||||
param (
|
||||
[Parameter(Mandatory = $true)][string]$ConfigFile,
|
||||
[Parameter(Mandatory = $true)][string]$Password
|
||||
[string]$Password
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
@ -34,12 +35,23 @@ Set-StrictMode -Version 2.0
|
|||
|
||||
. $PSScriptRoot\tools.ps1
|
||||
|
||||
$feedEndpoints = $null
|
||||
|
||||
# If a credential is provided, ensure that we don't overwrite the current set of
|
||||
# credentials that may have been provided by a previous call to the credential provider.
|
||||
if ($Password -and $null -ne $env:VSS_NUGET_EXTERNAL_FEED_ENDPOINTS) {
|
||||
$feedEndpoints = $env:VSS_NUGET_EXTERNAL_FEED_ENDPOINTS | ConvertFrom-Json
|
||||
} elseif ($Password) {
|
||||
$feedEndpoints = @{ endpointCredentials = @() }
|
||||
}
|
||||
|
||||
# Add source entry to PackageSources
|
||||
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) {
|
||||
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $pwd) {
|
||||
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
|
||||
|
||||
if ($packageSource -eq $null)
|
||||
if ($null -eq $packageSource)
|
||||
{
|
||||
Write-Host "`tAdding package source" $SourceName
|
||||
$packageSource = $doc.CreateElement("add")
|
||||
$packageSource.SetAttribute("key", $SourceName)
|
||||
$packageSource.SetAttribute("value", $SourceEndPoint)
|
||||
|
@ -48,58 +60,34 @@ function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Usern
|
|||
else {
|
||||
Write-Host "Package source $SourceName already present."
|
||||
}
|
||||
AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd
|
||||
}
|
||||
|
||||
# Add a credential node for the specified source
|
||||
function AddCredential($creds, $source, $username, $pwd) {
|
||||
# Looks for credential configuration for the given SourceName. Create it if none is found.
|
||||
$sourceElement = $creds.SelectSingleNode($Source)
|
||||
if ($sourceElement -eq $null)
|
||||
{
|
||||
$sourceElement = $doc.CreateElement($Source)
|
||||
$creds.AppendChild($sourceElement) | Out-Null
|
||||
}
|
||||
|
||||
# Add the <Username> node to the credential if none is found.
|
||||
$usernameElement = $sourceElement.SelectSingleNode("add[@key='Username']")
|
||||
if ($usernameElement -eq $null)
|
||||
{
|
||||
$usernameElement = $doc.CreateElement("add")
|
||||
$usernameElement.SetAttribute("key", "Username")
|
||||
$sourceElement.AppendChild($usernameElement) | Out-Null
|
||||
}
|
||||
$usernameElement.SetAttribute("value", $Username)
|
||||
|
||||
# Add the <ClearTextPassword> to the credential if none is found.
|
||||
# Add it as a clear text because there is no support for encrypted ones in non-windows .Net SDKs.
|
||||
# -> https://github.com/NuGet/Home/issues/5526
|
||||
$passwordElement = $sourceElement.SelectSingleNode("add[@key='ClearTextPassword']")
|
||||
if ($passwordElement -eq $null)
|
||||
{
|
||||
$passwordElement = $doc.CreateElement("add")
|
||||
$passwordElement.SetAttribute("key", "ClearTextPassword")
|
||||
$sourceElement.AppendChild($passwordElement) | Out-Null
|
||||
}
|
||||
|
||||
$passwordElement.SetAttribute("value", $pwd)
|
||||
}
|
||||
|
||||
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) {
|
||||
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
|
||||
|
||||
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
|
||||
|
||||
ForEach ($PackageSource in $maestroPrivateSources) {
|
||||
Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key
|
||||
AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd
|
||||
if ($pwd) {
|
||||
$feedEndpoints.endpointCredentials = AddCredential -endpointCredentials $feedEndpoints.endpointCredentials -source $SourceEndPoint -pwd $pwd
|
||||
}
|
||||
}
|
||||
|
||||
function EnablePrivatePackageSources($DisabledPackageSources) {
|
||||
$maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
|
||||
ForEach ($DisabledPackageSource in $maestroPrivateSources) {
|
||||
Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource"
|
||||
# Add a new feed endpoint credential
|
||||
function AddCredential([array]$endpointCredentials, $source, $pwd) {
|
||||
$endpointCredentials += @{
|
||||
endpoint = $source;
|
||||
password = $pwd
|
||||
}
|
||||
return $endpointCredentials
|
||||
}
|
||||
|
||||
function InsertMaestroInternalFeedCredentials($Sources, $pwd) {
|
||||
$maestroInternalSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
|
||||
|
||||
ForEach ($PackageSource in $maestroInternalSources) {
|
||||
Write-Host "`tAdding credential for Maestro's feed:" $PackageSource.Key
|
||||
$feedEndpoints.endpointCredentials = AddCredential -endpointCredentials $feedEndpoints.endpointCredentials -source $PackageSource.value -pwd $pwd
|
||||
}
|
||||
}
|
||||
|
||||
function EnableInternalPackageSources($DisabledPackageSources) {
|
||||
$maestroInternalSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
|
||||
ForEach ($DisabledPackageSource in $maestroInternalSources) {
|
||||
Write-Host "`tEnsuring internal source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource"
|
||||
# Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries
|
||||
$DisabledPackageSources.RemoveChild($DisabledPackageSource)
|
||||
}
|
||||
|
@ -110,11 +98,6 @@ if (!(Test-Path $ConfigFile -PathType Leaf)) {
|
|||
ExitWithExitCode 1
|
||||
}
|
||||
|
||||
if (!$Password) {
|
||||
Write-PipelineTelemetryError -Category 'Build' -Message 'Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. Please supply a valid PAT'
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
|
||||
# Load NuGet.config
|
||||
$doc = New-Object System.Xml.XmlDocument
|
||||
$filename = (Get-Item $ConfigFile).FullName
|
||||
|
@ -122,35 +105,27 @@ $doc.Load($filename)
|
|||
|
||||
# Get reference to <PackageSources> or create one if none exist already
|
||||
$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
|
||||
if ($sources -eq $null) {
|
||||
if ($null -eq $sources) {
|
||||
$sources = $doc.CreateElement("packageSources")
|
||||
$doc.DocumentElement.AppendChild($sources) | Out-Null
|
||||
}
|
||||
|
||||
# Looks for a <PackageSourceCredentials> node. Create it if none is found.
|
||||
$creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials")
|
||||
if ($creds -eq $null) {
|
||||
$creds = $doc.CreateElement("packageSourceCredentials")
|
||||
$doc.DocumentElement.AppendChild($creds) | Out-Null
|
||||
}
|
||||
|
||||
# Check for disabledPackageSources; we'll enable any darc-int ones we find there
|
||||
$disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources")
|
||||
if ($disabledSources -ne $null) {
|
||||
if ($null -ne $disabledSources) {
|
||||
Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node"
|
||||
EnablePrivatePackageSources -DisabledPackageSources $disabledSources
|
||||
EnableInternalPackageSources -DisabledPackageSources $disabledSources
|
||||
}
|
||||
|
||||
$userName = "dn-bot"
|
||||
|
||||
# Insert credential nodes for Maestro's private feeds
|
||||
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password
|
||||
if ($Password) {
|
||||
InsertMaestroInternalFeedCredentials -Sources $sources -pwd $Password
|
||||
}
|
||||
|
||||
# 3.1 uses a different feed url format so it's handled differently here
|
||||
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
|
||||
if ($dotnet31Source -ne $null) {
|
||||
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
|
||||
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
|
||||
if ($null -ne $dotnet31Source) {
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v3/index.json" -pwd $Password
|
||||
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
|
||||
}
|
||||
|
||||
$dotnetVersions = @('5','6','7','8')
|
||||
|
@ -158,10 +133,18 @@ $dotnetVersions = @('5','6','7','8')
|
|||
foreach ($dotnetVersion in $dotnetVersions) {
|
||||
$feedPrefix = "dotnet" + $dotnetVersion;
|
||||
$dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
|
||||
if ($dotnetSource -ne $null) {
|
||||
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
|
||||
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
|
||||
if ($dotnetSource) {
|
||||
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedprefix-internal/nuget/v3/index.json" -pwd $Password
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
$doc.Save($filename)
|
||||
$doc.Save($filename)
|
||||
|
||||
# If any credentials were added or altered, update the VSS_NUGET_EXTERNAL_FEED_ENDPOINTS environment variable
|
||||
if ($null -ne $feedEndpoints) {
|
||||
# ci is set to true so vso logging commands will be used.
|
||||
$ci = $true
|
||||
Write-PipelineSetVariable -Name 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' -Value $($feedEndpoints | ConvertTo-Json) -IsMultiJobVariable $false
|
||||
Write-PipelineSetVariable -Name 'NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED' -Value "False" -IsMultiJobVariable $false
|
||||
}
|
|
@ -1,28 +1,27 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds.
|
||||
# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080
|
||||
# This script adds internal feeds required to build commits that depend on intenral package sources. For instance,
|
||||
# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables
|
||||
# disabled internal Maestro (darc-int*) feeds.
|
||||
#
|
||||
# Optionally, this script also adds a credential entry for each of the internal feeds if supplied.
|
||||
#
|
||||
# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry
|
||||
# under <packageSourceCredentials> for each Maestro's managed private feed. Two additional credential
|
||||
# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport.
|
||||
#
|
||||
# This script needs to be called in every job that will restore packages and which the base repo has
|
||||
# private AzDO feeds in the NuGet.config.
|
||||
#
|
||||
# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
|
||||
# from the AzureDevOps-Artifact-Feeds-Pats variable group.
|
||||
#
|
||||
# Any disabledPackageSources entries which start with "darc-int" will be re-enabled as part of this script executing.
|
||||
# See example call for this script below.
|
||||
#
|
||||
# - task: Bash@3
|
||||
# displayName: Setup Private Feeds Credentials
|
||||
# displayName: Setup Internal Feeds
|
||||
# inputs:
|
||||
# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
# arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
# arguments: $(Build.SourcesDirectory)/NuGet.config
|
||||
# condition: ne(variables['Agent.OS'], 'Windows_NT')
|
||||
# env:
|
||||
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
# - task: NuGetAuthenticate@1
|
||||
#
|
||||
# Note that the NuGetAuthenticate task should be called after SetupNugetSources.
|
||||
# This ensures that:
|
||||
# - Appropriate creds are set for the added internal feeds (if not supplied to the scrupt)
|
||||
# - The credential provider is installed.
|
||||
#
|
||||
# This logic is also abstracted into enable-internal-sources.yml.
|
||||
|
||||
ConfigFile=$1
|
||||
CredToken=$2
|
||||
|
@ -48,11 +47,6 @@ if [ ! -f "$ConfigFile" ]; then
|
|||
ExitWithExitCode 1
|
||||
fi
|
||||
|
||||
if [ -z "$CredToken" ]; then
|
||||
Write-PipelineTelemetryError -category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. Please supply a valid PAT"
|
||||
ExitWithExitCode 1
|
||||
fi
|
||||
|
||||
if [[ `uname -s` == "Darwin" ]]; then
|
||||
NL=$'\\\n'
|
||||
TB=''
|
||||
|
@ -140,18 +134,20 @@ PackageSources+="$IFS"
|
|||
PackageSources+=$(grep -oh '"darc-int-[^"]*"' $ConfigFile | tr -d '"')
|
||||
IFS=$PrevIFS
|
||||
|
||||
for FeedName in ${PackageSources[@]} ; do
|
||||
# Check if there is no existing credential for this FeedName
|
||||
grep -i "<$FeedName>" $ConfigFile
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "Adding credentials for $FeedName."
|
||||
if [ "$CredToken" ]; then
|
||||
for FeedName in ${PackageSources[@]} ; do
|
||||
# Check if there is no existing credential for this FeedName
|
||||
grep -i "<$FeedName>" $ConfigFile
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "Adding credentials for $FeedName."
|
||||
|
||||
PackageSourceCredentialsNodeFooter="</packageSourceCredentials>"
|
||||
NewCredential="${TB}${TB}<$FeedName>${NL}<add key=\"Username\" value=\"dn-bot\" />${NL}<add key=\"ClearTextPassword\" value=\"$CredToken\" />${NL}</$FeedName>"
|
||||
PackageSourceCredentialsNodeFooter="</packageSourceCredentials>"
|
||||
NewCredential="${TB}${TB}<$FeedName>${NL}<add key=\"Username\" value=\"dn-bot\" />${NL}<add key=\"ClearTextPassword\" value=\"$CredToken\" />${NL}</$FeedName>"
|
||||
|
||||
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile
|
||||
fi
|
||||
done
|
||||
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Re-enable any entries in disabledPackageSources where the feed name contains darc-int
|
||||
grep -i "<disabledPackageSources>" $ConfigFile
|
||||
|
|
|
@ -200,29 +200,28 @@ jobs:
|
|||
publishArtifacts: false
|
||||
|
||||
# Publish test results
|
||||
- ${{ if and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')) }}:
|
||||
- ${{ if eq(parameters.testResultsFormat, 'xunit') }}:
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish XUnit Test Results
|
||||
inputs:
|
||||
testResultsFormat: 'xUnit'
|
||||
testResultsFiles: '*.xml'
|
||||
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
|
||||
testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-xunit
|
||||
mergeTestResults: ${{ parameters.mergeTestResults }}
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
- ${{ if eq(parameters.testResultsFormat, 'vstest') }}:
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish TRX Test Results
|
||||
inputs:
|
||||
testResultsFormat: 'VSTest'
|
||||
testResultsFiles: '*.trx'
|
||||
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
|
||||
testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-trx
|
||||
mergeTestResults: ${{ parameters.mergeTestResults }}
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
- ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'xunit')) }}:
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish XUnit Test Results
|
||||
inputs:
|
||||
testResultsFormat: 'xUnit'
|
||||
testResultsFiles: '*.xml'
|
||||
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
|
||||
testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-xunit
|
||||
mergeTestResults: ${{ parameters.mergeTestResults }}
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
- ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'vstest')) }}:
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish TRX Test Results
|
||||
inputs:
|
||||
testResultsFormat: 'VSTest'
|
||||
testResultsFiles: '*.trx'
|
||||
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
|
||||
testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-trx
|
||||
mergeTestResults: ${{ parameters.mergeTestResults }}
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
|
||||
# gather artifacts
|
||||
- ${{ if ne(parameters.artifacts.publish, '') }}:
|
||||
|
@ -246,6 +245,8 @@ jobs:
|
|||
SourceFolder: 'artifacts/log'
|
||||
Contents: '**'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/log'
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
|
||||
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
|
||||
- task: CopyFiles@2
|
||||
|
@ -254,6 +255,8 @@ jobs:
|
|||
SourceFolder: 'artifacts/log/$(_BuildConfig)'
|
||||
Contents: '**'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)'
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
- ${{ if eq(parameters.enableBuildRetry, 'true') }}:
|
||||
- task: CopyFiles@2
|
||||
displayName: Gather buildconfiguration for build retry
|
||||
|
@ -261,6 +264,7 @@ jobs:
|
|||
SourceFolder: '$(Build.SourcesDirectory)/eng/common/BuildConfiguration'
|
||||
Contents: '**'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/eng/common/BuildConfiguration'
|
||||
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
- ${{ each step in parameters.artifactPublishSteps }}:
|
||||
- ${{ step }}
|
||||
|
|
|
@ -33,6 +33,12 @@ parameters:
|
|||
|
||||
is1ESPipeline: ''
|
||||
|
||||
# If set to true and running on a non-public project,
|
||||
# Internal nuget and blob storage locations will be enabled.
|
||||
# This is not enabled by default because many repositories do not need internal sources
|
||||
# and do not need to have the required service connections approved in the pipeline.
|
||||
enableInternalSources: false
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }}
|
||||
displayName: Source-Build (${{ parameters.platform.name }})
|
||||
|
@ -74,6 +80,13 @@ jobs:
|
|||
- ${{ if eq(parameters.is1ESPipeline, '') }}:
|
||||
- 'Illegal entry point, is1ESPipeline is not defined. Repository yaml should not directly reference templates in core-templates folder.': error
|
||||
|
||||
- ${{ if eq(parameters.enableInternalSources, true) }}:
|
||||
- template: /eng/common/core-templates/steps/enable-internal-sources.yml
|
||||
parameters:
|
||||
is1ESPipeline: ${{ parameters.is1ESPipeline }}
|
||||
- template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
|
||||
parameters:
|
||||
is1ESPipeline: ${{ parameters.is1ESPipeline }}
|
||||
- template: /eng/common/core-templates/steps/source-build.yml
|
||||
parameters:
|
||||
is1ESPipeline: ${{ parameters.is1ESPipeline }}
|
||||
|
|
|
@ -23,6 +23,12 @@ parameters:
|
|||
|
||||
is1ESPipeline: ''
|
||||
|
||||
# If set to true and running on a non-public project,
|
||||
# Internal nuget and blob storage locations will be enabled.
|
||||
# This is not enabled by default because many repositories do not need internal sources
|
||||
# and do not need to have the required service connections approved in the pipeline.
|
||||
enableInternalSources: false
|
||||
|
||||
jobs:
|
||||
|
||||
- ${{ if ne(parameters.allCompletedJobId, '') }}:
|
||||
|
@ -41,6 +47,7 @@ jobs:
|
|||
is1ESPipeline: ${{ parameters.is1ESPipeline }}
|
||||
jobNamePrefix: ${{ parameters.jobNamePrefix }}
|
||||
platform: ${{ platform }}
|
||||
enableInternalSources: ${{ parameters.enableInternalSources }}
|
||||
|
||||
- ${{ if eq(length(parameters.platforms), 0) }}:
|
||||
- template: /eng/common/core-templates/job/source-build.yml
|
||||
|
@ -48,3 +55,4 @@ jobs:
|
|||
is1ESPipeline: ${{ parameters.is1ESPipeline }}
|
||||
jobNamePrefix: ${{ parameters.jobNamePrefix }}
|
||||
platform: ${{ parameters.defaultManagedPlatform }}
|
||||
enableInternalSources: ${{ parameters.enableInternalSources }}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
# Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
|
||||
# variable with the base64-encoded SAS token, by default
|
||||
|
||||
parameters:
|
||||
- name: federatedServiceConnection
|
||||
type: string
|
||||
default: 'dotnetbuilds-internal-read'
|
||||
- name: outputVariableName
|
||||
type: string
|
||||
default: 'dotnetbuilds-internal-container-read-token-base64'
|
||||
- name: expiryInHours
|
||||
type: number
|
||||
default: 1
|
||||
- name: base64Encode
|
||||
type: boolean
|
||||
default: true
|
||||
- name: is1ESPipeline
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- template: /eng/common/core-templates/steps/get-delegation-sas.yml
|
||||
parameters:
|
||||
federatedServiceConnection: ${{ parameters.federatedServiceConnection }}
|
||||
outputVariableName: ${{ parameters.outputVariableName }}
|
||||
expiryInHours: ${{ parameters.expiryInHours }}
|
||||
base64Encode: ${{ parameters.base64Encode }}
|
||||
storageAccount: dotnetbuilds
|
||||
container: internal
|
||||
permissions: rl
|
||||
is1ESPipeline: ${{ parameters.is1ESPipeline }}
|
|
@ -0,0 +1,35 @@
|
|||
parameters:
|
||||
# This is the Azure federated service connection that we log into to get an access token.
|
||||
- name: nugetFederatedServiceConnection
|
||||
type: string
|
||||
default: 'dnceng-artifacts-feeds-read'
|
||||
- name: is1ESPipeline
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
# If running on dnceng (internal project), just use the default behavior for NuGetAuthenticate.
|
||||
# If running on DevDiv, NuGetAuthenticate is not really an option. It's scoped to a single feed, and we have many feeds that
|
||||
# may be added. Instead, we'll use the traditional approach (add cred to nuget.config), but use an account token.
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Internal Feeds
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config
|
||||
- task: NuGetAuthenticate@1
|
||||
- ${{ else }}:
|
||||
- template: /eng/common/templates/steps/get-federated-access-token.yml
|
||||
parameters:
|
||||
federatedServiceConnection: ${{ parameters.nugetFederatedServiceConnection }}
|
||||
outputVariableName: 'dnceng-artifacts-feeds-read-access-token'
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Internal Feeds
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $(dnceng-artifacts-feeds-read-access-token)
|
||||
# This is required in certain scenarios to install the ADO credential provider.
|
||||
# It installed by default in some msbuild invocations (e.g. VS msbuild), but needs to be installed for others
|
||||
# (e.g. dotnet msbuild).
|
||||
- task: NuGetAuthenticate@1
|
|
@ -16,6 +16,9 @@ parameters:
|
|||
- name: permissions
|
||||
type: string
|
||||
default: 'rl'
|
||||
- name: is1ESPipeline
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- task: AzureCLI@2
|
|
@ -0,0 +1,28 @@
|
|||
parameters:
|
||||
- name: federatedServiceConnection
|
||||
type: string
|
||||
- name: outputVariableName
|
||||
type: string
|
||||
# Resource to get a token for. Common values include:
|
||||
# - '499b84ac-1321-427f-aa17-267ca6975798' for Azure DevOps
|
||||
# - 'https://storage.azure.com/' for storage
|
||||
# Defaults to Azure DevOps
|
||||
- name: resource
|
||||
type: string
|
||||
default: '499b84ac-1321-427f-aa17-267ca6975798'
|
||||
|
||||
steps:
|
||||
- task: AzureCLI@2
|
||||
displayName: 'Getting federated access token for feeds'
|
||||
inputs:
|
||||
azureSubscription: ${{ parameters.federatedServiceConnection }}
|
||||
scriptType: 'pscore'
|
||||
scriptLocation: 'inlineScript'
|
||||
inlineScript: |
|
||||
$accessToken = az account get-access-token --query accessToken --resource ${{ parameters.resource }} --output tsv
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Error "Failed to get access token for resource '${{ parameters.resource }}'"
|
||||
exit 1
|
||||
}
|
||||
Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
|
||||
Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true]$accessToken"
|
|
@ -19,18 +19,10 @@ steps:
|
|||
set -x
|
||||
df -h
|
||||
|
||||
# If building on the internal project, the artifact feeds variable may be available (usually only if needed)
|
||||
# In that case, call the feed setup script to add internal feeds corresponding to public ones.
|
||||
# In addition, add an msbuild argument to copy the WIP from the repo to the target build location.
|
||||
# This is because SetupNuGetSources.sh will alter the current NuGet.config file, and we need to preserve those
|
||||
# changes.
|
||||
# If file changes are detected, set CopyWipIntoInnerSourceBuildRepo to copy the WIP changes into the inner source build repo.
|
||||
internalRestoreArgs=
|
||||
if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then
|
||||
# Temporarily work around https://github.com/dotnet/arcade/issues/7709
|
||||
chmod +x $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
$(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh $(Build.SourcesDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
if ! git diff --quiet; then
|
||||
internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true'
|
||||
|
||||
# The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo.
|
||||
# This only works if there is a username/email configured, which won't be the case in most CI runs.
|
||||
git config --get user.email
|
||||
|
@ -123,6 +115,7 @@ steps:
|
|||
artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt)
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
sbomEnabled: false # we don't need SBOM for logs
|
||||
|
||||
# Manually inject component detection so that we can ignore the source build upstream cache, which contains
|
||||
# a nupkg cache of input packages (a local feed).
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
deb http://raspbian.raspberrypi.org/raspbian/ bookworm main contrib non-free rpi
|
||||
deb-src http://raspbian.raspberrypi.org/raspbian/ bookworm main contrib non-free rpi
|
|
@ -314,6 +314,13 @@ while :; do
|
|||
bullseye) # Debian 11
|
||||
__CodeName=bullseye
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
;;
|
||||
bookworm) # Debian 12
|
||||
__CodeName=bookworm
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
|
|
|
@ -7,7 +7,7 @@ fi
|
|||
|
||||
Log()
|
||||
{
|
||||
if [ $VERBOSE -ge $1 ]; then
|
||||
if [ $VERBOSE -ge 1 ]; then
|
||||
echo ${@:2}
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ if [[ $architecture != "" ]] && [[ $architecture != $buildarch ]]; then
|
|||
dotnetRoot="$dotnetRoot/$architecture"
|
||||
fi
|
||||
|
||||
InstallDotNet $dotnetRoot $version "$architecture" $runtime true $runtimeSourceFeed $runtimeSourceFeedKey || {
|
||||
InstallDotNet "$dotnetRoot" $version "$architecture" $runtime true $runtimeSourceFeed $runtimeSourceFeedKey || {
|
||||
local exit_code=$?
|
||||
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "dotnet-install.sh failed (exit code '$exit_code')." >&2
|
||||
ExitWithExitCode $exit_code
|
||||
|
|
|
@ -23,6 +23,7 @@ jobs:
|
|||
displayName: 'Publish logs'
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
sbomEnabled: false # we don't need SBOM for logs
|
||||
|
||||
- ${{ if eq(parameters.enablePublishBuildArtifacts, true) }}:
|
||||
- output: buildArtifacts
|
||||
|
@ -32,13 +33,15 @@ jobs:
|
|||
ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }}
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
sbomEnabled: false # we don't need SBOM for logs
|
||||
|
||||
- ${{ if eq(parameters.enableBuildRetry, 'true') }}:
|
||||
- output: pipelineArtifact
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)/artifacts/eng/common/BuildConfiguration'
|
||||
artifactName: 'BuildConfiguration'
|
||||
displayName: 'Publish build retry configuration'
|
||||
continueOnError: true
|
||||
continueOnError: true
|
||||
sbomEnabled: false # we don't need SBOM for BuildConfiguration
|
||||
|
||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}:
|
||||
- output: pipelineArtifact
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
# Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
|
||||
# variable with the base64-encoded SAS token, by default
|
||||
steps:
|
||||
- template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
|
||||
parameters:
|
||||
is1ESPipeline: true
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -0,0 +1,7 @@
|
|||
steps:
|
||||
- template: /eng/common/core-templates/steps/enable-internal-sources.yml
|
||||
parameters:
|
||||
is1ESPipeline: true
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -0,0 +1,7 @@
|
|||
steps:
|
||||
- template: /eng/common/core-templates/steps/get-delegation-sas.yml
|
||||
parameters:
|
||||
is1ESPipeline: true
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -0,0 +1,7 @@
|
|||
steps:
|
||||
- template: /eng/common/core-templates/steps/get-federated-access-token.yml
|
||||
parameters:
|
||||
is1ESPipeline: true
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -23,4 +23,6 @@ steps:
|
|||
${{ if parameters.args.artifactName }}:
|
||||
artifactName: ${{ parameters.args.artifactName }}
|
||||
${{ if parameters.args.properties }}:
|
||||
properties: ${{ parameters.args.properties }}
|
||||
properties: ${{ parameters.args.properties }}
|
||||
${{ if parameters.args.sbomEnabled }}:
|
||||
sbomEnabled: ${{ parameters.args.sbomEnabled }}
|
||||
|
|
|
@ -37,6 +37,7 @@ jobs:
|
|||
displayName: 'Publish logs'
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
sbomEnabled: false # we don't need SBOM for logs
|
||||
|
||||
- ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}:
|
||||
- template: /eng/common/core-templates/steps/publish-build-artifacts.yml
|
||||
|
@ -59,3 +60,4 @@ jobs:
|
|||
artifactName: 'BuildConfiguration'
|
||||
displayName: 'Publish build retry configuration'
|
||||
continueOnError: true
|
||||
sbomEnabled: false # we don't need SBOM for BuildConfiguration
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
# Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
|
||||
# variable with the base64-encoded SAS token, by default
|
||||
|
||||
steps:
|
||||
- template: /eng/common/core-templates/steps/enable-internal-runtimes.yml
|
||||
parameters:
|
||||
is1ESPipeline: false
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -0,0 +1,7 @@
|
|||
steps:
|
||||
- template: /eng/common/core-templates/steps/enable-internal-sources.yml
|
||||
parameters:
|
||||
is1ESPipeline: false
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -0,0 +1,7 @@
|
|||
steps:
|
||||
- template: /eng/common/core-templates/steps/get-delegation-sas.yml
|
||||
parameters:
|
||||
is1ESPipeline: false
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -0,0 +1,7 @@
|
|||
steps:
|
||||
- template: /eng/common/core-templates/steps/get-federated-access-token.yml
|
||||
parameters:
|
||||
is1ESPipeline: false
|
||||
|
||||
${{ each parameter in parameters }}:
|
||||
${{ parameter.key }}: ${{ parameter.value }}
|
|
@ -438,7 +438,7 @@ function StopProcesses {
|
|||
}
|
||||
|
||||
function MSBuild {
|
||||
local args=$@
|
||||
local args=( "$@" )
|
||||
if [[ "$pipelines_log" == true ]]; then
|
||||
InitializeBuildTool
|
||||
InitializeToolset
|
||||
|
@ -473,7 +473,7 @@ function MSBuild {
|
|||
args+=( "-logger:$selectedPath" )
|
||||
fi
|
||||
|
||||
MSBuild-Core ${args[@]}
|
||||
MSBuild-Core "${args[@]}"
|
||||
}
|
||||
|
||||
function MSBuild-Core {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"tools": {
|
||||
"dotnet": "9.0.100-preview.3.24204.13"
|
||||
"dotnet": "9.0.100-preview.4.24267.66"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24272.5",
|
||||
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24272.5",
|
||||
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24281.1",
|
||||
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24281.1",
|
||||
"Microsoft.Build.Traversal": "3.4.0"
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче