Skip to content

Commit ba906e8

Browse files
authored
Merge branch 'dotnet:main' into support-forwarded-headers-configuration
2 parents 458941b + 0e7dbef commit ba906e8

File tree

1,491 files changed

+52402
-8262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,491 files changed

+52402
-8262
lines changed

.azure/pipelines/ci-public.yml

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@ pr:
1919
branches:
2020
include:
2121
- '*'
22+
paths:
23+
exclude:
24+
- .devcontainer/*
25+
- .github/*
26+
- .vscode/*
27+
- docs/*
28+
- '**/*.md'
29+
- LICENSE.TXT
30+
- THIRD-PARTY-NOTICES.TXT
2231

2332
parameters:
2433
# Choose whether to skip tests when running pipeline manually.
@@ -38,6 +47,8 @@ parameters:
3847
variables:
3948
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
4049
value: true
50+
- name: GRADLE_USER_HOME
51+
value: $(Build.SourcesDirectory)/.gradle
4152
- name: _TeamName
4253
value: AspNetCore
4354
- name: _PublishUsingPipelines
@@ -559,11 +570,11 @@ stages:
559570
publishOnError: true
560571
includeForks: true
561572

562-
# Helix x64
573+
# Helix x64 subset 1
563574
- template: jobs/default-build.yml
564575
parameters:
565-
jobName: Helix_x64
566-
jobDisplayName: 'Tests: Helix x64'
576+
jobName: Helix_x64_Subset_1
577+
jobDisplayName: 'Tests: Helix x64 Subset 1'
567578
agentOs: Windows
568579
timeoutInMinutes: 240
569580
steps:
@@ -573,17 +584,46 @@ stages:
573584
/p:VsTestUseMSBuildOutput=false
574585
displayName: Build shared fx
575586
# -noBuildRepoTasks -noBuildNative -noBuild to avoid repeating work done in the previous step.
576-
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -nobl -all -noBuildRepoTasks -noBuildNative -noBuild -test
587+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -all -noBuildRepoTasks -noBuildNative -noBuild -test
577588
-projects eng\helix\helix.proj /p:IsHelixPRCheck=true /p:IsHelixJob=true
589+
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
590+
/p:VsTestUseMSBuildOutput=false /p:RunTemplateTests=false /p:HelixSubset=1
591+
displayName: Run build.cmd helix target
592+
env:
593+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
594+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
595+
596+
artifacts:
597+
- name: Helix_Subset_1_Logs_Attempt_$(System.JobAttempt)
598+
path: artifacts/log/
599+
publishOnError: true
600+
includeForks: true
601+
602+
# Helix x64 subset 2
603+
- template: jobs/default-build.yml
604+
parameters:
605+
jobName: Helix_x64_Subset_2
606+
jobDisplayName: 'Tests: Helix x64 Subset 2'
607+
agentOs: Windows
608+
timeoutInMinutes: 240
609+
steps:
610+
# Build the shared framework
611+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -nobl -all -pack -arch x64
578612
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
579613
/p:VsTestUseMSBuildOutput=false
614+
displayName: Build shared fx
615+
# -noBuildRepoTasks -noBuildNative -noBuild to avoid repeating work done in the previous step.
616+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -all -noBuildRepoTasks -noBuildNative -noBuild -test
617+
-projects eng\helix\helix.proj /p:IsHelixPRCheck=true /p:IsHelixJob=true
618+
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
619+
/p:VsTestUseMSBuildOutput=false /p:RunTemplateTests=false /p:HelixSubset=2
580620
displayName: Run build.cmd helix target
581621
env:
582622
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
583623
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
584624

585625
artifacts:
586-
- name: Helix_Logs_Attempt_$(System.JobAttempt)
626+
- name: Helix_Subset_2_Logs_Attempt_$(System.JobAttempt)
587627
path: artifacts/log/
588628
publishOnError: true
589629
includeForks: true
@@ -632,8 +672,8 @@ stages:
632672
platform:
633673
name: 'Managed'
634674
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net10.0-build-amd64'
635-
buildScript: './eng/build.sh --publish --no-build-repo-tasks $(_PublishArgs) $(_InternalRuntimeDownloadArgs)'
636-
skipPublishValidation: true
675+
buildScript: './eng/build.sh'
676+
buildArguments: '--source-build $(_InternalRuntimeDownloadArgs)'
637677
jobProperties:
638678
timeoutInMinutes: 120
639679
variables:

.azure/pipelines/ci.yml

