Skip to content

Commit de034fe

Browse files
authored
Merge branch 'master' into merge/release/5.0-preview7-to-master
2 parents 499a3bc + 4b3fcaf commit de034fe

File tree

373 files changed

+5266
-1902
lines changed

Some content is hidden

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

373 files changed

+5266
-1902
lines changed

.azure/pipelines/ci.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,8 @@ stages:
433433
jobName: Linux_musl_x64_build
434434
jobDisplayName: "Build: Linux Musl x64"
435435
agentOs: Linux
436-
buildScript: ./dockerbuild.sh alpine
436+
container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.9-WithNode-0fc54a3-20190918214015
437+
buildScript: ./build.sh
437438
buildArgs:
438439
--arch x64
439440
--os-name linux-musl
@@ -448,6 +449,7 @@ stages:
448449
$(_InternalRuntimeDownloadArgs)
449450
installNodeJs: false
450451
installJdk: false
452+
skipComponentGovernanceDetection: true
451453
artifacts:
452454
- name: Linux_musl_x64_Logs
453455
path: artifacts/log/
@@ -466,7 +468,8 @@ stages:
466468
jobDisplayName: "Build: Linux Musl ARM64"
467469
agentOs: Linux
468470
useHostedUbuntu: false
469-
buildScript: ./dockerbuild.sh ubuntu-alpine37
471+
container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine-20200413125008-406629a
472+
buildScript: ./build.sh
470473
buildArgs:
471474
--arch arm64
472475
--os-name linux-musl

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
# Specifies what directory to run build.sh/cmd
3636
# buildScript: string
3737
# Specifies the build script to run. Defaults to build.sh or build.cmd.
38-
38+
# skipComponentGovernanceDetection: boolean
39+
# Determines if component governance detection can be skipped
3940
#
4041
# See https://docs.microsoft.com/en-us/vsts/pipelines/yaml-schema for details
4142
#
@@ -60,6 +61,7 @@ parameters:
6061
installJdk: true
6162
timeoutInMinutes: 180
6263
useHostedUbuntu: true
64+
skipComponentGovernanceDetection: false
6365

6466
# We need longer than the default amount of 5 minutes to upload our logs/artifacts. (We currently take around 5 mins in the best case).
6567
# This makes sure we have time to upload everything in the case of a build timeout - really important for investigating a build
@@ -114,6 +116,8 @@ jobs:
114116
name: NetCoreInternal-Pool
115117
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
116118
queue: BuildPool.Server.Amd64.VS2019
119+
${{ if ne(parameters.container, '') }}:
120+
container: ${{ parameters.container }}
117121
variables:
118122
- AgentOsName: ${{ parameters.agentOs }}
119123
- ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping
@@ -238,7 +242,7 @@ jobs:
238242
continueOnError: true
239243
condition: always()
240244

241-
- ${{ if and(startsWith(parameters.jobDisplayName, 'Build:'), ne(variables['skipComponentGovernanceDetection'], 'true'), notin(variables['Build.Reason'], 'PullRequest')) }}:
245+
- ${{ if and(startsWith(parameters.jobDisplayName, 'Build:'), ne(variables['skipComponentGovernanceDetection'], 'true'), ne(parameters.skipComponentGovernanceDetection, 'true'), notin(variables['Build.Reason'], 'PullRequest')) }}:
242246
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
243247
condition: and(succeeded(), ne(variables['CG_RAN'], 'true'))
244248
displayName: 'Component Detection'

