Skip to content

Commit b60c656

Browse files
author
John Luo
authored
Merge branch 'master' into johluo/http2-downgrade
2 parents 627906f + 416c78b commit b60c656

File tree

162 files changed

+1809
-1273
lines changed

Some content is hidden

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

162 files changed

+1809
-1273
lines changed

.azure/pipelines/ci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ stages:
186186
-noBuildRepoTasks
187187
-sign
188188
-buildInstallers
189+
-noBuildNative
189190
/p:DotNetSignType=$(_SignType)
190191
/p:AssetManifestFileName=aspnetcore-win-x64-x86.xml
191192
$(_BuildArgs)
@@ -529,7 +530,7 @@ stages:
529530
steps:
530531
- script: ./build.cmd -ci -nobl -all -pack $(_InternalRuntimeDownloadArgs)
531532
displayName: Build Repo
532-
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -noBuildRepoTasks -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true"
533+
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -noBuildRepoTasks -pack -NoRestore -noBuildNative -NoBuilddeps "/p:RunTemplateTests=true"
533534
displayName: Pack Templates
534535
- script: ./src/ProjectTemplates/build.cmd -ci -nobl -noBuildRepoTasks -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true"
535536
displayName: Test Templates
@@ -603,7 +604,7 @@ stages:
603604
# Build the shared framework
604605
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
605606
displayName: Build shared fx
606-
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
607+
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
607608
displayName: Restore interop projects
608609
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildNative -projects eng\helix\helix.proj
609610
/p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true

.azure/pipelines/helix-matrix.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
# Build the shared framework
2929
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
3030
displayName: Build shared fx
31-
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
31+
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
3232
displayName: Restore interop projects
3333
- script: .\build.cmd -ci -nobl -noBuildRepoTasks -NoRestore -test -all -noBuildNative -projects eng\helix\helix.proj
3434
/p:IsHelixDaily=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true

.azure/pipelines/quarantined-tests.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ jobs:
3333
# Build the shared framework
3434
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
3535
displayName: Build shared fx
36-
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -projects src/Grpc/**/*.csproj
36+
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -restore -noBuild -noBuildNative -projects src/Grpc/**/*.csproj
3737
displayName: Restore interop projects
3838
- script: ./build.cmd -ci -nobl -noBuildRepoTasks -noRestore -test -all -noBuildJava -noBuildNative
3939
-projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true
4040
/p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
4141
displayName: Run build.cmd helix target
42+
continueOnError: true
4243
env:
4344
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
4445
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
@@ -62,7 +63,7 @@ jobs:
6263
displayName: Pack Templates
6364
- script: ./build.cmd -ci -nobl -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true /p:RunQuarantinedTests=true /p:SkipHelixReadyTests=true"
6465
displayName: Run Quarantined Tests
65-
condition: always()
66+
continueOnError: true
6667
- task: PublishTestResults@2
6768
displayName: Publish Quarantined Test Results
6869
inputs:
@@ -95,6 +96,7 @@ jobs:
9596
displayName: Pack Templates (for Template tests)
9697
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
9798
displayName: Run Quarantined Tests
99+
continueOnError: true
98100
- task: PublishTestResults@2
99101
displayName: Publish Quarantined Test Results
100102
inputs:
@@ -128,6 +130,7 @@ jobs:
128130
displayName: Pack Templates (for Template tests)
129131
- bash: ./build.sh --no-build --ci --nobl --test -p:RunTemplateTests=true -p:RunQuarantinedTests=true -p:SkipHelixReadyTests=true
130132
displayName: Run Quarantined Tests
133+
continueOnError: true
131134
- task: PublishTestResults@2
132135
displayName: Publish Quarantined Test Results
133136
inputs:
@@ -143,4 +146,4 @@ jobs:
143146
- name: Linux_Quarantined_Test_Results
144147
path: artifacts/TestResults/
145148
publishOnError: true
146-
includeForks: true
149+
includeForks: true

docs/Helix.md

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,58 @@ To run Helix tests for one particular test project:
1616

1717
This will restore, and then publish all the test project including some bootstrapping scripts that will install the correct dotnet runtime/sdk before running the test assembly on the helix machine(s), and upload the job to helix.
1818