Lines changed: 84 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ parameters:
3131
variables:
3232
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
3333
value: true
34+
- name: GRADLE_USER_HOME
35+
value: $(Build.SourcesDirectory)/.gradle
3436
- name: _TeamName
3537
value: AspNetCore
3638
- name: _PublishUsingPipelines
@@ -79,14 +81,14 @@ variables:
7981
- name: WindowsArm64InstallersLogArgs
8082
value: /bl:artifacts/log/Release/Build.Installers.Arm64.binlog
8183
- name: _InternalRuntimeDownloadArgs
82-
value: -RuntimeSourceFeed https://dotnetbuilds.blob.core.windows.net/internal
84+
value: -RuntimeSourceFeed https://ci.dot.net/internal
8385
-RuntimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
8486
/p:DotNetAssetRootAccessTokenSuffix='$(dotnetbuilds-internal-container-read-token-base64)'
8587
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have to be passed directly. This
8688
# is awkward but necessary because the eng/common/ build scripts don't add the msbuild properties automatically.
8789
- name: _InternalRuntimeDownloadCodeSignArgs
8890
value: $(_InternalRuntimeDownloadArgs)
89-
/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
91+
/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal
9092
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
9193
- group: DotNet-HelixApi-Access
9294
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
@@ -173,6 +175,8 @@ extends:
173175
$(_BuildArgs)
174176
$(_InternalRuntimeDownloadArgs)
175177
$(Windows64LogArgs)
178+
env:
179+
MSBUILDUSESERVER: "1"
176180
displayName: Build x64
177181

178182
# Build the x86 shared framework
@@ -190,6 +194,8 @@ extends:
190194
$(_BuildArgs)
191195
$(_InternalRuntimeDownloadArgs)
192196
$(Windows86LogArgs)
197+
env:
198+
MSBUILDUSESERVER: "1"
193199
displayName: Build x86
194200

195201
# Build the arm64 shared framework
@@ -207,6 +213,8 @@ extends:
207213
$(_BuildArgs)
208214
$(_InternalRuntimeDownloadArgs)
209215
$(WindowsArm64LogArgs)
216+
env:
217+
MSBUILDUSESERVER: "1"
210218
displayName: Build ARM64
211219

212220
- script: .\src\SiteExtensions\build.cmd
@@ -218,6 +226,8 @@ extends:
218226
-noBuildNative
219227
$(_BuildArgs)
220228
$(_InternalRuntimeDownloadArgs)
229+
env:
230+
MSBUILDUSESERVER: "1"
221231
displayName: Build SiteExtension
222232

223233
# This runs code-signing on all packages, zips, and jar files as defined in build/CodeSign.targets. If
@@ -233,6 +243,8 @@ extends:
233243
/p:DotNetSignType=$(_SignType)
234244
$(_BuildArgs)
235245
$(WindowsSignLogArgs)
246+
env:
247+
MSBUILDUSESERVER: "1"
236248
displayName: Code sign packages
237249

238250
# Windows installers bundle x86/x64/arm64 assets
@@ -247,6 +259,8 @@ extends:
247259
$(_BuildArgs)
248260
$(_InternalRuntimeDownloadArgs)
249261
$(WindowsInstallersLogArgs)
262+
env:
263+
MSBUILDUSESERVER: "1"
250264
displayName: Build Installers
251265

252266
# Windows installers bundle and sharedfx msi for arm64
@@ -265,6 +279,8 @@ extends:
265279
$(_PublishArgs)
266280
$(_InternalRuntimeDownloadArgs)
267281
$(WindowsArm64InstallersLogArgs)
282+
env:
283+
MSBUILDUSESERVER: "1"
268284
displayName: Build ARM64 Installers
269285

270286
artifacts:
@@ -534,32 +550,33 @@ extends:
534550
parameters:
535551
inputName: Linux_musl_arm64
536552