.azure/pipelines/quarantined-pr.yml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
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
7+
8+
schedules:
9+
- cron: "0 */4 * * *"
10+
displayName: Every 4 hours test run
11+
branches:
12+
include:
13+
- master
14+
always: true
15+
16+
variables:
17+
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
18+
- name: _UseHelixOpenQueues
19+
value: 'true'
20+
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
21+
- group: DotNet-HelixApi-Access
22+
- name: _UseHelixOpenQueues
23+
value: 'false'
24+
25+
jobs:
26+
- template: jobs/default-build.yml
27+
parameters:
28+
jobName: Helix_quarantined_x64
29+
jobDisplayName: 'Tests: Helix'
30+
agentOs: Windows
31+
timeoutInMinutes: 240
32+
steps:
33+
# Build the shared framework
34+
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
35+
displayName: Build shared fx
36+
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
37+
displayName: Restore interop projects
38+
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
39+
-projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true
40+
/p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
41+
displayName: Run build.cmd helix target
42+
continueOnError: true
43+
env:
44+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
45+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
46+
artifacts:
47+
- name: Helix_logs
48+
path: artifacts/log/
49+
publishOnError: true
50+
51+
- template: jobs/default-build.yml
52+
parameters:
53+
jobName: Windows_Quarantined_x64
54+
jobDisplayName: 'Tests: Windows x64'
55+
agentOs: Windows
56+
timeoutInMinutes: 240
57+
isTestingJob: true
58+
steps:
59+
- powershell: "& ./build.ps1 -CI -nobl -all -pack -NoBuildJava"
60+
displayName: Build
61+
# The templates part can be removed when the Blazor Templates run on Helix
62+
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
63+
displayName: Pack Templates
64+
- script: ./build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
65+
displayName: Run Quarantined Tests
66+
continueOnError: true
67+
- task: PublishTestResults@2
68+
displayName: Publish Quarantined Test Results
69+
inputs:
70+
testResultsFormat: 'xUnit'
71+
testResultsFiles: '*.xml'
72+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
73+
condition: always()
74+
artifacts:
75+
- name: Windows_Quarantined_Test_Logs
76+
path: artifacts/log/
77+
publishOnError: true
78+
includeForks: true
79+
- name: Windows_Quarantined_Test_Results
80+
path: artifacts/TestResults/
81+
publishOnError: true
82+
includeForks: true
83+
84+
- template: jobs/default-build.yml
85+
parameters:
86+
jobName: MacOS_Quarantined_Test
87+
jobDisplayName: "Tests: macOS 10.14"
88+
agentOs: macOS
89+
timeoutInMinutes: 240
90+
isTestingJob: true
91+
steps:
92+
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
93+
displayName: Build
94+
# The templates part can be removed when the Blazor Templates run on Helix
95+
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
96+
displayName: Pack Templates (for Template tests)
97+
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
98+
displayName: Run Quarantined Tests
99+
continueOnError: true
100+
- task: PublishTestResults@2
101+
displayName: Publish Quarantined Test Results
102+
inputs:
103+
testResultsFormat: 'xUnit'
104+
testResultsFiles: '*.xml'
105+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
106+
condition: always()
107+
artifacts:
108+
- name: MacOS_Quarantined_Test_Logs
109+
path: artifacts/log/
110+
publishOnError: true
111+
includeForks: true
112+
- name: MacOS_Quarantined_Test_Results
113+
path: artifacts/TestResults/
114+
publishOnError: true
115+
includeForks: true
116+
117+
- template: jobs/default-build.yml
118+
parameters:
119+
jobName: Linux_Quarantined_Test
120+
jobDisplayName: "Tests: Ubuntu 16.04 x64"
121+
agentOs: Linux
122+
timeoutInMinutes: 240
123+
isTestingJob: true
124+
useHostedUbuntu: false
125+
steps:
126+
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
127+
displayName: Build
128+
# The templates part can be removed when the Blazor Templates run on Helix
129+
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
130+
displayName: Pack Templates (for Template tests)
131+
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
132+
displayName: Run Quarantined Tests
133+
continueOnError: true
134+
- task: PublishTestResults@2
135+
displayName: Publish Quarantined Test Results
136+
inputs:
137+
testResultsFormat: 'xUnit'
138+
testResultsFiles: '*.xml'
139+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
140+
condition: always()
141+
artifacts:
142+
- name: Linux_Quarantined_Test_Logs
143+
path: artifacts/log/
144+
publishOnError: true
145+
includeForks: true
146+
- name: Linux_Quarantined_Test_Results
147+
path: artifacts/TestResults/
148+
publishOnError: true
149+
includeForks: true
Lines changed: 22 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
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
1+
# We only want to run quarantined tests on master
2+
pr: none
3+
trigger: none
74

85
schedules:
9-
- cron: "0 */4 * * *"
10-
displayName: Every 4 hours test run
6+
- cron: "0 18 * * *"
7+
displayName: Run tests once a day at 11 PM
118
branches:
129
include:
1310
- master
@@ -28,15 +25,15 @@ jobs:
2825
jobName: Helix_quarantined_x64
2926
jobDisplayName: 'Tests: Helix'
3027
agentOs: Windows
31-
timeoutInMinutes: 180
28+
timeoutInMinutes: 480
3229
steps:
3330
# Build the shared framework
3431
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
3532
displayName: Build shared fx
3633
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
3734
displayName: Restore interop projects
3835
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
39-
-projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true
36+
-projects eng\helix\helix.proj /p:IsHelixDaily=true /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true
4037
/p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
4138
displayName: Run build.cmd helix target
4239
continueOnError: true
@@ -48,102 +45,27 @@ jobs:
4845
path: artifacts/log/
4946
publishOnError: true
5047