19+
## Overview of the helix usage in our pipelines
20+
21+
- Required queues: Windows10, OSX, Ubuntu1604
22+
- Full queue matrix: Windows[7, 81, 10], Ubuntu[1604, 1804, 2004], Centos7, Debian[8,9], Redhat7, Fedora28, Arm64 (Win10, Debian9)
23+
24+
aspnetcore-ci runs non quarantined tests against the required helix queues as a required PR check and all builds on all branches.
25+
26+
aspnetcore-quarantined-tests runs only quarantined tests against the required queues only on master every 4 hours.
27+
28+
aspnetcore-helix-matrix runs non quarantined tests against all queues twice a day only on public master.
29+
1930
## How do I look at the results of a helix run on Azure Pipelines?
2031

21-
There's a link embedded in the build.cmd log of the helix target on Azure Pipelines, near the bottom right that will look something like this:
32+
The easiest way to look at a test failure is via the tests tab in azdo which now should show a summary of the errors and have attachments to the relevant console logs.
33+
34+
You can also drill down into the helix web apis if you take the HelixJobId from the Debug tab of a failing test, and the HelixWorkItemName and go to: `https://helix.dot.net/api/2019-06-17/jobs/<jobId>/workitems/<workitemname>` which will show you more urls you can drill into for more info.
35+
36+
There's also a link embedded in the build.cmd log of the Tests: Helix x64 job on Azure Pipelines, near the bottom right that will look something like this:
2237

2338
``` text
24-
2019-02-07T21:55:48.1516089Z Results will be available from https://mc.dot.net/#/user/aspnetcore/pr~2Faspnet~2Faspnetcore/ci/20190207.34
25-
2019-02-07T21:56:43.2209607Z Job 0dedeef6-210e-4815-89f9-fd07513179fe is completed with 108 finished work items.
26-
2019-02-07T21:56:43.5091018Z Job 4c45a464-9464-4321-906c-2503320066b0 is completed with 108 finished work items.
27-
2019-02-07T21:56:43.6863473Z Job 91a826de-fd51-42c2-9e7e-84bbe18b16cf is completed with 108 finished work items.
28-
2019-02-07T21:56:43.8591328Z Job b3595ab8-049d-4775-9cea-d1140a0cb446 is completed with 108 finished work items.
29-
2019-02-07T21:56:44.0384313Z Job 2f174f2b-f6b1-4683-8303-3f120865c341 is completed with 108 finished work items.
30-
2019-02-07T21:56:44.2069520Z Job b9387311-e670-4e18-9c84-479b7bfe67d1 is completed with 111 finished work items.
31-
2019-02-07T21:56:44.3946686Z Job 43582e31-5648-47be-ac42-8a5e4129f15f is completed with 108 finished work items.
32-
2019-02-07T21:56:44.5568847Z Job 1e6b0051-21a4-4b75-93f3-f739bb71d5dc is completed with 108 finished work items.
33-
2019-02-07T22:01:26.0028154Z Job d597c581-f81b-446c-8daf-7c6511b526f7 is completed with 108 finished work items.
34-
2019-02-07T22:06:33.6898567Z Job 82f27d4c-9099-4f0e-b383-870c24d8dc2c is completed with 108 finished work items.
39+
Uploading payloads for Job on Ubuntu.1604.Amd64.Open...
40+
Finished uploading payloads for Job on Ubuntu.1604.Amd64.Open...
41+
Sending Job to Ubuntu.1604.Amd64.Open...
42+
Sent Helix Job a5cbf405-1363-452f-af4b-de5b2a61c8cf
43+
Uploading payloads for Job on Windows.10.Amd64.Open...
44+
Finished uploading payloads for Job on Windows.10.Amd64.Open...
45+
Sending Job to Windows.10.Amd64.Open...
46+
Sent Helix Job cbec3697-c298-412a-953a-e375e49d1fe0
47+
Uploading payloads for Job on OSX.1014.Amd64.Open...
48+
Finished uploading payloads for Job on OSX.1014.Amd64.Open...
49+
Sending Job to OSX.1014.Amd64.Open...
50+
Sent Helix Job a54359cf-f74d-4d02-9faf-07e0a8380995
51+
Waiting for completion of job cbec3697-c298-412a-953a-e375e49d1fe0
52+
Waiting for completion of job a54359cf-f74d-4d02-9faf-07e0a8380995
53+
Waiting for completion of job a5cbf405-1363-452f-af4b-de5b2a61c8cf
54+
Job a54359cf-f74d-4d02-9faf-07e0a8380995 is completed with 136 finished work items.
55+
Job cbec3697-c298-412a-953a-e375e49d1fe0 is completed with 156 finished work items.
56+
Job a5cbf405-1363-452f-af4b-de5b2a61c8cf is completed with 136 finished work items.
57+
Stopping Azure Pipelines Test Run Ubuntu.1604.Amd64.Open
58+
Stopping Azure Pipelines Test Run Windows.10.Amd64.Open
59+
Stopping Azure Pipelines Test Run OSX.1014.Amd64.Open
60+
F:\workspace\_work\1\s\.packages\microsoft.dotnet.helix.sdk\5.0.0-beta.20280.1\tools\Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(76,5): error : Work item a5cbf405-1363-452f-af4b-de5b2a61c8cf/Microsoft.AspNetCore.Authentication.Test--net5.0 in job a5cbf405-1363-452f-af4b-de5b2a61c8cf has failed. [F:\workspace\_work\1\s\eng\helix\helix.proj]
61+
F:\workspace\_work\1\s\.packages\microsoft.dotnet.helix.sdk\5.0.0-beta.20280.1\tools\Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(76,5): error : Failure log: https://helix.dot.net/api/2019-06-17/jobs/a5cbf405-1363-452f-af4b-de5b2a61c8cf/workitems/Microsoft.AspNetCore.Authentication.Test--net5.0/console [F:\workspace\_work\1\s\eng\helix\helix.proj]
62+
##[error].packages\microsoft.dotnet.helix.sdk\5.0.0-beta.20280.1\tools\Microsoft.DotNet.Helix.Sdk.MultiQueue.targets(76,5): error : (NETCORE_ENGINEERING_TELEMETRY=Test) Work item a5cbf405-1363-452f-af4b-de5b2a61c8cf/Microsoft.AspNetCore.Authentication.Test--net5.0 in job a5cbf405-1363-452f-af4b-de5b2a61c8cf has failed.
63+
Failure log: https://helix.dot.net/api/2019-06-17/jobs/a5cbf405-1363-452f-af4b-de5b2a61c8cf/workitems/Microsoft.AspNetCore.Authentication.Test--net5.0/console
3564
```
3665

