Skip to content

Commit ea5d9e3

Browse files
authored
Merge branch 'master' into merge/release/3.1-to-master
2 parents 5019088 + c56aa32 commit ea5d9e3

File tree

2,499 files changed

+92313
-27815
lines changed

Some content is hidden

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

2,499 files changed

+92313
-27815
lines changed

.azure/pipelines/ci.yml

Lines changed: 132 additions & 31 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,6 +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)
56+
- group: DotNet-HelixApi-Access
57+
- name: _UseHelixOpenQueues
58+
value: 'false'
5459
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
5560
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
5661
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
@@ -151,8 +156,7 @@ stages:
151156
displayName: Build x64
152157

153158
# Build the x86 shared framework
154-
# TODO: make it possible to build for one Windows architecture at a time
155-
# This is going to actually build x86 native assets. See https://github.com/aspnet/AspNetCore/issues/7196
159+
# This is going to actually build x86 native assets.
156160
- script: ./build.cmd
157161
-ci
158162
-arch x86
@@ -173,6 +177,8 @@ stages:
173177
-noBuildDeps
174178
$(_BuildArgs)
175179
$(_InternalRuntimeDownloadArgs)
180+
# Disabled until 3.1.3 is released
181+
condition: false
176182
displayName: Build SiteExtension
177183

178184
# 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,
@@ -250,6 +256,38 @@ stages:
250256
- name: Windows_arm_Packages
251257
path: artifacts/packages/
252258

259+
# Build Windows ARM64
260+
- template: jobs/default-build.yml
261+
parameters:
262+
codeSign: true
263+
jobName: Windows_64_build
264+
jobDisplayName: "Build: Windows ARM64"
265+
agentOs: Windows
266+
buildArgs:
267+
-arch arm64
268+
-sign
269+
-pack
270+
-noBuildNodeJS
271+
-noBuildJava
272+
/bl:artifacts/log/build.win-arm64.binlog
273+
/p:DotNetSignType=$(_SignType)
274+
/p:OnlyPackPlatformSpecificPackages=true
275+
/p:AssetManifestFileName=aspnetcore-win-arm64.xml
276+
$(_BuildArgs)
277+
$(_PublishArgs)
278+
$(_InternalRuntimeDownloadArgs)
279+
installNodeJs: false
280+
installJdk: false
281+
artifacts:
282+
- name: Windows_arm64_Logs
283+
path: artifacts/log/
284+
publishOnError: true
285+
includeForks: true
286+
- name: Windows_arm64_Packages
287+
path: artifacts/packages/
288+
- name: Windows_arm64_Installers
289+
path: artifacts/installers/
290+
253291
# Build MacOS
254292
- template: jobs/default-build.yml
255293
parameters:
@@ -490,25 +528,25 @@ stages:
490528
jobDisplayName: "Test: Windows Server 2016 x64"
491529
agentOs: Windows
492530
isTestingJob: true
493-
buildArgs: -all -pack -test -BuildNative "/p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
531+
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
494532
beforeBuild:
495533
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
496534
displayName: Setup IISExpress test certificates and schema
497535
afterBuild:
498-
- powershell: "& ./build.ps1 -CI -NoBuild -Test /p:RunFlakyTests=true"
499-
displayName: Run Flaky Tests
536+
- powershell: "& ./build.ps1 -CI -NoBuild -Test /p:RunQuarantinedTests=true"
537+
displayName: Run Quarantined Tests
500538
continueOnError: true
501539
- task: PublishTestResults@2
502-
displayName: Publish Flaky Test Results
540+
displayName: Publish Quarantined Test Results
503541
inputs:
504542
testResultsFormat: 'xUnit'
505543
testResultsFiles: '*.xml'
506-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
544+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
507545
artifacts:
508546
- name: Windows_Test_Dumps
509547
path: artifacts/dumps/
510548
publishOnError: true
511-
includeForks: false
549+
includeForks: true
512550
- name: Windows_Test_Logs
513551
path: artifacts/log/
514552
publishOnError: true
@@ -544,7 +582,7 @@ stages:
544582
- name: Windows_Test_Templates_Dumps
545583
path: artifacts/dumps/
546584
publishOnError: true
547-
includeForks: false
585+
includeForks: true
548586
- name: Windows_Test_Templates_Logs
549587
path: artifacts/log/
550588
publishOnError: true
@@ -561,7 +599,7 @@ stages:
561599
jobDisplayName: "Test: macOS 10.14"
562600
agentOs: macOS
563601
isTestingJob: true
564-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
602+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
565603
beforeBuild:
566604
- bash: "./eng/scripts/install-nginx-mac.sh"
567605
displayName: Installing Nginx
@@ -570,15 +608,15 @@ stages:
570608
displayName: Pack Packages (for Template tests)
571609
- bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog"
572610
displayName: Pack Templates (for Template tests)
573-
- bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true
574-
displayName: Run Flaky Tests
611+
- bash: ./build.sh --no-build --ci --test -p:RunQuarantinedTests=true
612+
displayName: Run Quarantined Tests
575613
continueOnError: true
576614
- task: PublishTestResults@2
577-
displayName: Publish Flaky Test Results
615+
displayName: Publish Quarantined Test Results
578616
inputs:
579617
testResultsFormat: 'xUnit'
580618
testResultsFiles: '*.xml'
581-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
619+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
582620
artifacts:
583621
- name: MacOS_Test_Logs
584622
path: artifacts/log/
@@ -596,7 +634,7 @@ stages:
596634
jobDisplayName: "Test: Ubuntu 16.04 x64"
597635
agentOs: Linux
598636
isTestingJob: true
599-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
637+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
600638
beforeBuild:
601639
- bash: "./eng/scripts/install-nginx-linux.sh"
602640
displayName: Installing Nginx
@@ -607,15 +645,15 @@ stages:
607645
displayName: Pack Packages (for Template tests)
608646
- bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog"
609647
displayName: Pack Templates (for Template tests)
610-
- bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true
611-
displayName: Run Flaky Tests
648+
- bash: ./build.sh --no-build --ci --test -p:RunQuarantinedTests=true
649+
displayName: Run Quarantined Tests
612650
continueOnError: true
613651
- task: PublishTestResults@2
614-
displayName: Publish Flaky Test Results
652+
displayName: Publish Quarantined Test Results
615653
inputs:
616654
testResultsFormat: 'xUnit'
617655
testResultsFiles: '*.xml'
618-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
656+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
619657
artifacts:
620658
- name: Linux_Test_Logs
621659
path: artifacts/log/
@@ -626,6 +664,80 @@ stages:
626664
publishOnError: true
627665
includeForks: true
628666

