Skip to content

Commit aea5651

Browse files
[main] Update dependencies from dotnet/arcade (#7463)
* Update dependencies from https://github.com/dotnet/arcade build 20250509.2 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions From Version 10.0.0-beta.25253.1 -> To Version 10.0.0-beta.25259.2 * Update dependencies from https://github.com/dotnet/arcade build 20250518.1 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions From Version 10.0.0-beta.25253.1 -> To Version 10.0.0-beta.25268.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric StJohn <[email protected]>
1 parent d105477 commit aea5651

File tree

12 files changed

+617
-84
lines changed

12 files changed

+617
-84
lines changed

eng/Version.Details.xml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,38 @@
77
</Dependency>
88
</ProductDependencies>
99
<ToolsetDependencies>
10-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25253.1">
10+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25268.1">
1111
<Uri>https://github.com/dotnet/arcade</Uri>
12-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
12+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
1313
</Dependency>
14-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="10.0.0-beta.25253.1">
14+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="10.0.0-beta.25268.1">
1515
<Uri>https://github.com/dotnet/arcade</Uri>
16-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
16+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
1717
</Dependency>
18-
<Dependency Name="Microsoft.DotNet.SignTool" Version="10.0.0-beta.25253.1">
18+
<Dependency Name="Microsoft.DotNet.SignTool" Version="10.0.0-beta.25268.1">
1919
<Uri>https://github.com/dotnet/arcade</Uri>
20-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
20+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
2121
</Dependency>
22-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="10.0.0-beta.25253.1">
22+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="10.0.0-beta.25268.1">
2323
<Uri>https://github.com/dotnet/arcade</Uri>
24-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
24+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
2525
</Dependency>
2626
<!-- Stay on package 8.0 until we stop testing for net6.0
2727
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="9.0.0-beta.24212.4">
2828
<Uri>https://github.com/dotnet/arcade</Uri>
2929
<Sha>812d978c303174dc1aa305d7359e79053d7d4971</Sha>
3030
</Dependency> -->
31-
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="10.0.0-beta.25253.1">
31+
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="10.0.0-beta.25268.1">
3232
<Uri>https://github.com/dotnet/arcade</Uri>
33-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
33+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
3434
</Dependency>
35-
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="10.0.0-beta.25253.1">
35+
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="10.0.0-beta.25268.1">
3636
<Uri>https://github.com/dotnet/arcade</Uri>
37-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
37+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
3838
</Dependency>
39-
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25253.1">
39+
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25268.1">
4040
<Uri>https://github.com/dotnet/arcade</Uri>
41-
<Sha>cdf9c563205c673b7df205e24564aa48dbc341c3</Sha>
41+
<Sha>35a34fa5ab9b2f97d3f7bdf48a7c2100727308b3</Sha>
4242
</Dependency>
4343
</ToolsetDependencies>
4444
</Dependencies>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
<MicrosoftDotNetBuildTasksTemplatingVersion>9.0.0-beta.24212.4</MicrosoftDotNetBuildTasksTemplatingVersion>
9696
<MicrosoftDotNetPlatformAbstractionsVersion>5.0.0-preview.5.20278.1</MicrosoftDotNetPlatformAbstractionsVersion>
9797
<MicrosoftDotNetRemoteExecutorVersion>8.0.0-beta.24525.2</MicrosoftDotNetRemoteExecutorVersion>
98-
<MicrosoftDotNetXUnitExtensionsVersion>10.0.0-beta.25225.4</MicrosoftDotNetXUnitExtensionsVersion>
98+
<MicrosoftDotNetXUnitExtensionsVersion>10.0.0-beta.25268.1</MicrosoftDotNetXUnitExtensionsVersion>
9999
<MicrosoftExtensionsDependencyModelVersion>9.0.4</MicrosoftExtensionsDependencyModelVersion>
100100
<MicrosoftMLOnnxTestModelsVersion>0.0.6-test</MicrosoftMLOnnxTestModelsVersion>
101101
<MicrosoftMLTensorFlowTestModelsVersion>0.0.13-test</MicrosoftMLTensorFlowTestModelsVersion>

eng/common/build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,14 @@ while [[ $# > 0 ]]; do
129129
-pack)
130130
pack=true
131131
;;
132-
-sourcebuild|-sb)
132+
-sourcebuild|-source-build|-sb)
133133
build=true
134134
source_build=true
135135
product_build=true
136136
restore=true
137137
pack=true
138138
;;
139-
-productBuild|-pb)
139+
-productbuild|-product-build|-pb)
140140
build=true
141141
product_build=true
142142
restore=true