37-
The link will take you to an overview of all the tests with clickable links to the logs and each run broken down by queue.
66+
The https://helix.dot.net/ home page displays information about the available public queues (nothing about the related BYOC pools and queues or the internal Helix queues)
3867

39-
All of the helix runs for aspnetcore can be found here <https://mc.dot.net/#/user/aspnetcore/builds>.
68+
Some superficial information about both BYOC and Helix agents is available at https://github.com/dotnet/arcade/blob/8ca46105193bd25c95af49bc6cd3604aaefec980/Documentation/AzureDevOps/AzureDevOpsOnboarding.md#agent-queues
69+
70+
More detailed and always up-to-date information about all of the agents is available at https://helix.dot.net/api/2018-03-14/info/queues
4071

4172
## What do I do if a test fails?
4273

@@ -48,8 +79,6 @@ cd <the publish directory>
4879
dotnet vstest My.Tests.dll
4980
```
5081

51-
If that doesn't help, you can try the Get Repro environment link from mission control and try to debug that way.
52-
5382
## Differences from running tests locally
5483

5584
Most tests that don't just work on helix automatically are ones that depend on the source code being accessible. The helix payloads only contain whatever is in the publish directories, so any thing else that test depends on will need to be included to the payload.

eng/Dependencies.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ and are generated based on the last package release.
4646
<LatestPackageReference Include="Microsoft.Extensions.FileProviders.Composite" Version="$(MicrosoftExtensionsFileProvidersCompositePackageVersion)" />
4747
<LatestPackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="$(MicrosoftExtensionsFileProvidersPhysicalPackageVersion)" />
4848
<LatestPackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="$(MicrosoftExtensionsFileSystemGlobbingPackageVersion)" />
49+
<LatestPackageReference Include="Microsoft.Extensions.HostFactoryResolver.Sources" Version="$(MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion)" />
4950
<LatestPackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(MicrosoftExtensionsHostingAbstractionsPackageVersion)" />
5051
<LatestPackageReference Include="Microsoft.Extensions.Hosting" Version="$(MicrosoftExtensionsHostingPackageVersion)" />
5152
<LatestPackageReference Include="Microsoft.Extensions.Http" Version="$(MicrosoftExtensionsHttpPackageVersion)" />

0 commit comments

Comments
 (0)