Skip to content

Commit 52065f4

Browse files
authored
Merge branch 'master' into merge/release/3.1-to-master
2 parents 405b021 + 2e2a82d commit 52065f4

File tree

2,354 files changed

+84572
-27024
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,354 files changed

+84572
-27024
lines changed

.azure/pipelines/ci.yml

Lines changed: 132 additions & 32 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 notin(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
@@ -150,8 +154,7 @@ stages:
150154
displayName: Build x64
151155

152156
# Build the x86 shared framework
153-
# 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
157+
# This is going to actually build x86 native assets.
155158
- script: ./build.cmd
156159
-ci
157160
-arch x86
@@ -172,6 +175,8 @@ stages:
172175
-noBuildDeps
173176
$(_BuildArgs)
174177
$(_InternalRuntimeDownloadArgs)
178+
# Disabled until 3.1.3 is released
179+
condition: false
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,
@@ -249,6 +254,38 @@ stages:
249254
- name: Windows_arm_Packages
250255
path: artifacts/packages/
251256

257+
# Build Windows ARM64
258+
- template: jobs/default-build.yml
259+
parameters:
260+
codeSign: true
261+
jobName: Windows_64_build
262+
jobDisplayName: "Build: Windows ARM64"
263+
agentOs: Windows
264+
buildArgs:
265+
-arch arm64
266+
-sign
267+
-pack
268+
-noBuildNodeJS
269+
-noBuildJava
270+
/bl:artifacts/log/build.win-arm64.binlog
271+
/p:DotNetSignType=$(_SignType)
272+
/p:OnlyPackPlatformSpecificPackages=true
273+
/p:AssetManifestFileName=aspnetcore-win-arm64.xml
274+
$(_BuildArgs)
275+
$(_PublishArgs)
276+
$(_InternalRuntimeDownloadArgs)
277+
installNodeJs: false
278+
installJdk: false
279+
artifacts:
280+
- name: Windows_arm64_Logs
281+
path: artifacts/log/
282+
publishOnError: true
283+
includeForks: true
284+
- name: Windows_arm64_Packages
285+
path: artifacts/packages/
286+
- name: Windows_arm64_Installers
287+
path: artifacts/installers/
288+
252289
# Build MacOS
253290
- template: jobs/default-build.yml
254291
parameters:
@@ -489,25 +526,25 @@ stages:
489526
jobDisplayName: "Test: Windows Server 2016 x64"
490527
agentOs: Windows
491528
isTestingJob: true
492-
buildArgs: -all -pack -test -BuildNative "/p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
529+
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
493530
beforeBuild:
494531
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
495532
displayName: Setup IISExpress test certificates and schema
496533
afterBuild:
497-
- powershell: "& ./build.ps1 -CI -NoBuild -Test /p:RunFlakyTests=true"
498-
displayName: Run Flaky Tests
534+
- powershell: "& ./build.ps1 -CI -NoBuild -Test /p:RunQuarantinedTests=true"
535+
displayName: Run Quarantined Tests
499536
continueOnError: true
500537
- task: PublishTestResults@2
501-
displayName: Publish Flaky Test Results
538+
displayName: Publish Quarantined Test Results
502539
inputs:
503540
testResultsFormat: 'xUnit'
504541
testResultsFiles: '*.xml'
505-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
542+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
506543
artifacts:
507544
- name: Windows_Test_Dumps
508545
path: artifacts/dumps/
509546
publishOnError: true
510-
includeForks: false
547+
includeForks: true
511548
- name: Windows_Test_Logs
512549
path: artifacts/log/
513550
publishOnError: true
@@ -543,7 +580,7 @@ stages:
543580
- name: Windows_Test_Templates_Dumps
544581
path: artifacts/dumps/
545582
publishOnError: true
546-
includeForks: false
583+
includeForks: true
547584
- name: Windows_Test_Templates_Logs
548585
path: artifacts/log/
549586
publishOnError: true
@@ -560,7 +597,7 @@ stages:
560597
jobDisplayName: "Test: macOS 10.13"
561598
agentOs: macOS
562599
isTestingJob: true
563-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
600+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
564601
beforeBuild:
565602
- bash: "./eng/scripts/install-nginx-mac.sh"
566603
displayName: Installing Nginx
@@ -569,15 +606,15 @@ stages:
569606
displayName: Pack Packages (for Template tests)
570607
- bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog"
571608
displayName: Pack Templates (for Template tests)
572-
- bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true
573-
displayName: Run Flaky Tests
609+
- bash: ./build.sh --no-build --ci --test -p:RunQuarantinedTests=true
610+
displayName: Run Quarantined Tests
574611
continueOnError: true
575612
- task: PublishTestResults@2
576-
displayName: Publish Flaky Test Results
613+
displayName: Publish Quarantined Test Results
577614
inputs:
578615
testResultsFormat: 'xUnit'
579616
testResultsFiles: '*.xml'
580-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
617+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
581618
artifacts:
582619
- name: MacOS_Test_Logs
583620
path: artifacts/log/
@@ -595,7 +632,7 @@ stages:
595632
jobDisplayName: "Test: Ubuntu 16.04 x64"
596633
agentOs: Linux
597634
isTestingJob: true
598-
buildArgs: --all --test "/p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
635+
buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
599636
beforeBuild:
600637
- bash: "./eng/scripts/install-nginx-linux.sh"
601638
displayName: Installing Nginx
@@ -606,15 +643,15 @@ stages:
606643
displayName: Pack Packages (for Template tests)
607644
- bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog"
608645
displayName: Pack Templates (for Template tests)
609-
- bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true
610-
displayName: Run Flaky Tests
646+
- bash: ./build.sh --no-build --ci --test -p:RunQuarantinedTests=true
647+
displayName: Run Quarantined Tests
611648
continueOnError: true
612649
- task: PublishTestResults@2
613-
displayName: Publish Flaky Test Results
650+
displayName: Publish Quarantined Test Results
614651
inputs:
615652
testResultsFormat: 'xUnit'
616653
testResultsFiles: '*.xml'
617-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Flaky'
654+
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
618655
artifacts:
619656
- name: Linux_Test_Logs
620657
path: artifacts/log/
@@ -625,6 +662,80 @@ stages:
625662
publishOnError: true
626663
includeForks: true
627664

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

0 commit comments

Comments
 (0)