Skip to content

Commit d0cdb8b

Browse files
authored
Merge branch 'master' into merge/release/3.1-to-master
2 parents 5466408 + 200f2c4 commit d0cdb8b

File tree

2,561 files changed

+94847
-28220
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,561 files changed

+94847
-28220
lines changed

.azure/pipelines/ci.yml

Lines changed: 131 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,7 @@ stages:
173177
-noBuildDeps
174178
$(_BuildArgs)
175179
$(_InternalRuntimeDownloadArgs)
180+
condition: ne(variables['Build.Reason'], 'PullRequest')
176181
displayName: Build SiteExtension
177182

178183
# 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 +255,38 @@ stages:
250255
- name: Windows_arm_Packages
251256
path: artifacts/packages/
252257

258+
# Build Windows ARM64
259+
- template: jobs/default-build.yml
260+
parameters:
261+
codeSign: true
262+
jobName: Windows_64_build
263+
jobDisplayName: "Build: Windows ARM64"
264+
agentOs: Windows
265+
buildArgs:
266+
-arch arm64
267+
-sign
268+
-pack
269+
-noBuildNodeJS
270+
-noBuildJava
271+
/bl:artifacts/log/build.win-arm64.binlog
272+
/p:DotNetSignType=$(_SignType)
273+
/p:OnlyPackPlatformSpecificPackages=true
274+
/p:AssetManifestFileName=aspnetcore-win-arm64.xml
275+
$(_BuildArgs)
276+
$(_PublishArgs)
277+
$(_InternalRuntimeDownloadArgs)
278+
installNodeJs: false
279+
installJdk: false
280+
artifacts:
281+
- name: Windows_arm64_Logs
282+
path: artifacts/log/
283+
publishOnError: true
284+
includeForks: true
285+
- name: Windows_arm64_Packages
286+
path: artifacts/packages/
287+
- name: Windows_arm64_Installers
288+
path: artifacts/installers/
289+
253290
# Build MacOS
254291
- template: jobs/default-build.yml
255292
parameters:
@@ -490,25 +527,25 @@ stages:
490527
jobDisplayName: "Test: Windows Server 2016 x64"
491528
agentOs: Windows
492529
isTestingJob: true
493-
buildArgs: -all -pack -test -BuildNative "/p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
530+
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
494531
beforeBuild:
495532
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
496533
displayName: Setup IISExpress test certificates and schema
497534
afterBuild:
498-
- powershell: "& ./build.ps1 -CI -NoBuild -Test /p:RunFlakyTests=true"
499-
displayName: Run Flaky Tests
535+
- powershell: "& ./build.ps1 -CI -NoBuild -Test /p:RunQuarantinedTests=true"
536+
displayName: Run Quarantined Tests
500537
continueOnError: true
501538
- task: PublishTestResults@2
502-
displayName: Publish Flaky Test Results
539+
displayName: Publish Quarantined Test Results
503540
inputs:
504541
testResultsFormat: 'xUnit'
505542
testResultsFiles: '*.xml'
506-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
543+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
507544
artifacts:
508545
- name: Windows_Test_Dumps
509546
path: artifacts/dumps/
510547
publishOnError: true
511-
includeForks: false
548+
includeForks: true
512549
- name: Windows_Test_Logs
513550
path: artifacts/log/
514551
publishOnError: true
@@ -544,7 +581,7 @@ stages:
544581
- name: Windows_Test_Templates_Dumps
545582
path: artifacts/dumps/
546583
publishOnError: true
547-
includeForks: false
584+
includeForks: true
548585
- name: Windows_Test_Templates_Logs
549586
path: artifacts/log/
550587
publishOnError: true
@@ -561,7 +598,7 @@ stages:
561598
jobDisplayName: "Test: macOS 10.14"
562599
agentOs: macOS
563600
isTestingJob: true
564-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
601+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
565602
beforeBuild:
566603
- bash: "./eng/scripts/install-nginx-mac.sh"
567604
displayName: Installing Nginx
@@ -570,15 +607,15 @@ stages:
570607
displayName: Pack Packages (for Template tests)
571608
- bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog"
572609
displayName: Pack Templates (for Template tests)
573-
- bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true
574-
displayName: Run Flaky Tests
610+
- bash: ./build.sh --no-build --ci --test -p:RunQuarantinedTests=true
611+
displayName: Run Quarantined Tests
575612
continueOnError: true
576613
- task: PublishTestResults@2
577-
displayName: Publish Flaky Test Results
614+
displayName: Publish Quarantined Test Results
578615
inputs:
579616
testResultsFormat: 'xUnit'
580617
testResultsFiles: '*.xml'
581-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
618+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
582619
artifacts:
583620
- name: MacOS_Test_Logs
584621
path: artifacts/log/
@@ -596,7 +633,7 @@ stages:
596633
jobDisplayName: "Test: Ubuntu 16.04 x64"
597634
agentOs: Linux
598635
isTestingJob: true
599-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
636+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
600637
beforeBuild:
601638
- bash: "./eng/scripts/install-nginx-linux.sh"
602639
displayName: Installing Nginx
@@ -607,15 +644,15 @@ stages:
607644
displayName: Pack Packages (for Template tests)
608645
- bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog"
609646
displayName: Pack Templates (for Template tests)
610-
- bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true
611-
displayName: Run Flaky Tests
647+
- bash: ./build.sh --no-build --ci --test -p:RunQuarantinedTests=true
648+
displayName: Run Quarantined Tests
612649
continueOnError: true
613650
- task: PublishTestResults@2
614-
displayName: Publish Flaky Test Results
651+
displayName: Publish Quarantined Test Results
615652
inputs:
616653
testResultsFormat: 'xUnit'
617654
testResultsFiles: '*.xml'
618-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
655+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
619656
artifacts:
620657
- name: Linux_Test_Logs
621658
path: artifacts/log/
@@ -626,6 +663,80 @@ stages:
626663
publishOnError: true
627664
includeForks: true
628665

