Skip to content

Commit ba6d839

Browse files
author
John Luo
authored
Merge branch 'master' into merge/release/3.1-to-master
2 parents 63a705f + 3787d7e commit ba6d839

File tree

1,673 files changed

+40488
-21412
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,673 files changed

+40488
-21412
lines changed

.azure/pipelines/ci.yml

Lines changed: 81 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ trigger:
77
batch: true
88
branches:
99
include:
10+
- blazor-wasm
1011
- master
1112
- release/*
12-
- internal/release/3.*
1313

1414
# Run PR validation on all branches
1515
pr:
@@ -32,6 +32,8 @@ variables:
3232
- name: _DotNetValidationArtifactsCategory
3333
value: .NETCORE
3434
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
35+
- name: _UseHelixOpenQueues
36+
value: 'true'
3537
- name: _BuildArgs
3638
value: ''
3739
- name: _PublishArgs
@@ -51,7 +53,9 @@ variables:
5153
# to have it in two different forms
5254
- name: _InternalRuntimeDownloadCodeSignArgs
5355
value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
54-
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
56+
- group: DotNet-HelixApi-Access
57+
- name: _UseHelixOpenQueues
58+
value: 'false'
5559
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
5660
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
5761
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
@@ -82,7 +86,7 @@ variables:
8286
# used for post-build phases, internal builds only
8387
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
8488
- group: DotNet-AspNet-SDLValidation-Params
85-
89+
8690
stages:
8791
- stage: build
8892
displayName: Build
@@ -151,7 +155,7 @@ stages:
151155

152156
# Build the x86 shared framework
153157
# TODO: make it possible to build for one Windows architecture at a time
154-
# This is going to actually build x86 native assets. See https://github.com/aspnet/AspNetCore/issues/7196
158+
# This is going to actually build x86 native assets. See https://github.com/dotnet/aspnetcore/issues/7196
155159
- script: ./build.cmd
156160
-ci
157161
-arch x86
@@ -172,6 +176,7 @@ stages:
172176
-noBuildDeps
173177
$(_BuildArgs)
174178
$(_InternalRuntimeDownloadArgs)
179+
condition: ne(variables['Build.Reason'], 'PullRequest')
175180
displayName: Build SiteExtension
176181

177182
# This runs code-signing on all packages, zips, and jar files as defined in build/CodeSign.targets. If https://github.com/dotnet/arcade/issues/1957 is resolved,
@@ -489,7 +494,7 @@ stages:
489494
jobDisplayName: "Test: Windows Server 2016 x64"
490495
agentOs: Windows
491496
isTestingJob: true
492-
buildArgs: -all -pack -test -BuildNative "/p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
497+
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
493498
beforeBuild:
494499
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
495500
displayName: Setup IISExpress test certificates and schema
@@ -507,7 +512,7 @@ stages:
507512
- name: Windows_Test_Dumps
508513
path: artifacts/dumps/
509514
publishOnError: true
510-
includeForks: false
515+
includeForks: true
511516
- name: Windows_Test_Logs
512517
path: artifacts/log/
513518
publishOnError: true
@@ -543,7 +548,7 @@ stages:
543548
- name: Windows_Test_Templates_Dumps
544549
path: artifacts/dumps/
545550
publishOnError: true
546-
includeForks: false
551+
includeForks: true
547552
- name: Windows_Test_Templates_Logs
548553
path: artifacts/log/
549554
publishOnError: true
@@ -560,7 +565,7 @@ stages:
560565
jobDisplayName: "Test: macOS 10.13"
561566
agentOs: macOS
562567
isTestingJob: true
563-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
568+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
564569
beforeBuild:
565570
- bash: "./eng/scripts/install-nginx-mac.sh"
566571
displayName: Installing Nginx
@@ -595,7 +600,7 @@ stages:
595600
jobDisplayName: "Test: Ubuntu 16.04 x64"
596601
agentOs: Linux
597602
isTestingJob: true
598-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
603+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
599604
beforeBuild:
600605
- bash: "./eng/scripts/install-nginx-linux.sh"
601606
displayName: Installing Nginx
@@ -625,6 +630,72 @@ stages:
625630
publishOnError: true
626631
includeForks: true
627632

633+
# Helix x64
634+
- template: jobs/default-build.yml
635+
parameters:
636+
condition: eq(variables['Build.Reason'], 'PullRequest')
637+
jobName: Helix_x64
638+
jobDisplayName: 'Tests: Helix x64'
639+
agentOs: Windows
640+
timeoutInMinutes: 180
641+
steps:
642+
- script: .\restore.cmd -ci
643+
displayName: Restore
644+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
645+
displayName: Run build.cmd helix target
646+
env:
647+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
648+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
649+
artifacts:
650+
- name: Helix_logs
651+
path: artifacts/log/
652+
publishOnError: true
653+
includeForks: true
654+
655+
- template: jobs/default-build.yml
656+
parameters:
657+
condition: ne(variables['Build.Reason'], 'PullRequest')
658+
jobName: Helix_x64_daily
659+
jobDisplayName: 'Tests: Helix x64 Daily'
660+
agentOs: Windows
661+
timeoutInMinutes: 180
662+
steps:
663+
- script: .\restore.cmd -ci
664+
displayName: Restore
665+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
666+
displayName: Run build.cmd helix target
667+
env:
668+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
669+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
670+
artifacts:
671+
- name: Helix_logs
672+
path: artifacts/log/
673+
publishOnError: true
674+
includeForks: true
675+
676+
# Helix ARM64
677+
- template: jobs/default-build.yml
678+
parameters:
679+
condition: ne(variables['Build.Reason'], 'PullRequest')
680+
jobName: Helix_arm64_daily
681+
jobDisplayName: "Tests: Helix ARM64 Daily"
682+
agentOs: Linux
683+
timeoutInMinutes: 180
684+
steps:
685+
- script: ./restore.sh -ci
686+
displayName: Restore
687+
- script: ./build.sh -ci --arch arm64 -test --no-build-nodejs -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
688+
displayName: Run build.sh helix arm64 target
689+
env:
690+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
691+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
692+
installNodeJs: false
693+
artifacts:
694+
- name: Helix_arm64_logs
695+
path: artifacts/log/
696+
publishOnError: true
697+
includeForks: true
698+
628699
# Source build
629700
- job: Source_Build
630701
displayName: 'Test: Linux Source Build'
@@ -642,17 +713,6 @@ stages:
642713
chmod +x $HOME/bin/jq
643714
echo "##vso[task.prependpath]$HOME/bin"
644715
displayName: Install jq
645-
- task: UseDotNet@2
646-
displayName: 'Use .NET Core sdk'
647-
inputs:
648-
packageType: sdk
649-
# The SDK version selected here is intentionally supposed to use the latest release
650-
# For the purpose of building Linux distros, we can't depend on features of the SDK
651-
# which may not exist in pre-built versions of the SDK
652-
# Pinning to preview 8 since preview 9 has breaking changes
653-
version: 3.1.100
654-
installationPath: $(DotNetCoreSdkDir)
655-
includePreviewVersions: true
656716
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
657717
- task: Bash@3
658718
displayName: Setup Private Feeds Credentials
@@ -713,6 +773,7 @@ stages:
713773
parameters:
714774
# See https://github.com/dotnet/arcade/issues/2871
715775
enableSymbolValidation: false
776+
enableSigningValidation: false
716777
publishInstallersAndChecksums: true
717778
# This is to enable SDL runs part of Post-Build Validation Stage
718779
SDLValidationParameters:

.azure/pipelines/devBuilds.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
#
2+
# See https://docs.microsoft.com/en-us/vsts/pipelines/yaml-schema for details on this file.
3+
#
4+
5+
# Configure which branches trigger builds
6+
trigger: none
7+
8+
# no PR builds
9+
pr: none
10+
11+
# Schedule this pipeline to run every midnight
12+
schedules:
13+
- cron: "0 8 * * *"
14+
displayName: Daily midnight Dev builds
15+
branches:
16+
include:
17+
- master
18+
always: true
19+
20+
stages:
21+
- stage: build_components
22+
displayName: Build Components
23+
jobs:
24+
# Build components on Windows (x64)
25+
- template: jobs/default-build.yml
26+
parameters:
27+
codeSign: false
28+
jobName: Windows_build
29+
jobDisplayName: "Build: Components"
30+
agentOs: Windows
31+
steps:
32+
- script: git submodule init
33+
- script: git submodule update --recursive
34+
- script: cd ./src/Components
35+
- script: ./build.cmd
36+
-ci
37+
-arch x64
38+
/bl:artifacts/log/build.components.x64.binlog
39+
displayName: Build x64
40+
artifacts:
41+
- name: Windows_Logs
42+
path: artifacts/log/
43+
publishOnError: true
44+
includeForks: true
45+
46+
- stage: build_servers
47+
displayName: Build Servers
48+
jobs:
49+
# Build servers on Windows (x64)
50+
- template: jobs/default-build.yml
51+
parameters:
52+
codeSign: false
53+
jobName: Windows_build
54+
jobDisplayName: "Build: Servers"
55+
agentOs: Windows
56+
steps:
57+
- script: git submodule init
58+
- script: git submodule update --recursive
59+
- script: cd ./src/Servers
60+
- script: ./build.cmd
61+
-ci
62+
-arch x64
63+
/bl:artifacts/log/build.servers.x64.binlog
64+
displayName: Build x64
65+
artifacts:
66+
- name: Windows_Logs
67+
path: artifacts/log/
68+
publishOnError: true
69+
includeForks: true
70+
71+
- stage: build_project_templates
72+
displayName: Build Project Templates
73+
jobs:
74+
# Build servers on Windows (x64)
75+
- template: jobs/default-build.yml
76+
parameters:
77+
codeSign: false
78+
jobName: Windows_build
79+
jobDisplayName: "Build: Project Templates"
80+
agentOs: Windows
81+
steps:
82+
- script: git submodule init
83+
- script: git submodule update --recursive
84+
- script: cd ./src/ProjectTemplates
85+
- script: ./build.cmd
86+
-ci
87+
-arch x64
88+
/bl:artifacts/log/build.projectTemplates.x64.binlog
89+
displayName: Build x64
90+
artifacts:
91+
- name: Windows_Logs
92+
path: artifacts/log/
93+
publishOnError: true
94+
includeForks: true
95+
96+
- stage: build_all
97+
displayName: Build Everything
98+
jobs:
99+
# Build servers on Windows (x64)
100+
- template: jobs/default-build.yml
101+
parameters:
102+
codeSign: false
103+
jobName: Windows_build
104+
jobDisplayName: "Build: Everything"
105+
agentOs: Windows
106+
steps:
107+
- script: git submodule init
108+
- script: git submodule update --recursive
109+
- script: ./build.cmd
110+
-ci
111+
-arch x64
112+
/bl:artifacts/log/build.all.x64.binlog
113+
displayName: Build x64
114+
artifacts:
115+
- name: Windows_Logs
116+
path: artifacts/log/
117+
publishOnError: true
118+
includeForks: true

.azure/pipelines/helix-test.yml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,35 @@
1-
# Don't run CI for this config yet. We're not ready to move official builds on to Azure Pipelines
2-
trigger: none
1+
# We want to run quarantined tests on master as well as on PRs
2+
trigger:
3+
batch: true
4+
branches:
5+
include:
6+
- master
37

48
# Run PR validation on all branches
59
pr:
610
branches:
711
include:
812
- '*'
913

14+
variables:
15+
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
16+
- name: _UseHelixOpenQueues
17+
value: 'true'
18+
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
19+
- name: _UseHelixOpenQueues
20+
value: 'false'
21+
1022
jobs:
1123
- template: jobs/default-build.yml
1224
parameters:
13-
jobName: Helix_x64
14-
jobDisplayName: 'Tests: Helix x64'
25+
jobName: Helix_quarantine_x64
26+
jobDisplayName: 'Tests: Helix Quarantine x64'
1527
agentOs: Windows
1628
timeoutInMinutes: 240
1729
steps:
1830
- script: .\restore.cmd -ci
1931
displayName: Restore
20-
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true -bl
32+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
2133
displayName: Run build.cmd helix target
2234
env:
2335
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops

.azure/pipelines/jobs/default-build.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ jobs:
8181
enablePublishUsingPipelines: ${{ variables._PublishUsingPipelines }}
8282
enablePublishTestResults: true # publish test results to AzDO (populates AzDO Tests tab)
8383
enableTelemetry: true
84-
helixRepo: aspnet/AspNetCore
84+
helixRepo: dotnet/aspnetcore
8585
helixType: build.product/
8686
workspace:
8787
clean: all
@@ -97,14 +97,14 @@ jobs:
9797
name: NetCorePublic-Pool
9898
${{ if ne(parameters.isTestingJob, true) }}:
9999
# Visual Studio Build Tools
100-
queue: BuildPool.Windows.10.Amd64.VS2019.BT.Open
100+
queue: BuildPool.Server.Amd64.VS2019.BT.Open
101101
${{ if eq(parameters.isTestingJob, true) }}:
102102
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
103-
queue: BuildPool.Windows.10.Amd64.VS2019.Open
103+
queue: BuildPool.Server.Amd64.VS2019.Open
104104
${{ if eq(variables['System.TeamProject'], 'internal') }}:
105105
name: NetCoreInternal-Pool
106106
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
107-
queue: BuildPool.Windows.10.Amd64.VS2019
107+
queue: BuildPool.Server.Amd64.VS2019
108108
variables:
109109
- AgentOsName: ${{ parameters.agentOs }}
110110
- ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping
@@ -251,6 +251,7 @@ jobs:
251251
condition: always()
252252
inputs:
253253
testRunner: junit
254-
testResultsFiles: '**/TEST-com.microsoft.signalr*.xml'
254+
testResultsFiles: '**/TEST-junit-jupiter.xml'
255255
buildConfiguration: $(BuildConfiguration)
256256
buildPlatform: $(AgentOsName)
257+
mergeTestResults: true

0 commit comments

Comments
 (0)