Skip to content

Commit c43cd1b

Browse files
Update dependencies from https://github.com/dotnet/arcade build 20260719.1 (#3043)
[main] Update dependencies from dotnet/arcade
1 parent f496227 commit c43cd1b

14 files changed

Lines changed: 194 additions & 35 deletions

eng/Version.Details.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
<ProductDependencies>
44
</ProductDependencies>
55
<ToolsetDependencies>
6-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26360.7">
6+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26369.1">
77
<Uri>https://github.com/dotnet/arcade</Uri>
8-
<Sha>3169db01948537e61a9102477fab4a39663ba79d</Sha>
8+
<Sha>09bc8c946f4c4ae5d031c8875b85a6b8f1876b93</Sha>
99
</Dependency>
10-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="11.0.0-beta.26360.7">
10+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="11.0.0-beta.26369.1">
1111
<Uri>https://github.com/dotnet/arcade</Uri>
12-
<Sha>3169db01948537e61a9102477fab4a39663ba79d</Sha>
12+
<Sha>09bc8c946f4c4ae5d031c8875b85a6b8f1876b93</Sha>
1313
</Dependency>
14-
<Dependency Name="Microsoft.DotNet.XUnitV3Extensions" Version="11.0.0-beta.26360.7">
14+
<Dependency Name="Microsoft.DotNet.XUnitV3Extensions" Version="11.0.0-beta.26369.1">
1515
<Uri>https://github.com/dotnet/arcade</Uri>
16-
<Sha>3169db01948537e61a9102477fab4a39663ba79d</Sha>
16+
<Sha>09bc8c946f4c4ae5d031c8875b85a6b8f1876b93</Sha>
1717
</Dependency>
1818
</ToolsetDependencies>
1919
</Dependencies>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<SystemIOHashingVersion>8.0.0</SystemIOHashingVersion>
1616
<MicrosoftAspNetCoreTestHostVersion>6.0.36</MicrosoftAspNetCoreTestHostVersion>
1717
<MicrosoftCrankEventSourcesVersion>0.2.0-alpha.24576.2</MicrosoftCrankEventSourcesVersion>
18-
<MicrosoftDotNetXUnitV3ExtensionsPackageVersion>11.0.0-beta.26360.7</MicrosoftDotNetXUnitV3ExtensionsPackageVersion>
18+
<MicrosoftDotNetXUnitV3ExtensionsPackageVersion>11.0.0-beta.26369.1</MicrosoftDotNetXUnitV3ExtensionsPackageVersion>
1919
<CoverletCollectorVersion>6.0.0</CoverletCollectorVersion>
2020
<MoqVersion>4.18.4</MoqVersion>
2121
<AutofacVersion>4.9.4</AutofacVersion>

eng/common/build.ps1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Param(
2323
[switch] $clean,
2424
[switch][Alias('pb')]$productBuild,
2525
[switch]$fromVMR,
26+
[switch]$disablePipelineSetResult,
2627
[switch][Alias('bl')]$binaryLog,
2728
[string][Alias('bln')]$binaryLogName = '',
2829
[switch][Alias('nobl')]$excludeCIBinarylog,
@@ -80,6 +81,7 @@ function Print-Usage() {
8081
Write-Host " -nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
8182
Write-Host " -buildCheck Sets /check msbuild parameter"
8283
Write-Host " -fromVMR Set when building from within the VMR"
84+
Write-Host " -disablePipelineSetResult Set to disable masking the actual exit code in the pipeline when the build fails"
8385
Write-Host ""
8486

8587
Write-Host "Command line arguments not listed above are passed thru to msbuild."

eng/common/build.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,14 @@ usage()
4040
echo " --projects <value> Project or solution file(s) to build"
4141
echo " --ci Set when running on CI server"
4242
echo " --excludeCIBinarylog Don't output binary log (short: -nobl)"
43+
echo " --pipelinesLog Promote msbuild errors/warnings to Azure Pipelines timeline issues; defaults to on in CI (short: -pl)"
4344
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
4445
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
4546
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
4647
echo " --warnNotAsError <value> Sets a semi-colon delimited list of warning codes that should not be treated as errors"
4748
echo " --buildCheck <value> Sets /check msbuild parameter"
4849
echo " --fromVMR Set when building from within the VMR"
50+
echo " --disablePipelineSetResult Set to disable masking the actual exit code in the pipeline when the build fails"
4951
echo ""
5052
echo "Command line arguments not listed above are passed thru to msbuild."
5153
echo "Arguments can also be passed in with a single hyphen."
@@ -68,6 +70,7 @@ build=false
6870
source_build=false
6971
product_build=false
7072
from_vmr=false
73+
disable_pipeline_set_result=false
7174
rebuild=false
7275
test=false
7376
integration_test=false
@@ -86,6 +89,7 @@ build_check=false
8689
binary_log=false
8790
binary_log_name=''
8891
exclude_ci_binary_log=false
92+
pipelines_log=false
8993

9094
projects=''
9195
configuration=''
@@ -124,6 +128,9 @@ while [[ $# -gt 0 ]]; do
124128
-excludecibinarylog|-nobl)
125129
exclude_ci_binary_log=true
126130
;;
131+
-pipelineslog|-pl)
132+
pipelines_log=true
133+
;;
127134
-restore|-r)
128135
restore=true
129136
;;
@@ -152,6 +159,9 @@ while [[ $# -gt 0 ]]; do
152159
-fromvmr|-from-vmr)
153160
from_vmr=true
154161
;;
162+
-disablepipelinesetresult|-disable-pipeline-set-result)
163+
disable_pipeline_set_result=true
164+
;;
155165
-test|-t)
156166
test=true
157167
;;
@@ -213,6 +223,7 @@ if [[ -z "$configuration" ]]; then
213223
fi
214224

