Skip to content

Commit c839119

Browse files
Update dependencies from https://github.com/dotnet/dotnet build 269352
Updated Dependencies: dotnet-ef, Microsoft.EntityFrameworkCore.InMemory, Microsoft.EntityFrameworkCore.Relational, Microsoft.EntityFrameworkCore.Sqlite, Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Tools, Microsoft.EntityFrameworkCore, Microsoft.EntityFrameworkCore.Design (Version 10.0.0-preview.4.25265.101 -> 10.0.0-preview.4.25270.108) Microsoft.Extensions.Caching.Abstractions, Microsoft.Extensions.Caching.Memory, Microsoft.Extensions.Configuration.Abstractions, Microsoft.Extensions.Configuration.Binder, Microsoft.Extensions.Configuration.CommandLine, Microsoft.Extensions.Configuration.EnvironmentVariables, Microsoft.Extensions.Configuration.FileExtensions, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.Configuration.UserSecrets, Microsoft.Extensions.Configuration.Xml, Microsoft.Extensions.Configuration, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.DependencyInjection, Microsoft.Extensions.Diagnostics, Microsoft.Extensions.Diagnostics.Abstractions, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Composite, Microsoft.Extensions.FileProviders.Physical, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.HostFactoryResolver.Sources, Microsoft.Extensions.Hosting.Abstractions, Microsoft.Extensions.Hosting, Microsoft.Extensions.Http, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Configuration, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.Logging.Debug, Microsoft.Extensions.Logging.EventSource, Microsoft.Extensions.Logging.EventLog, Microsoft.Extensions.Logging.TraceSource, Microsoft.Extensions.Logging, Microsoft.Extensions.Options.ConfigurationExtensions, Microsoft.Extensions.Options.DataAnnotations, Microsoft.Extensions.Options, Microsoft.Extensions.Primitives, Microsoft.Internal.Runtime.AspNetCore.Transport, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Diagnostics.EventLog, System.DirectoryServices.Protocols, System.Formats.Asn1, System.IO.Pipelines, System.Net.Http.Json, System.Net.Http.WinHttpHandler, System.Net.ServerSentEvents, System.Reflection.Metadata, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encodings.Web, System.Text.Json, System.Threading.AccessControl, System.Threading.Channels, System.Threading.RateLimiting, Microsoft.Extensions.DependencyModel, Microsoft.NETCore.App.Ref, Microsoft.NET.Runtime.MonoAOTCompiler.Task, Microsoft.NET.Runtime.WebAssembly.Sdk, Microsoft.Bcl.AsyncInterfaces, Microsoft.Bcl.TimeProvider, System.Collections.Immutable, System.Diagnostics.PerformanceCounter, System.IO.Hashing, System.Memory.Data, System.Numerics.Tensors, System.Runtime.Caching, Microsoft.NETCore.App.Runtime.win-x64, Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm, Microsoft.NETCore.BrowserDebugHost.Transport, System.Composition, Microsoft.NETCore.Platforms (Version 10.0.0-preview.5.25265.101 -> 10.0.0-preview.5.25270.108) Microsoft.Web.Xdt (Version 10.0.0-preview.25265.101 -> 10.0.0-preview.25270.108) Microsoft.DotNet.HotReload.Agent, Microsoft.DotNet.HotReload.Agent.Data (Version 10.0.100-preview.5.25265.101 -> 10.0.100-preview.5.25270.108) Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Archives, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.RemoteExecutor, Microsoft.DotNet.SharedFramework.Sdk (Version 10.0.0-beta.25265.101 -> 10.0.0-beta.25270.108)
1 parent 7c4657d commit c839119

File tree

13 files changed

+887
-333
lines changed

13 files changed

+887
-333
lines changed

eng/Version.Details.xml

Lines changed: 185 additions & 185 deletions
Large diffs are not rendered by default.

eng/Versions.props

Lines changed: 89 additions & 89 deletions
Large diffs are not rendered by default.