553+
- template: .azure/pipelines/jobs/default-build.yml@self
554+
parameters:
555+
jobName: Windows_Test
556+
jobDisplayName: "Test: Windows Server x64"
557+
agentOs: Windows
558+
isAzDOTestingJob: true
559+
continueOnError: true
560+
# Just uploading artifacts/logs/ files can take 15 minutes. Doubling the cancel timeout for this job.
561+
cancelTimeoutInMinutes: 30
562+
buildArgs: -all -pack -test -binaryLog /p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true
563+
/p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunBlazorPlaywrightTemplateTests=true /p:DoNotCleanUpTemplates=true
564+
$(_InternalRuntimeDownloadArgs)
565+
beforeBuild:
566+
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
567+
displayName: Setup IISExpress test certificates and schema
568+
artifacts:
569+
- name: Windows_Test_Logs_Attempt_$(System.JobAttempt)
570+
path: artifacts/log/
571+
publishOnError: true
572+
includeForks: true
573+
- name: Windows_Test_Results_Attempt_$(System.JobAttempt)
574+
path: artifacts/TestResults/
575+
publishOnError: true
576+
includeForks: true
577+
537578
- ${{ if and(ne(parameters.skipTests, 'true'), in(variables['Build.Reason'], 'PullRequest', 'Manual')) }}:
538579
# Test jobs
539-
- template: .azure/pipelines/jobs/default-build.yml@self
540-
parameters:
541-
jobName: Windows_Test
542-
jobDisplayName: "Test: Windows Server x64"
543-
agentOs: Windows
544-
isAzDOTestingJob: true
545-
# Just uploading artifacts/logs/ files can take 15 minutes. Doubling the cancel timeout for this job.
546-
cancelTimeoutInMinutes: 30
547-
buildArgs: -all -pack -test -binaryLog /p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true
548-
/p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false /p:RunBlazorPlaywrightTemplateTests=true
549-
$(_InternalRuntimeDownloadArgs)
550-
beforeBuild:
551-
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
552-
displayName: Setup IISExpress test certificates and schema
553-
artifacts:
554-
- name: Windows_Test_Logs_Attempt_$(System.JobAttempt)
555-
path: artifacts/log/
556-
publishOnError: true
557-
includeForks: true
558-
- name: Windows_Test_Results_Attempt_$(System.JobAttempt)
559-
path: artifacts/TestResults/
560-
publishOnError: true
561-
includeForks: true
562-
563580
- template: .azure/pipelines/jobs/default-build.yml@self
564581
parameters:
565582
jobName: MacOS_Test
@@ -607,26 +624,57 @@ extends:
607624
# Helix x64
608625
- template: .azure/pipelines/jobs/default-build.yml@self
609626
parameters:
610-
jobName: Helix_x64
611-
jobDisplayName: 'Tests: Helix x64'
627+
jobName: Helix_x64_Subset_1
628+
jobDisplayName: 'Tests: Helix x64 Subset 1'
612629
agentOs: Windows
613630
timeoutInMinutes: 240
614631
steps:
615632
# Build the shared framework
616633
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -nobl -all -pack -arch x64
617634
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
635+
env:
636+
MSBUILDUSESERVER: "1"
618637
displayName: Build shared fx
619638
# -noBuildRepoTasks -noBuildNative -noBuild to avoid repeating work done in the previous step.
620-
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -nobl -all -noBuildRepoTasks -noBuildNative -noBuild -test
621-
-projects eng\helix\helix.proj /p:IsHelixPRCheck=true /p:IsHelixJob=true
639+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -all -noBuildRepoTasks -noBuildNative -noBuild -test
640+
-projects eng\helix\helix.proj /p:IsHelixPRCheck=true /p:IsHelixJob=true /p:HelixSubset=1
641+
/p:CrossgenOutput=false /p:RunTemplateTests=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
642+
displayName: Run build.cmd helix target
643+
env:
644+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
645+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
646+
647+
artifacts:
648+
- name: Helix_Logs_Subset_1_Attempt_$(System.JobAttempt)
649+
path: artifacts/log/
650+
publishOnError: true
651+
includeForks: true
652+
653+
# Helix x64
654+
- template: .azure/pipelines/jobs/default-build.yml@self
655+
parameters:
656+
jobName: Helix_x64_Subset_2
657+
jobDisplayName: 'Tests: Helix x64 Subset 2'
658+
agentOs: Windows
659+
timeoutInMinutes: 240
660+
steps:
661+
# Build the shared framework
662+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -nobl -all -pack -arch x64
622663
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
664+
env:
665+
MSBUILDUSESERVER: "1"
666+
displayName: Build shared fx
667+
# -noBuildRepoTasks -noBuildNative -noBuild to avoid repeating work done in the previous step.
668+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -all -noBuildRepoTasks -noBuildNative -noBuild -test
669+
-projects eng\helix\helix.proj /p:IsHelixPRCheck=true /p:IsHelixJob=true /p:HelixSubset=2
670+
/p:CrossgenOutput=false /p:RunTemplateTests=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log $(_InternalRuntimeDownloadArgs)
623671
displayName: Run build.cmd helix target
624672
env:
625673
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
626674
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
627675

628676
artifacts:
629-
- name: Helix_Logs_Attempt_$(System.JobAttempt)
677+
- name: Helix_Logs_Subset_2_Attempt_$(System.JobAttempt)
630678
path: artifacts/log/
631679
publishOnError: true
632680
includeForks: true
@@ -668,16 +716,15 @@ extends:
668716
path: artifacts/log/
669717
publishOnError: true
670718
includeForks: true
671-
672719
# Source build
673720
- template: /eng/common/templates-official/job/source-build.yml@self
674721
parameters:
675722
enableInternalSources: true
676723
platform:
677724
name: 'Managed'
678-
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
679-
buildScript: './eng/build.sh --publish --no-build-repo-tasks $(_PublishArgs) $(_InternalRuntimeDownloadArgs)'
680-
skipPublishValidation: true
725+
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-amd64'
726+
buildScript: './eng/build.sh'
727+
buildArguments: '--source-build $(_InternalRuntimeDownloadArgs)'
681728
jobProperties:
682729
timeoutInMinutes: 120
683730
variables:
@@ -729,7 +776,8 @@ extends:
729776
- Windows_Test
730777
- MacOS_Test
731778
- Linux_Test
732-
- Helix_x64
779+
- Helix_x64_Subset_1
780+
- Helix_x64_Subset_2
733781
- ${{ if eq(variables.enableSourceIndex, 'true') }}:
734782
- SourceIndexStage1
735783
- Source_Build_Managed

0 commit comments

Comments
 (0)