eng/common/core-templates/steps/source-build.yml

Lines changed: 7 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,6 @@ steps:
1919
set -x
2020
df -h
2121
22-
# If file changes are detected, set CopyWipIntoInnerSourceBuildRepo to copy the WIP changes into the inner source build repo.
23-
internalRestoreArgs=
24-
if ! git diff --quiet; then
25-
internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true'
26-
# The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo.
27-
# This only works if there is a username/email configured, which won't be the case in most CI runs.
28-
git config --get user.email
29-
if [ $? -ne 0 ]; then
30-
git config user.email [email protected]
31-
git config user.name dn-bot
32-
fi
33-
fi
34-
3522
# If building on the internal project, the internal storage variable may be available (usually only if needed)
3623
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
3724
# in the default public locations.
@@ -46,34 +33,14 @@ steps:
4633
buildConfig='$(_BuildConfig)'
4734
fi
4835
49-
officialBuildArgs=
50-
if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then
51-
officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)'
52-
fi
53-
5436
targetRidArgs=
5537
if [ '${{ parameters.platform.targetRID }}' != '' ]; then
5638
targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}'
5739
fi
5840
59-
runtimeOsArgs=
60-
if [ '${{ parameters.platform.runtimeOS }}' != '' ]; then
61-
runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}'
62-
fi
63-
64-
baseOsArgs=
65-
if [ '${{ parameters.platform.baseOS }}' != '' ]; then
66-
baseOsArgs='/p:BaseOS=${{ parameters.platform.baseOS }}'
67-
fi
68-
69-
publishArgs=
70-
if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then
71-
publishArgs='--publish'
72-
fi
73-
74-
assetManifestFileName=SourceBuild_RidSpecific.xml
75-
if [ '${{ parameters.platform.name }}' != '' ]; then
76-
assetManifestFileName=SourceBuild_${{ parameters.platform.name }}.xml
41+
baseRidArgs=
42+
if [ '${{ parameters.platform.baseRID }}' != '' ]; then
43+
baseRidArgs='/p:BaseRid=${{ parameters.platform.baseRID }}'
7744
fi
7845
7946
portableBuildArgs=
@@ -83,40 +50,21 @@ steps:
8350
8451
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
8552
--configuration $buildConfig \
86-
--restore --build --pack $publishArgs -bl \
53+
--restore --build --pack -bl \
54+
--source-build \
8755
${{ parameters.platform.buildArguments }} \
88-
$officialBuildArgs \
8956
$internalRuntimeDownloadArgs \
90-
$internalRestoreArgs \
9157
$targetRidArgs \
92-
$runtimeOsArgs \
93-
$baseOsArgs \
58+
$baseRidArgs \
9459
$portableBuildArgs \
95-
/p:DotNetBuildSourceOnly=true \
96-
/p:DotNetBuildRepo=true \
97-
/p:AssetManifestFileName=$assetManifestFileName
9860
displayName: Build
9961

