Skip to content

Commit 56a45ee

Browse files
Update dependencies from build 307198 (#405)
Updated Dependencies: Microsoft.DotNet.Arcade.Sdk (Version 11.0.0-beta.26165.107 -> 11.0.0-beta.26171.106) [[ commit created by automation ]] Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
1 parent 724f743 commit 56a45ee

29 files changed

Lines changed: 163 additions & 771 deletions

eng/Version.Details.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This file should be imported by eng/Versions.props
66
<Project>
77
<PropertyGroup>
88
<!-- dotnet-dotnet dependencies -->
9-
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.26165.107</MicrosoftDotNetArcadeSdkPackageVersion>
9+
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.26171.106</MicrosoftDotNetArcadeSdkPackageVersion>
1010
</PropertyGroup>
1111
<!--Property group for alternate package version names-->
1212
<PropertyGroup>

eng/Version.Details.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Dependencies>
3-
<Source Uri="https://github.com/dotnet/dotnet" Mapping="symreader" Sha="5ff448a6425ec6980e08b5c9a35e454c8a843c35" BarId="306238" />
3+
<Source Uri="https://github.com/dotnet/dotnet" Mapping="symreader" Sha="840ea139a6e8aebe487f7041190f3865a74378d9" BarId="307198" />
44
<ProductDependencies>
55
</ProductDependencies>
66
<ToolsetDependencies>
7-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26165.107">
7+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26171.106">
88
<Uri>https://github.com/dotnet/dotnet</Uri>
9-
<Sha>5ff448a6425ec6980e08b5c9a35e454c8a843c35</Sha>
9+
<Sha>840ea139a6e8aebe487f7041190f3865a74378d9</Sha>
1010
</Dependency>
1111
</ToolsetDependencies>
1212
</Dependencies>

eng/common/build.ps1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Param(
66
[string][Alias('v')]$verbosity = "minimal",
77
[string] $msbuildEngine = $null,
88
[bool] $warnAsError = $true,
9+
[string] $warnNotAsError = '',
910
[bool] $nodeReuse = $true,
1011
[switch] $buildCheck = $false,
1112
[switch][Alias('r')]$restore,
@@ -70,6 +71,7 @@ function Print-Usage() {
7071
Write-Host " -excludeCIBinarylog Don't output binary log (short: -nobl)"
7172
Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build"
7273
Write-Host " -warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
74+
Write-Host " -warnNotAsError <value> Sets a semi-colon delimited list of warning codes that should not be treated as errors"
7375
Write-Host " -msbuildEngine <value> Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
7476
Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio"
7577
Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)"

eng/common/build.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ usage()
4242
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
4343
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
4444
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
45+
echo " --warnNotAsError <value> Sets a semi-colon delimited list of warning codes that should not be treated as errors"
4546
echo " --buildCheck <value> Sets /check msbuild parameter"
4647
echo " --fromVMR Set when building from within the VMR"
4748
echo ""
@@ -78,6 +79,7 @@ ci=false
7879
clean=false
7980

8081
warn_as_error=true
82+
warn_not_as_error=''
8183
node_reuse=true
8284
build_check=false
8385
binary_log=false
@@ -176,6 +178,10 @@ while [[ $# -gt 0 ]]; do
176178
warn_as_error=$2
177179
shift
178180
;;
181+
-warnnotaserror)
182+
warn_not_as_error=$2
183+
shift
184+
;;
179185
-nodereuse)
180186
node_reuse=$2
181187
shift

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

Lines changed: 68 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,30 @@ parameters:
5353
type: boolean
5454
default: false
5555

56+
# Name of the arcade repository resource in the pipeline.
57+
# This allows repos which haven't been onboarded to Arcade to still use this
58+
# template by checking out the repo as a resource with a custom name and pointing
59+
# this parameter to it.
60+
- name: arcadeRepoResource
61+
type: string
62+
default: self
63+
64+
# Directory name for the self repo under $(Build.SourcesDirectory) in multi-checkout.
65+
# In multi-checkout (when arcadeRepoResource != 'self'), Azure DevOps checks out the
66+
# self repo to $(Build.SourcesDirectory)/<repoName>. Set this to match the auto-generated
67+
# directory name. Using the auto-generated name is necessary rather than explicitly
68+
# defining a checkout path because container jobs expect repos to live under the agent's
69+
# workspace ($(Pipeline.Workspace)). On some self-hosted setups the host path
70+
# (e.g., /mnt/vss/_work) differs from the container path (e.g., /__w), and a custom checkout
71+
# path can fail validation. Using the default checkout location keeps the paths consistent
72+
# and avoids this issue.
73+
- name: selfRepoName
74+
type: string
75+
default: ''
76+
- name: arcadeRepoName
77+
type: string
78+
default: ''
79+
5680
# Pool configuration for the job.
5781
- name: pool
5882
type: object
@@ -71,16 +95,36 @@ jobs:
7195
# Changing the variable name here would require updating the name in https://github.com/dotnet/arcade/blob/main/eng/renovate.json as well.
7296
- name: renovateVersion
7397
value: '42'
98+
readonly: true
99+
- name: renovateLogFilePath
100+
value: '$(Build.ArtifactStagingDirectory)/renovate.json'
101+
readonly: true
74102
- name: dryRunArg
103+
readonly: true
75104
${{ if eq(parameters.dryRun, true) }}:
76105
value: 'full'
77106
${{ else }}:
78107
value: ''
79108
- name: recreateWhenArg
109+
readonly: true
80110
${{ if eq(parameters.forceRecreatePR, true) }}:
81111
value: 'always'
82112
${{ else }}:
83113
value: ''
114+
# In multi-checkout (without custom paths), Azure DevOps places each repo under
115+
# $(Build.SourcesDirectory)/<repoName>. selfRepoName must be provided in that case.
116+
- name: selfRepoPath
117+
readonly: true
118+
${{ if eq(parameters.arcadeRepoResource, 'self') }}:
119+
value: '$(Build.SourcesDirectory)'
120+
${{ else }}:
121+
value: '$(Build.SourcesDirectory)/${{ parameters.selfRepoName }}'
122+
- name: arcadeRepoPath
123+
readonly: true
124+
${{ if eq(parameters.arcadeRepoResource, 'self') }}:
125+
value: '$(Build.SourcesDirectory)'
126+
${{ else }}:
127+
value: '$(Build.SourcesDirectory)/${{ parameters.arcadeRepoName }}'
84128
pool: ${{ parameters.pool }}
85129

86130
templateContext:
@@ -96,17 +140,34 @@ jobs:
96140
steps:
97141
- checkout: self
98142
fetchDepth: 1
143+
144+
- ${{ if ne(parameters.arcadeRepoResource, 'self') }}:
145+
- checkout: ${{ parameters.arcadeRepoResource }}
146+
fetchDepth: 1
99147

100-
- script: renovate-config-validator $(Build.SourcesDirectory)/${{parameters.renovateConfigPath}}
148+
- script: |
149+
renovate-config-validator $(selfRepoPath)/${{parameters.renovateConfigPath}} 2>&1 | tee /tmp/renovate-config-validator.out
150+
validatorExit=${PIPESTATUS[0]}
151+
if grep -q '^ WARN:' /tmp/renovate-config-validator.out; then
152+
echo "##vso[task.logissue type=warning]Renovate config validator produced warnings."
153+
echo "##vso[task.complete result=SucceededWithIssues]"
154+
fi
155+
exit $validatorExit
101156
displayName: Validate Renovate config
102157
env:
103158
LOG_LEVEL: info
104159
LOG_FILE_LEVEL: debug
105160
LOG_FILE: $(Build.ArtifactStagingDirectory)/renovate-config-validator.json
106161
107162
- script: |
108-
. $(Build.SourcesDirectory)/eng/common/renovate.env
109-
renovate
163+
. $(arcadeRepoPath)/eng/common/renovate.env
164+
renovate 2>&1 | tee /tmp/renovate.out
165+
renovateExit=${PIPESTATUS[0]}
166+
if grep -q '^ WARN:' /tmp/renovate.out; then
167+
echo "##vso[task.logissue type=warning]Renovate produced warnings."
168+
echo "##vso[task.complete result=SucceededWithIssues]"
169+
fi
170+
exit $renovateExit
110171
displayName: Run Renovate
111172
env:
112173
RENOVATE_FORK_TOKEN: $(BotAccount-dotnet-renovate-bot-PAT)
@@ -117,13 +178,13 @@ jobs:
117178
RENOVATE_RECREATE_WHEN: $(recreateWhenArg)
118179
LOG_LEVEL: info
119180
LOG_FILE_LEVEL: debug
120-
LOG_FILE: $(Build.ArtifactStagingDirectory)/renovate.json
121-
RENOVATE_CONFIG_FILE: $(Build.SourcesDirectory)/${{parameters.renovateConfigPath}}
181+
LOG_FILE: $(renovateLogFilePath)
182+
RENOVATE_CONFIG_FILE: $(selfRepoPath)/${{parameters.renovateConfigPath}}
122183
123184
- script: |
124185
echo "PRs created by Renovate:"
125-
if [ -s "$(Build.ArtifactStagingDirectory)/renovate-log.json" ]; then
126-
if ! jq -r 'select(.msg == "PR created" and .pr != null) | "https://github.com/\(.repository)/pull/\(.pr)"' "$(Build.ArtifactStagingDirectory)/renovate-log.json" | sort -u; then
186+
if [ -s "$(renovateLogFilePath)" ]; then
187+
if ! jq -r 'select(.msg == "PR created" and .pr != null) | "https://github.com/\(.repository)/pull/\(.pr)"' "$(renovateLogFilePath)" | sort -u; then
127188
echo "##vso[task.logissue type=warning]Failed to parse Renovate log file with jq."
128189
echo "##vso[task.complete result=SucceededWithIssues]"
129190
fi

eng/common/core-templates/jobs/codeql-build.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

eng/common/core-templates/post-build/post-build.yml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,6 @@ parameters:
5050
type: boolean
5151
default: false
5252

53-
- name: SDLValidationParameters
54-
type: object
55-
default:
56-
enable: false
57-
publishGdn: false
58-
continueOnError: false
59-
params: ''
60-
artifactNames: ''
61-
downloadArtifacts: true
62-
6353
- name: isAssetlessBuild
6454
type: boolean
6555
displayName: Is Assetless Build
@@ -103,7 +93,7 @@ parameters:
10393
default: false
10494

10595
stages:
106-
- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
96+
- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true')) }}:
10797
- stage: Validate
10898
dependsOn: ${{ parameters.validateDependsOn }}
10999
displayName: Validate Build Assets
@@ -268,7 +258,7 @@ stages:
268258

269259
- ${{ if ne(parameters.publishAssetsImmediately, 'true') }}:
270260
- stage: publish_using_darc
271-
${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
261+
${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true')) }}:
272262
dependsOn: ${{ parameters.publishDependsOn }}
273263
${{ else }}:
274264
dependsOn: ${{ parameters.validateDependsOn }}

eng/common/core-templates/stages/renovate.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,21 @@ parameters:
3535
type: boolean
3636
default: false
3737

38+
# Name of the arcade repository resource in the pipeline.
39+
# This allows repos which haven't been onboarded to Arcade to still use this
40+
# template by checking out the repo as a resource with a custom name and pointing
41+
# this parameter to it.
42+
- name: arcadeRepoResource
43+
type: string
44+
default: 'self'
45+
46+
- name: selfRepoName
47+
type: string
48+
default: ''
49+
- name: arcadeRepoName
50+
type: string
51+
default: ''
52+
3853
# Pool configuration for the pipeline.
3954
- name: pool
4055
type: object
@@ -69,18 +84,28 @@ extends:
6984
pool: ${{ parameters.pool }}
7085
sdl:
7186
sourceAnalysisPool: ${{ parameters.sdlPool }}
87+
# When repos that aren't onboarded to Arcade use this template, they set the
88+
# arcadeRepoResource parameter to point to their Arcade repo resource. In that case,
89+
# Aracde will be excluded from SDL analysis.
90+
${{ if ne(parameters.arcadeRepoResource, 'self') }}:
91+
sourceRepositoriesToScan:
92+
exclude:
93+
- repository: ${{ parameters.arcadeRepoResource }}
7294
containers:
7395
RenovateContainer:
7496
image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-renovate-${{ parameters.renovateVersion }}-amd64
7597
stages:
7698
- stage: Renovate
7799
displayName: Run Renovate
78100
jobs:
79-
- template: /eng/common/core-templates/job/renovate.yml@self
101+
- template: /eng/common/core-templates/job/renovate.yml@${{ parameters.arcadeRepoResource }}
80102
parameters:
81103
renovateConfigPath: ${{ parameters.renovateConfigPath }}
82104
gitHubRepo: ${{ parameters.gitHubRepo }}
83105
baseBranches: ${{ parameters.baseBranches }}
84106
dryRun: ${{ parameters.dryRun }}
85107
forceRecreatePR: ${{ parameters.forceRecreatePR }}
86108
pool: ${{ parameters.pool }}
109+
arcadeRepoResource: ${{ parameters.arcadeRepoResource }}
110+
selfRepoName: ${{ parameters.selfRepoName }}
111+
arcadeRepoName: ${{ parameters.arcadeRepoName }}

eng/common/core-templates/steps/install-microbuild.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ steps:
7373
# YAML expansion, and Windows vs. Linux/Mac uses different service connections. However,
7474
# we can avoid including the MB install step if not enabled at all. This avoids a bunch of
7575
# extra pipeline authorizations, since most pipelines do not sign on non-Windows.
76-
- template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self
76+
- template: /eng/common/core-templates/steps/install-microbuild-impl.yml
7777
parameters:
7878
enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
7979
microbuildTaskInputs:
@@ -95,7 +95,7 @@ steps:
9595
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test'))
9696

9797
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}:
98-
- template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self
98+
- template: /eng/common/core-templates/steps/install-microbuild-impl.yml
9999
parameters:
100100
enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
101101
microbuildTaskInputs:

eng/common/cross/build-rootfs.sh

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ __FreeBSDPackages+=" krb5"
8686
__FreeBSDPackages+=" terminfo-db"
8787

8888
__OpenBSDVersion="7.8"
89+
__OpenBSDPackages="heimdal-libs"
8990
__OpenBSDPackages+=" icu4c"
9091
__OpenBSDPackages+=" inotify-tools"
9192
__OpenBSDPackages+=" openssl"
92-
__OpenBSDPackages+=" heimdal-libs"
9393

9494
__IllumosPackages="icu"
9595
__IllumosPackages+=" mit-krb5"
@@ -632,19 +632,40 @@ elif [[ "$__CodeName" == "openbsd" ]]; then
632632

633633
echo "Installing packages into sysroot..."
634634

635+
# Fetch package index once
636+
if [[ "$__hasWget" == 1 ]]; then
637+
PKG_INDEX=$(wget -qO- "$PKG_MIRROR/")
638+
else
639+
PKG_INDEX=$(curl -s "$PKG_MIRROR/")
640+
fi
641+
635642
for pkg in $__OpenBSDPackages; do
636-
echo "Resolving package filename for $pkg..."
643+
PKG_FILE=$(echo "$PKG_INDEX" | grep -Po ">\K${pkg}-[0-9][^\" ]*\.tgz" \
644+
| sort -V | tail -n1)
645+
646+
echo "Resolved package filename for $pkg: $PKG_FILE"
647+
648+
[[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; }
637649

638650
if [[ "$__hasWget" == 1 ]]; then
639-
PKG_FILE=$(wget -qO- "$PKG_MIRROR/" | grep -Eo "${pkg}-[0-9][^\" ]*\.tgz" | head -n1)
640-
[[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; }
641651
wget -O- "$PKG_MIRROR/$PKG_FILE" | tar -C "$__RootfsDir" -xzpf -
642652
else
643-
PKG_FILE=$(curl -s "$PKG_MIRROR/" | grep -Eo "${pkg}-[0-9][^\" ]*\.tgz" | head -n1)
644-
[[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; }
645653
curl -SL "$PKG_MIRROR/$PKG_FILE" | tar -C "$__RootfsDir" -xzpf -
646654
fi
647655
done
656+
657+
echo "Creating versionless symlinks for shared libraries..."
658+
# Find all versioned .so files and create the base .so symlink
659+
for lib in "$__RootfsDir/usr/lib/libc++.so."* "$__RootfsDir/usr/lib/libc++abi.so."* "$__RootfsDir/usr/lib/libpthread.so."*; do
660+
if [ -f "$lib" ]; then
661+
# Extract the filename (e.g., libc++.so.12.0)
662+
VERSIONED_NAME=$(basename "$lib")
663+
# Remove the trailing version numbers (e.g., libc++.so)
664+
BASE_NAME=${VERSIONED_NAME%.so.*}.so
665+
# Create the symlink in the same directory
666+
ln -sf "$VERSIONED_NAME" "$__RootfsDir/usr/lib/$BASE_NAME"
667+
fi
668+
done
648669
elif [[ "$__CodeName" == "illumos" ]]; then
649670
mkdir "$__RootfsDir/tmp"
650671
pushd "$__RootfsDir/tmp"

0 commit comments

Comments
 (0)