215225
if [[ "$ci" == true ]]; then
226+
pipelines_log=true
216227
# Disable node reuse on CI unless explicitly opted in via MSBUILD_NODEREUSE_ENABLED.
217228
# Internal testing only; this env var will be replaced with a switch (https://github.com/dotnet/arcade/issues/17013) and must not be depended on.
218229
if [[ "${MSBUILD_NODEREUSE_ENABLED:-}" != "1" ]]; then

eng/common/core-templates/job/helix-job-monitor.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@ parameters:
6565
type: boolean
6666
default: true
6767

68+
# When true, test results are reported to Azure DevOps using the fully qualified test name
69+
# (Namespace.Type.Method) as the stable automatedTestName and the visible title is qualified as
70+
# well (--use-fully-qualified-test-name). Opt-in because it changes AzDO test identity and display;
71+
# primarily useful for frameworks like MSTest whose display name is only the method name.
72+
- name: useFullyQualifiedTestName
73+
type: boolean
74+
default: false
75+
6876
# Advanced: optional pipeline artifact (produced earlier in this run) that contains the tool
6977
# nupkg. When set, the artifact is downloaded and the tool is installed from the nupkg into
7078
# a local tool-path; this bypasses the repo's .config/dotnet-tools.json manifest and is
@@ -176,11 +184,12 @@ jobs:
176184
set -euo pipefail
177185
178186
toolArgs=(
179-
--helix-base-uri '${{ parameters.helixBaseUri }}'
180-
--polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}'
181-
--fail-on-failed-tests '${{ parameters.failWorkItemsWithFailedTests }}'
182-
--max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 5))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully.
183-
--stage-name '$(System.StageName)'
187+
--helix-base-uri '${{ parameters.helixBaseUri }}'
188+
--polling-interval-seconds '${{ parameters.pollingIntervalSeconds }}'
189+
--fail-on-failed-tests '${{ parameters.failWorkItemsWithFailedTests }}'
190+
--use-fully-qualified-test-name '${{ parameters.useFullyQualifiedTestName }}'
191+
--max-wait-minutes "$((${{ parameters.timeoutInMinutes }} - 5))" # Set the tool's timeout slightly lower than the Azure DevOps job timeout to allow it to exit gracefully.
192+
--stage-name '$(System.StageName)'
184193
)
185194
186195
organization='${{ parameters.organization }}'

eng/common/core-templates/job/onelocbuild.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ parameters:
88
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
99
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
1010

11+
# Service connection for WIF-based Entra authentication to ceapex feeds (replaces CeapexPat).
12+
# When set, dnceng/internal builds acquire a federated Entra token instead of using a PAT.
13+
# All other projects (e.g. DevDiv, public), where this dnceng-scoped service connection does not
14+
# exist, and any pipeline that sets this to '' fall back to PAT-based auth via the CeapexPat parameter.
15+
CeapexServiceConnection: 'dnceng-onelocbuild-ceapex'
16+
1117
SourcesDirectory: $(System.DefaultWorkingDirectory)
1218
CreatePr: true
1319
AutoCompletePr: false
@@ -74,6 +80,15 @@ jobs:
7480
displayName: Generate LocProject.json
7581
condition: ${{ parameters.condition }}
7682

83+
# Acquire an Entra token for ceapex feed access via WIF (dnceng/internal only).
84+
# All other projects use PAT-based auth, since the ceapex service connection is scoped to dnceng/internal.
85+
- ${{ if and(ne(parameters.CeapexServiceConnection, ''), eq(variables['System.TeamProject'], 'internal')) }}:
86+
- template: /eng/common/templates/steps/get-federated-access-token.yml
87+
parameters:
88+
federatedServiceConnection: ${{ parameters.CeapexServiceConnection }}
89+
outputVariableName: 'CeapexEntraToken'
90+
condition: ${{ parameters.condition }}
91+
7792
- task: OneLocBuild@2
7893
displayName: OneLocBuild
7994
env:
@@ -89,7 +104,10 @@ jobs:
89104
isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }}
90105
isShouldReusePrSelected: ${{ parameters.ReusePr }}
91106
packageSourceAuth: patAuth
92-
patVariable: ${{ parameters.CeapexPat }}
107+
${{ if and(ne(parameters.CeapexServiceConnection, ''), eq(variables['System.TeamProject'], 'internal')) }}:
108+
patVariable: $(CeapexEntraToken)
109+
${{ if or(eq(parameters.CeapexServiceConnection, ''), ne(variables['System.TeamProject'], 'internal')) }}:
110+
patVariable: ${{ parameters.CeapexPat }}
93111
${{ if eq(parameters.RepoType, 'gitHub') }}:
94112
repoType: ${{ parameters.RepoType }}
95113
gitHubPatVariable: "${{ parameters.GithubPat }}"

