Skip to content

Commit 619b55d

Browse files
authored
Merge the net10 runtime, aspnetcore, windowsdesktop, and arcade codeflows (#43070)
2 parents 3f06bb6 + ad78783 commit 619b55d

File tree

38 files changed

+446
-327
lines changed

38 files changed

+446
-327
lines changed

.devcontainer/vmr/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// The container supports source-building the SDK
44
{
55
"name": "VMR with PR changes",
6-
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39",
6+
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9",
77
"hostRequirements": {
88
// A completely source built .NET is >64 GB with all the repos/artifacts
99
"storage": "128gb"

.vsts-ci.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -294,13 +294,15 @@ extends:
294294
runTests: false
295295

296296
############### SOURCE BUILD ###############
297-
- template: /eng/common/templates-official/job/source-build.yml@self
298-
parameters:
299-
platform:
300-
name: Managed
301-
container: centosStream9
302-
jobProperties:
303-
timeoutInMinutes: 30
297+
# Temporarily removed until the SDK can target net10. The assets produced by upstream repos
298+
# are net10, but this repo needs net9.
299+
# - template: /eng/common/templates-official/job/source-build.yml@self
300+
# parameters:
301+
# platform:
302+
# name: Managed
303+
# container: centosStream9
304+
# jobProperties:
305+
# timeoutInMinutes: 30
304306

305307
############### DOTNET-FORMAT ###############
306308
- ${{ if or(eq(parameters.runTestBuild, true), eq(variables['Build.Reason'], 'PullRequest')) }}:

.vsts-pr.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,15 @@ stages:
6060
helixTargetQueue: osx.13.amd64.open
6161

6262
############### SOURCE BUILD ###############
63-
- template: /eng/common/templates/job/source-build.yml
64-
parameters:
65-
platform:
66-
name: Managed
67-
container: centosStream9
68-
jobProperties:
69-
timeoutInMinutes: 30
63+
# Temporarily removed until the SDK can target net10. The assets produced by upstream repos
64+
# are net10, but this repo needs net9.
65+
# - template: /eng/common/templates-official/job/source-build.yml@self
66+
# parameters:
67+
# platform:
68+
# name: Managed
69+
# container: centosStream9
70+
# jobProperties:
71+
# timeoutInMinutes: 30
7072

7173
############### DOTNET-FORMAT ###############
7274
- template: /eng/dotnet-format/dotnet-format-integration.yml

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
<!-- NU1701 Disable implicit package target fallback, and disable warning for when we explicitly add it (currently needed for
4545
Microsoft.ApplicationInsights) -->
4646
<!-- NU1507 Disable multi-feed check as .NET uses multiple internal feeds intentionally -->
47-
<NoWarn>$(NoWarn);NU1701;NU1507</NoWarn>
47+
<NoWarn>$(NoWarn);NU1701;NU1507;NU1202</NoWarn>
4848
<!-- do not enable analyzers on source build-->
4949
<EnforceCodeStyleInBuild Condition="'$(DotNetBuildSourceOnly)' != 'true'">true</EnforceCodeStyleInBuild>
5050
<DisableImplicitPackageTargetFallback>true</DisableImplicitPackageTargetFallback>

eng/SourceBuildPrebuiltBaseline.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<UsagePattern IdentityGlob="Microsoft.Net.Compilers.Toolset.Framework/*" />
4848

4949
<!-- These are coming in via runtime but the source-build infra isn't able to automatically pick up the right intermediate. -->
50-
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Crossgen2.linux-x64/*9.0.*" />
50+
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Crossgen2.linux-x64/*10.0.*" />
5151

5252
<UsagePattern IdentityGlob="System.IO.Pipelines/*8.0.0*" />
5353
<UsagePattern IdentityGlob="System.Threading.Tasks.Dataflow/*8.0.0*" />

eng/Version.Details.xml

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

eng/Versions.props

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

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

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ parameters:
1919
# publishing defaults
2020
artifacts: ''
2121
enableMicrobuild: false
22+
enableMicrobuildForMacAndLinux: false
2223
enablePublishBuildArtifacts: false
2324
enablePublishBuildAssets: false
2425
enablePublishTestResults: false
@@ -134,11 +135,26 @@ jobs:
134135
signType: $(_SignType)
135136
zipSources: false
136137
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
138+
${{ if and(eq(parameters.enableMicrobuildForMacAndLinux, 'true'), ne(variables['Agent.Os'], 'Windows_NT')) }}:
139+
azureSubscription: 'MicroBuild Signing Task (DevDiv)'
137140
env:
138141
TeamName: $(_TeamName)
139142
MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)'
143+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
140144
continueOnError: ${{ parameters.continueOnError }}
141-
condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
145+
condition: and(
146+
succeeded(),
147+
or(
148+
and(
149+
eq(variables['Agent.Os'], 'Windows_NT'),
150+
in(variables['_SignType'], 'real', 'test')
151+
),
152+
and(
153+
${{ eq(parameters.enableMicrobuildForMacAndLinux, true) }},
154+
ne(variables['Agent.Os'], 'Windows_NT'),
155+
eq(variables['_SignType'], 'real')
156+
)
157+
))
142158

143159
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
144160
- task: NuGetAuthenticate@1
@@ -171,7 +187,19 @@ jobs:
171187
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
172188
- task: MicroBuildCleanup@1
173189
displayName: Execute Microbuild cleanup tasks
174-
condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
190+
condition: and(
191+
always(),
192+
or(
193+
and(
194+
eq(variables['Agent.Os'], 'Windows_NT'),
195+
in(variables['_SignType'], 'real', 'test')
196+
),
197+
and(
198+
${{ eq(parameters.enableMicrobuildForMacAndLinux, true) }},
199+
ne(variables['Agent.Os'], 'Windows_NT'),
200+
eq(variables['_SignType'], 'real')
201+
)
202+
))
175203
continueOnError: ${{ parameters.continueOnError }}
176204
env:
177205
TeamName: $(_TeamName)
Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
parameters:
22
runAsPublic: false
3-
sourceIndexUploadPackageVersion: 2.0.0-20240522.1
4-
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240522.1
5-
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
63
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
74
preSteps: []
85
binlogPath: artifacts/log/Debug/Build.binlog
@@ -16,12 +13,6 @@ jobs:
1613
dependsOn: ${{ parameters.dependsOn }}
1714
condition: ${{ parameters.condition }}
1815
variables:
19-
- name: SourceIndexUploadPackageVersion
20-
value: ${{ parameters.sourceIndexUploadPackageVersion }}
21-
- name: SourceIndexProcessBinlogPackageVersion
22-
value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
23-
- name: SourceIndexPackageSource
24-
value: ${{ parameters.sourceIndexPackageSource }}
2516
- name: BinlogPath
2617
value: ${{ parameters.binlogPath }}
2718
- template: /eng/common/core-templates/variables/pool-providers.yml
@@ -34,48 +25,20 @@ jobs:
3425
pool:
3526
${{ if eq(variables['System.TeamProject'], 'public') }}:
3627
name: $(DncEngPublicBuildPool)
37-
image: 1es-windows-2022-open
38-
os: windows
28+
image: windows.vs2022.amd64.open
3929
${{ if eq(variables['System.TeamProject'], 'internal') }}:
4030
name: $(DncEngInternalBuildPool)
41-
image: 1es-windows-2022
42-
os: windows
31+
image: windows.vs2022.amd64
4332

4433
steps:
4534
- ${{ if eq(parameters.is1ESPipeline, '') }}:
4635
- 'Illegal entry point, is1ESPipeline is not defined. Repository yaml should not directly reference templates in core-templates folder.': error
4736

4837
- ${{ each preStep in parameters.preSteps }}:
4938
- ${{ preStep }}
50-
51-
- task: UseDotNet@2
52-
displayName: Use .NET 8 SDK
53-
inputs:
54-
packageType: sdk
55-
version: 8.0.x
56-
installationPath: $(Agent.TempDirectory)/dotnet
57-
workingDirectory: $(Agent.TempDirectory)
58-
59-
- script: |
60-
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
61-
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
62-
displayName: Download Tools
63-
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
64-
workingDirectory: $(Agent.TempDirectory)
65-
6639
- script: ${{ parameters.sourceIndexBuildCommand }}
6740
displayName: Build Repository
6841

69-
- script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(Build.SourcesDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output
70-
displayName: Process Binlog into indexable sln
71-
72-
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
73-
- task: AzureCLI@2
74-
displayName: Log in to Azure and upload stage1 artifacts to source index
75-
inputs:
76-
azureSubscription: 'SourceDotNet Stage1 Publish'
77-
addSpnToEnvironment: true
78-
scriptType: 'ps'
79-
scriptLocation: 'inlineScript'
80-
inlineScript: |
81-
$(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
42+
- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml
43+
parameters:
44+
binLogPath: ${{ parameters.binLogPath }}

eng/common/core-templates/steps/publish-logs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ steps:
3434
'$(akams-client-id)'
3535
'$(microsoft-symbol-server-pat)'
3636
'$(symweb-symbol-server-pat)'
37+
'$(dnceng-symbol-server-pat)'
3738
'$(dn-bot-all-orgs-build-rw-code-rw)'
39+
'$(System.AccessToken)'
3840
${{parameters.CustomSensitiveDataList}}
3941
continueOnError: true
4042
condition: always()

0 commit comments

Comments
 (0)