666+
# Helix x64
667+
- template: jobs/default-build.yml
668+
parameters:
669+
condition: in(variables['Build.Reason'], 'PullRequest')
670+
jobName: Helix_x64
671+
jobDisplayName: 'Tests: Helix x64'
672+
agentOs: Windows
673+
timeoutInMinutes: 180
674+
steps:
675+
# Build the shared framework
676+
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
677+
displayName: Build shared fx
678+
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
679+
displayName: Restore
680+
- 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
681+
displayName: Run build.cmd helix target
682+
env:
683+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
684+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
685+
artifacts:
686+
- name: Helix_logs
687+
path: artifacts/log/
688+
publishOnError: true
689+
includeForks: true
690+
691+
- template: jobs/default-build.yml
692+
parameters:
693+
condition: notin(variables['Build.Reason'], 'PullRequest')
694+
jobName: Helix_x64_daily
695+
jobDisplayName: 'Tests: Helix x64 Daily'
696+
agentOs: Windows
697+
timeoutInMinutes: 180
698+
steps:
699+
# Build the shared framework
700+
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.daily.build.x64.binlog
701+
displayName: Build shared fx
702+
# Build the x86 shared framework
703+
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
704+
displayName: Restore
705+
- 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
706+
displayName: Run build.cmd helix target
707+
env:
708+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
709+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
710+
artifacts:
711+
- name: Helix_logs
712+
path: artifacts/log/
713+
publishOnError: true
714+
includeForks: true
715+
716+
# Helix ARM64
717+
- template: jobs/default-build.yml
718+
parameters:
719+
condition: and(eq(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'))
720+
jobName: Helix_arm64_daily
721+
jobDisplayName: "Tests: Helix ARM64 Daily"
722+
agentOs: Linux
723+
timeoutInMinutes: 180
724+
steps:
725+
# Build the shared framework
726+
- script: ./restore.sh -ci
727+
displayName: Restore
728+
- 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
729+
displayName: Run build.sh helix arm64 target
730+
env:
731+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
732+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
733+
installNodeJs: false
734+
artifacts:
735+
- name: Helix_arm64_logs
736+
path: artifacts/log/
737+
publishOnError: true
738+
includeForks: true
739+
629740
# Source build
630741
- job: Source_Build
631742
displayName: 'Test: Linux Source Build'
@@ -643,17 +754,6 @@ stages:
643754
chmod +x $HOME/bin/jq
644755
echo "##vso[task.prependpath]$HOME/bin"
645756
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
657757
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
658758
- task: Bash@3
659759
displayName: Setup Private Feeds Credentials

0 commit comments

Comments
 (0)