eng/common/cross/build-rootfs.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,9 +453,12 @@ case "$__AlpineVersion" in
453453
elif [[ "$__AlpineArch" == "x86" ]]; then
454454
__AlpineVersion=3.17 # minimum version that supports lldb-dev
455455
__AlpinePackages+=" llvm15-libs"
456-
elif [[ "$__AlpineArch" == "riscv64" || "$__AlpineArch" == "loongarch64" ]]; then
456+
elif [[ "$__AlpineArch" == "loongarch64" ]]; then
457457
__AlpineVersion=3.21 # minimum version that supports lldb-dev
458458
__AlpinePackages+=" llvm19-libs"
459+
elif [[ "$__AlpineArch" == "riscv64" ]]; then
460+
__AlpineVersion=3.22 # lldb-dev requires 3.21+, but 3.22+ provides the newer linux-headers needed for RISC-V extension probes
461+
__AlpinePackages+=" llvm20-libs"
459462
elif [[ -n "$__AlpineMajorVersion" ]]; then
460463
# use whichever alpine version is provided and select the latest toolchain libs
461464
__AlpineLlvmLibsLookup=1

eng/common/cross/toolchain.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "ppc64le")
8787
set(CMAKE_SYSTEM_PROCESSOR ppc64le)
8888
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl)
8989
set(TOOLCHAIN "powerpc64le-alpine-linux-musl")
90+
elseif(FREEBSD)
91+
set(TOOLCHAIN "powerpc64le-unknown-freebsd14")
9092
else()
9193
set(TOOLCHAIN "powerpc64le-linux-gnu")
9294
endif()

eng/common/native/init-os-and-arch.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ if [ "$os" = "sunos" ]; then
2727
os="solaris"
2828
fi
2929
CPUName=$(isainfo -n)
30+
elif [ "$os" = "freebsd" ]; then
31+
# FreeBSD's `uname -m` is the machine class ("powerpc" for every PowerPC
32+
# variant); `uname -p` gives the specific processor (e.g. powerpc64le).
33+
CPUName=$(uname -p)
3034
else
3135
# For the rest of the operating systems, use uname(1) to determine what the CPU is.
3236
CPUName=$(uname -m)
@@ -75,7 +79,7 @@ case "$CPUName" in
7579
arch=s390x
7680
;;
7781

78-
ppc64le)
82+
ppc64le|powerpc64le)
7983
arch=ppc64le
8084
;;
8185
*)

eng/common/sdk-task.ps1

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ Param(
44
[string] $task,
55
[string] $verbosity = 'minimal',
66
[string] $msbuildEngine = $null,
7-
[switch] $restore,
7+
# Restore defaults to on; -restore is retained only so existing consumers that pass it don't break. Use -norestore to opt out.
8+
[switch] $restore = $true,
9+
[switch] $norestore,
810
[switch] $prepareMachine,
911
[switch][Alias('nobl')]$excludeCIBinaryLog,
1012
[switch]$noWarnAsError,
@@ -18,12 +20,23 @@ $ci = $true
1820
$binaryLog = if ($excludeCIBinaryLog) { $false } else { $true }
1921
$warnAsError = if ($noWarnAsError) { $false } else { $true }
2022

23+
# Reconcile the restore state before importing tools.ps1: it reads $restore at import time to
24+
# decide whether toolset/SDK acquisition installs. -norestore must win so that skipping restore
25+
# also skips toolset initialization, not just the explicit Restore build below.
26+
if ($norestore) { $restore = $false }
27+
28+
# sdk-task runs a standalone Arcade SDK task and does not need repo-specific toolset setup.
29+
# Skip importing configure-toolset.ps1 so its side effects (e.g. a repo's configure-toolset.ps1
30+
# calling exit) don't terminate this script before the task runs.
31+
$disableConfigureToolsetImport = $true
32+
2133
. $PSScriptRoot\tools.ps1
2234

2335
function Print-Usage() {
2436
Write-Host "Common settings:"
2537
Write-Host " -task <value> Name of Arcade task (name of a project in toolset directory of the Arcade SDK package)"
26-
Write-Host " -restore Restore dependencies"
38+
Write-Host " -restore (Legacy) Restore runs by default; retained for backward compatibility. Use -norestore to skip"
39+
Write-Host " -norestore Skip restoring dependencies"
2740
Write-Host " -verbosity <value> Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]"
2841
Write-Host " -help Print help and exit"
2942
Write-Host ""

0 commit comments

Comments
 (0)