48+
# Helix ARM64
5149
- template: jobs/default-build.yml
5250
parameters:
53-
jobName: Windows_Quarantined_x64
54-
jobDisplayName: 'Tests: Windows x64'
55-
agentOs: Windows
56-
timeoutInMinutes: 180
57-
isTestingJob: true
58-
steps:
59-
- powershell: "& ./build.ps1 -CI -nobl -all -pack -NoBuildJava"
60-
displayName: Build
61-
# The templates part can be removed when the Blazor Templates run on Helix
62-
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
63-
displayName: Pack Templates
64-
- script: ./build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
65-
displayName: Run Quarantined Tests
66-
continueOnError: true
67-
- task: PublishTestResults@2
68-
displayName: Publish Quarantined Test Results
69-
inputs:
70-
testResultsFormat: 'xUnit'
71-
testResultsFiles: '*.xml'
72-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
73-
condition: always()
74-
artifacts:
75-
- name: Windows_Quarantined_Test_Logs
76-
path: artifacts/log/
77-
publishOnError: true
78-
includeForks: true
79-
- name: Windows_Quarantined_Test_Results
80-
path: artifacts/TestResults/
81-
publishOnError: true
82-
includeForks: true
83-
84-
- template: jobs/default-build.yml
85-
parameters:
86-
jobName: MacOS_Quarantined_Test
87-
jobDisplayName: "Tests: macOS 10.14"
88-
agentOs: macOS
89-
timeoutInMinutes: 180
90-
isTestingJob: true
91-
steps:
92-
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
93-
displayName: Build
94-
# The templates part can be removed when the Blazor Templates run on Helix
95-
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
96-
displayName: Pack Templates (for Template tests)
97-
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
98-
displayName: Run Quarantined Tests
99-
continueOnError: true
100-
- task: PublishTestResults@2
101-
displayName: Publish Quarantined Test Results
102-
inputs:
103-
testResultsFormat: 'xUnit'
104-
testResultsFiles: '*.xml'
105-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
106-
condition: always()
107-
artifacts:
108-
- name: MacOS_Quarantined_Test_Logs
109-
path: artifacts/log/
110-
publishOnError: true
111-
includeForks: true
112-
- name: MacOS_Quarantined_Test_Results
113-
path: artifacts/TestResults/
114-
publishOnError: true
115-
includeForks: true
116-
117-
- template: jobs/default-build.yml
118-
parameters:
119-
jobName: Linux_Quarantined_Test
120-
jobDisplayName: "Tests: Ubuntu 16.04 x64"
51+
jobName: Helix_quarantined_arm64
52+
jobDisplayName: "Tests: Helix ARM64"
12153
agentOs: Linux
122-
timeoutInMinutes: 180
123-
isTestingJob: true
124-
useHostedUbuntu: false
54+
timeoutInMinutes: 480
12555
steps:
126-
- bash: ./build.sh --all --pack --ci --nobl --no-build-java
127-
displayName: Build
128-
# The templates part can be removed when the Blazor Templates run on Helix
129-
- bash: ./src/ProjectTemplates/build.sh --ci --nobl --pack --no-restore --no-build-deps
130-
displayName: Pack Templates (for Template tests)
131-
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
132-
displayName: Run Quarantined Tests
56+
- script: ./restore.sh -ci -nobl
57+
displayName: Restore
58+
- script: ./build.sh --ci --nobl --noBuildRepoTasks --arch arm64 -test --no-build-nodejs --all --projects
59+
$(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:RunQuarantinedTests=true
60+
/p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
61+
displayName: Run build.sh helix arm64 target
13362
continueOnError: true
134-
- task: PublishTestResults@2
135-
displayName: Publish Quarantined Test Results
136-
inputs:
137-
testResultsFormat: 'xUnit'
138-
testResultsFiles: '*.xml'
139-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
140-
condition: always()
63+
env:
64+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
65+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
66+
installNodeJs: false
14167
artifacts:
142-
- name: Linux_Quarantined_Test_Logs
68+
- name: Helix_arm64_logs
14369
path: artifacts/log/
14470
publishOnError: true
14571
includeForks: true
146-
- name: Linux_Quarantined_Test_Results
147-
path: artifacts/TestResults/
148-
publishOnError: true
149-
includeForks: true

.github/CODEOWNERS

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@
99
/eng/common/ @dotnet-maestro-bot
1010
/eng/Versions.props @dotnet-maestro-bot @dougbu
1111
/eng/Version.Details.xml @dotnet-maestro-bot @dougbu
12-
/src/Components/ @SteveSandersonMS
12+
/src/Components/ @SteveSandersonMS @aspnet-blazor-eng
1313
/src/DefaultBuilder/ @tratcher
1414
/src/Hosting/ @tratcher
1515
/src/Http/ @tratcher @jkotalik
1616
/src/Middleware/ @tratcher
1717
/src/Middleware/HttpsPolicy/ @jkotalik
1818
/src/Middleware/Rewrite/ @jkotalik
19-
# /src/ProjectTemplates/ @ryanbrandenburg
19+
# /src/ProjectTemplates/ @ryanbrandenburg
20+
/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/ @aspnet-blazor-eng
21+
/src/ProjectTemplates/Web.ProjectTemplates/content/ComponentsWebAssembly-CSharp/ @aspnet-blazor-eng
2022
/src/Security/ @tratcher
2123
/src/Servers/ @tratcher @jkotalik @halter73
2224
/src/Shared/runtime/ @dotnet/http

0 commit comments

Comments
 (0)