100-
# Upload build logs for diagnosis.
101-
- task: CopyFiles@2
102-
displayName: Prepare BuildLogs staging directory
103-
inputs:
104-
SourceFolder: '$(Build.SourcesDirectory)'
105-
Contents: |
106-
**/*.log
107-
**/*.binlog
108-
artifacts/sb/prebuilt-report/**
109-
TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
110-
CleanTargetFolder: true
111-
continueOnError: true
112-
condition: succeededOrFailed()
113-
11462
- template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml
11563
parameters:
11664
is1ESPipeline: ${{ parameters.is1ESPipeline }}
11765
args:
11866
displayName: Publish BuildLogs
119-
targetPath: '$(Build.StagingDirectory)/BuildLogs'
67+
targetPath: artifacts/log/${{ coalesce(variables._BuildConfig, 'Release') }}
12068
artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt)
12169
continueOnError: true
12270
condition: succeededOrFailed()

eng/common/darc-init.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function InstallDarcCli {
6868
fi
6969
fi
7070

71-
local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json"
71+
local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json"
7272

7373
echo "Installing Darc CLI version $darcVersion..."
7474
echo "You may need to restart your command shell if this is the first dotnet tool you have installed."
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet).
2+
### They initialize the darc CLI and pull the new updates.
3+
### Changes are applied locally onto the already cloned VMR (located in $vmrPath).
4+
5+
parameters:
6+
- name: targetRef
7+
displayName: Target revision in dotnet/<repo> to synchronize
8+
type: string
9+
default: $(Build.SourceVersion)
10+
11+
- name: vmrPath
12+
displayName: Path where the dotnet/dotnet is checked out to
13+
type: string
14+
default: $(Agent.BuildDirectory)/vmr
15+
16+
- name: additionalSyncs
17+
displayName: Optional list of package names whose repo's source will also be synchronized in the local VMR, e.g. NuGet.Protocol
18+
type: object
19+
default: []
20+
21+
steps:
22+
- checkout: vmr
23+
displayName: Clone dotnet/dotnet
24+
path: vmr
25+
clean: true
26+
27+
- checkout: self
28+
displayName: Clone $(Build.Repository.Name)
29+
path: repo
30+
fetchDepth: 0
31+
32+
# This step is needed so that when we get a detached HEAD / shallow clone,
33+
# we still pull the commit into the temporary repo clone to use it during the sync.
34+
# Also unshallow the clone so that forwardflow command would work.
35+
- script: |
36+
git branch repo-head
37+
git rev-parse HEAD
38+
displayName: Label PR commit
39+
workingDirectory: $(Agent.BuildDirectory)/repo
40+
41+
- script: |
42+
vmr_sha=$(grep -oP '(?<=Sha=")[^"]*' $(Agent.BuildDirectory)/repo/eng/Version.Details.xml)
43+
echo "##vso[task.setvariable variable=vmr_sha]$vmr_sha"
44+
displayName: Obtain the vmr sha from Version.Details.xml (Unix)
45+
condition: ne(variables['Agent.OS'], 'Windows_NT')
46+
workingDirectory: $(Agent.BuildDirectory)/repo
47+
48+
- powershell: |
49+
[xml]$xml = Get-Content -Path $(Agent.BuildDirectory)/repo/eng/Version.Details.xml
50+
$vmr_sha = $xml.SelectSingleNode("//Source").Sha
51+
Write-Output "##vso[task.setvariable variable=vmr_sha]$vmr_sha"
52+
displayName: Obtain the vmr sha from Version.Details.xml (Windows)
53+
condition: eq(variables['Agent.OS'], 'Windows_NT')
54+
workingDirectory: $(Agent.BuildDirectory)/repo
55+
56+
- script: |
57+
git fetch --all
58+
git checkout $(vmr_sha)
59+
displayName: Checkout VMR at correct sha for repo flow
60+
workingDirectory: ${{ parameters.vmrPath }}
61+
62+
- script: |
63+
git config --global user.name "dotnet-maestro[bot]"
64+
git config --global user.email "dotnet-maestro[bot]@users.noreply.github.com"
65+
displayName: Set git author to dotnet-maestro[bot]
66+
workingDirectory: ${{ parameters.vmrPath }}
67+
68+
- script: |
69+
./eng/common/vmr-sync.sh \
70+
--vmr ${{ parameters.vmrPath }} \
71+
--tmp $(Agent.TempDirectory) \
72+
--azdev-pat '$(dn-bot-all-orgs-code-r)' \
73+
--ci \
74+
--debug
75+
76+
if [ "$?" -ne 0 ]; then
77+
echo "##vso[task.logissue type=error]Failed to synchronize the VMR"
78+
exit 1
79+
fi
80+
displayName: Sync repo into VMR (Unix)
81+
condition: ne(variables['Agent.OS'], 'Windows_NT')
82+
workingDirectory: $(Agent.BuildDirectory)/repo
83+
84+
- script: |
85+
git config --global diff.astextplain.textconv echo
86+
git config --system core.longpaths true
87+
displayName: Configure Windows git (longpaths, astextplain)
88+
condition: eq(variables['Agent.OS'], 'Windows_NT')
89+
90+
- powershell: |
91+
./eng/common/vmr-sync.ps1 `
92+
-vmr ${{ parameters.vmrPath }} `
93+
-tmp $(Agent.TempDirectory) `
94+
-azdevPat '$(dn-bot-all-orgs-code-r)' `
95+
-ci `
96+
-debugOutput
97+
98+
if ($LASTEXITCODE -ne 0) {
99+
echo "##vso[task.logissue type=error]Failed to synchronize the VMR"
100+
exit 1
101+
}
102+
displayName: Sync repo into VMR (Windows)
103+
condition: eq(variables['Agent.OS'], 'Windows_NT')
104+
workingDirectory: $(Agent.BuildDirectory)/repo
105+
106+
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
107+
- task: CopyFiles@2
108+
displayName: Collect failed patches
109+
condition: failed()
110+
inputs:
111+
SourceFolder: '$(Agent.TempDirectory)'
112+
Contents: '*.patch'
113+
TargetFolder: '$(Build.ArtifactStagingDirectory)/FailedPatches'
114+
115+
- publish: '$(Build.ArtifactStagingDirectory)/FailedPatches'
116+
artifact: $(System.JobDisplayName)_FailedPatches
117+
displayName: Upload failed patches
118+
condition: failed()
119+
120+
- ${{ each assetName in parameters.additionalSyncs }}:
121+
# The vmr-sync script ends up staging files in the local VMR so we have to commit those
122+
- script:
123+
git commit --allow-empty -am "Forward-flow $(Build.Repository.Name)"
124+
displayName: Commit local VMR changes
125+
workingDirectory: ${{ parameters.vmrPath }}
126+
127+
- script: |
128+
set -ex
129+
130+
echo "Searching for details of asset ${{ assetName }}..."
131+
132+
# Use darc to get dependencies information
133+
dependencies=$(./.dotnet/dotnet darc get-dependencies --name '${{ assetName }}' --ci)
134+
135+
# Extract repository URL and commit hash
136+
repository=$(echo "$dependencies" | grep 'Repo:' | sed 's/Repo:[[:space:]]*//' | head -1)
137+
138+
if [ -z "$repository" ]; then
139+
echo "##vso[task.logissue type=error]Asset ${{ assetName }} not found in the dependency list"
140+
exit 1
141+
fi
142+
143+
commit=$(echo "$dependencies" | grep 'Commit:' | sed 's/Commit:[[:space:]]*//' | head -1)
144+
145+
echo "Updating the VMR from $repository / $commit..."
146+
cd ..
147+
git clone $repository ${{ assetName }}
148+
cd ${{ assetName }}
149+
git checkout $commit
150+
git branch "sync/$commit"
151+
152+
./eng/common/vmr-sync.sh \
153+
--vmr ${{ parameters.vmrPath }} \
154+
--tmp $(Agent.TempDirectory) \
155+
--azdev-pat '$(dn-bot-all-orgs-code-r)' \
156+
--ci \
157+
--debug
158+
159+
if [ "$?" -ne 0 ]; then
160+
echo "##vso[task.logissue type=error]Failed to synchronize the VMR"
161+
exit 1
162+
fi
163+
displayName: Sync ${{ assetName }} into (Unix)
164+
condition: ne(variables['Agent.OS'], 'Windows_NT')
165+
workingDirectory: $(Agent.BuildDirectory)/repo
166+
167+
- powershell: |
168+
$ErrorActionPreference = 'Stop'
169+
170+
Write-Host "Searching for details of asset ${{ assetName }}..."
171+
172+
$dependencies = .\.dotnet\dotnet darc get-dependencies --name '${{ assetName }}' --ci
173+
174+
$repository = $dependencies | Select-String -Pattern 'Repo:\s+([^\s]+)' | Select-Object -First 1
175+
$repository -match 'Repo:\s+([^\s]+)' | Out-Null
176+
$repository = $matches[1]
177+
178+
if ($repository -eq $null) {
179+
Write-Error "Asset ${{ assetName }} not found in the dependency list"
180+
exit 1
181+
}
182+
183+
$commit = $dependencies | Select-String -Pattern 'Commit:\s+([^\s]+)' | Select-Object -First 1
184+
$commit -match 'Commit:\s+([^\s]+)' | Out-Null
185+
$commit = $matches[1]
186+
187+
Write-Host "Updating the VMR from $repository / $commit..."
188+
cd ..
189+
git clone $repository ${{ assetName }}
190+
cd ${{ assetName }}
191+
git checkout $commit
192+
git branch "sync/$commit"
193+
194+
.\eng\common\vmr-sync.ps1 `
195+
-vmr ${{ parameters.vmrPath }} `
196+
-tmp $(Agent.TempDirectory) `
197+
-azdevPat '$(dn-bot-all-orgs-code-r)' `
198+
-ci `
199+
-debugOutput
200+
201+
if ($LASTEXITCODE -ne 0) {
202+
echo "##vso[task.logissue type=error]Failed to synchronize the VMR"
203+
exit 1
204+
}
205+
displayName: Sync ${{ assetName }} into (Windows)
206+
condition: ne(variables['Agent.OS'], 'Windows_NT')
207+
workingDirectory: $(Agent.BuildDirectory)/repo

0 commit comments

Comments
 (0)