667+
# Helix x64
668+
- template: jobs/default-build.yml
669+
parameters:
670+
condition: in(variables['Build.Reason'], 'PullRequest')
671+
jobName: Helix_x64
672+
jobDisplayName: 'Tests: Helix x64'
673+
agentOs: Windows
674+
timeoutInMinutes: 180
675+
steps:
676+
# Build the shared framework
677+
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
678+
displayName: Build shared fx
679+
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
680+
displayName: Restore
681+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildInteropProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
682+
displayName: Run build.cmd helix target
683+
env:
684+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
685+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
686+
artifacts:
687+
- name: Helix_logs
688+
path: artifacts/log/
689+
publishOnError: true
690+
includeForks: true
691+
692+
- template: jobs/default-build.yml
693+
parameters:
694+
condition: notin(variables['Build.Reason'], 'PullRequest')
695+
jobName: Helix_x64_daily
696+
jobDisplayName: 'Tests: Helix x64 Daily'
697+
agentOs: Windows
698+
timeoutInMinutes: 180
699+
steps:
700+
# Build the shared framework
701+
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.daily.build.x64.binlog
702+
displayName: Build shared fx
703+
# Build the x86 shared framework
704+
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
705+
displayName: Restore
706+
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildInteropProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
707+
displayName: Run build.cmd helix target
708+
env:
709+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
710+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
711+
artifacts:
712+
- name: Helix_logs
713+
path: artifacts/log/
714+
publishOnError: true
715+
includeForks: true
716+
717+
# Helix ARM64
718+
- template: jobs/default-build.yml
719+
parameters:
720+
condition: and(eq(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'))
721+
jobName: Helix_arm64_daily
722+
jobDisplayName: "Tests: Helix ARM64 Daily"
723+
agentOs: Linux
724+
timeoutInMinutes: 180
725+
steps:
726+
# Build the shared framework
727+
- script: ./restore.sh -ci
728+
displayName: Restore
729+
- 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
730+
displayName: Run build.sh helix arm64 target
731+
env:
732+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
733+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
734+
installNodeJs: false
735+
artifacts:
736+
- name: Helix_arm64_logs
737+
path: artifacts/log/
738+
publishOnError: true
739+
includeForks: true
740+
629741
# Source build
630742
- job: Source_Build
631743
displayName: 'Test: Linux Source Build'
@@ -643,17 +755,6 @@ stages:
643755
chmod +x $HOME/bin/jq
644756
echo "##vso[task.prependpath]$HOME/bin"
645757
displayName: Install jq
646-
- task: UseDotNet@2
647-
displayName: 'Use .NET Core sdk'
648-
inputs:
649-
packageType: sdk
650-
# The SDK version selected here is intentionally supposed to use the latest release
651-
# For the purpose of building Linux distros, we can't depend on features of the SDK
652-
# which may not exist in pre-built versions of the SDK
653-
# Pinning to preview 8 since preview 9 has breaking changes
654-
version: 3.1.100
655-
installationPath: $(DotNetCoreSdkDir)
656-
includePreviewVersions: true
657758
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
658759
- task: Bash@3
659760
displayName: Setup Private Feeds Credentials

0 commit comments

Comments
 (0)