eng/common/build.ps1

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Param(
2121
[switch] $publish,
2222
[switch] $clean,
2323
[switch][Alias('pb')]$productBuild,
24+
[switch]$fromVMR,
2425
[switch][Alias('bl')]$binaryLog,
2526
[switch][Alias('nobl')]$excludeCIBinarylog,
2627
[switch] $ci,
@@ -74,6 +75,7 @@ function Print-Usage() {
7475
Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)"
7576
Write-Host " -nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
7677
Write-Host " -buildCheck Sets /check msbuild parameter"
78+
Write-Host " -fromVMR Set when building from within the VMR"
7779
Write-Host ""
7880

7981
Write-Host "Command line arguments not listed above are passed thru to msbuild."
@@ -127,7 +129,8 @@ function Build {
127129
/p:Deploy=$deploy `
128130
/p:Test=$test `
129131
/p:Pack=$pack `
130-
/p:DotNetBuildRepo=$productBuild `
132+
/p:DotNetBuild=$productBuild `
133+
/p:DotNetBuildFromVMR=$fromVMR `
131134
/p:IntegrationTest=$integrationTest `
132135
/p:PerformanceTest=$performanceTest `
133136
/p:Sign=$sign `

eng/common/build.sh

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ usage()
4343
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
4444
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
4545
echo " --buildCheck <value> Sets /check msbuild parameter"
46+
echo " --fromVMR Set when building from within the VMR"
4647
echo ""
4748
echo "Command line arguments not listed above are passed thru to msbuild."
4849
echo "Arguments can also be passed in with a single hyphen."
@@ -64,6 +65,7 @@ restore=false
6465
build=false
6566
source_build=false
6667
product_build=false
68+
from_vmr=false
6769
rebuild=false
6870
test=false
6971
integration_test=false
@@ -89,7 +91,7 @@ verbosity='minimal'
8991
runtime_source_feed=''
9092
runtime_source_feed_key=''
9193

92-
properties=''
94+
properties=()
9395
while [[ $# > 0 ]]; do
9496
opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")"
9597
case "$opt" in
@@ -129,19 +131,22 @@ while [[ $# > 0 ]]; do
129131
-pack)
130132
pack=true
131133
;;
132-
-sourcebuild|-sb)
134+
-sourcebuild|-source-build|-sb)
133135
build=true
134136
source_build=true
135137
product_build=true
136138
restore=true
137139
pack=true
138140
;;
139-
-productbuild|-pb)
141+
-productbuild|-product-build|-pb)
140142
build=true
141143
product_build=true
142144
restore=true
143145
pack=true
144146
;;
147+
-fromvmr|-from-vmr)
148+
from_vmr=true
149+
;;
145150
-test|-t)
146151
test=true
147152
;;
@@ -187,7 +192,7 @@ while [[ $# > 0 ]]; do
187192
shift
188193
;;
189194
*)
190-
properties="$properties $1"
195+
properties+=("$1")
191196
;;
192197
esac
193198

@@ -221,7 +226,7 @@ function Build {
221226
InitializeCustomToolset
222227

223228
if [[ ! -z "$projects" ]]; then
224-
properties="$properties /p:Projects=$projects"
229+
properties+=("/p:Projects=$projects")
225230
fi
226231

227232
local bl=""
@@ -241,8 +246,9 @@ function Build {
241246
/p:RepoRoot="$repo_root" \
242247
/p:Restore=$restore \
243248
/p:Build=$build \
244-
/p:DotNetBuildRepo=$product_build \
249+
/p:DotNetBuild=$product_build \
245250
/p:DotNetBuildSourceOnly=$source_build \
251+
/p:DotNetBuildFromVMR=$from_vmr \
246252
/p:Rebuild=$rebuild \
247253
/p:Test=$test \
248254
/p:Pack=$pack \
@@ -251,7 +257,7 @@ function Build {
251257
/p:Sign=$sign \
252258
/p:Publish=$publish \
253259
/p:RestoreStaticGraphEnableBinaryLogger=$binary_log \
254-
$properties
260+
"${properties[@]}"
255261

256262
ExitWithExitCode 0
257263
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,6 @@ stages:
193193
buildId: $(AzDOBuildId)
194194
artifactName: PackageArtifacts
195195
checkDownloadedFiles: true
196-
itemPattern: |
197-
**
198-
!**/Microsoft.SourceBuild.Intermediate.*.nupkg
199196

200197
# This is necessary whenever we want to publish/restore to an AzDO private feed
201198
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here

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

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -48,38 +48,3 @@ steps:
4848
eq(variables['_SignType'], 'real')
4949
)
5050
))
51-
52-
# Workaround for ESRP CLI on Linux - https://github.com/dotnet/source-build/issues/4964
53-
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
54-
- task: UseDotNet@2
55-
displayName: Install .NET 9.0 SDK for ESRP CLI Workaround
56-
inputs:
57-
packageType: sdk
58-
version: 9.0.x
59-
installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet
60-
workingDirectory: ${{ parameters.microBuildOutputFolder }}
61-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
62-
63-
- task: PowerShell@2
64-
displayName: Workaround for ESRP CLI on Linux
65-
inputs:
66-
targetType: 'inline'
67-
script: |
68-
Write-Host "Copying Linux Path"
69-
$MBSIGN_APPFOLDER = '$(MBSIGN_APPFOLDER)'
70-
$MBSIGN_APPFOLDER = ($MBSIGN_APPFOLDER -replace '/build', '')
71-
72-
$versionRegex = '\d+\.\d+\.\d+'
73-
$package = Get-ChildItem -Path $MBSIGN_APPFOLDER -Directory |
74-
Where-Object { $_.Name -match $versionRegex }
75-
76-
if ($package.Count -ne 1) {
77-
Write-Host "There should be exactly one matching subfolder, but found $($package.Count)."
78-
exit 1
79-
}
80-
81-
$MBSIGN_APPFOLDER = $package[0].FullName + '/build'
82-
$MBSIGN_APPFOLDER | Write-Host
83-
$SignConfigPath = $MBSIGN_APPFOLDER + '/signconfig.xml'
84-
Copy-Item -Path "$(MBSIGN_APPFOLDER)/signconfig.xml" -Destination $SignConfigPath -Force
85-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
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)