Skip to content

Commit e6fcc01

Browse files
committed
Merge branch 'master' into merge/release/3.1-to-master
# Conflicts: # src/SignalR/clients/ts/FunctionalTests/yarn.lock # src/SignalR/clients/ts/signalr/src/NodeHttpClient.ts # src/SignalR/clients/ts/signalr/tests/HttpConnection.test.ts # src/SignalR/clients/ts/signalr/tests/TestWebSocket.ts
2 parents a9449cd + 58cf230 commit e6fcc01

File tree

2,805 files changed

+152053
-69444
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,805 files changed

+152053
-69444
lines changed

.azure/pipelines/benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
jobName: Windows_Build
1313
jobDisplayName: "Build only : Windows"
1414
agentOs: Windows
15-
buildArgs: -ci -all -pack
15+
buildArgs: -all -pack
1616
artifacts:
1717
- path: artifacts/
1818
includeForks: true

.azure/pipelines/ci.yml

Lines changed: 120 additions & 91 deletions
Large diffs are not rendered by default.

.azure/pipelines/devBuilds.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
#
2+
# See https://docs.microsoft.com/en-us/vsts/pipelines/yaml-schema for details on this file.
3+
#
4+
5+
# Configure which branches trigger builds
6+
trigger: none
7+
8+
# no PR builds
9+
pr: none
10+
11+
# Schedule this pipeline to run every midnight
12+
schedules:
13+
- cron: "0 8 * * *"
14+
displayName: Daily midnight Dev builds
15+
branches:
16+
include:
17+
- master
18+
always: true
19+
20+
stages:
21+
- stage: build_components
22+
displayName: Build Components
23+
jobs:
24+
# Build components on Windows (x64)
25+
- template: jobs/default-build.yml
26+
parameters:
27+
codeSign: false
28+
jobName: Windows_build
29+
jobDisplayName: "Build: Components"
30+
agentOs: Windows
31+
steps:
32+
- script: git submodule init
33+
- script: git submodule update --recursive
34+
- script: ./build.cmd
35+
-ci
36+
-arch x64
37+
/bl:artifacts/log/build.components.x64.binlog
38+
displayName: Build x64
39+
workingDirectory: ./src/Components
40+
artifacts:
41+
- name: Windows_Logs
42+
path: artifacts/log/
43+
publishOnError: true
44+
includeForks: true
45+
46+
- stage: build_servers
47+
displayName: Build Servers
48+
jobs:
49+
# Build servers on Windows (x64)
50+
- template: jobs/default-build.yml
51+
parameters:
52+
codeSign: false
53+
jobName: Windows_build
54+
jobDisplayName: "Build: Servers"
55+
agentOs: Windows
56+
steps:
57+
- script: git submodule init
58+
- script: git submodule update --recursive
59+
- script: ./build.cmd
60+
-ci
61+
-arch x64
62+
/bl:artifacts/log/build.servers.x64.binlog
63+
displayName: Build x64
64+
workingDirectory: ./src/Servers
65+
artifacts:
66+
- name: Windows_Logs
67+
path: artifacts/log/
68+
publishOnError: true
69+
includeForks: true
70+
71+
- stage: build_project_templates
72+
displayName: Build Project Templates
73+
jobs:
74+
# Build servers on Windows (x64)
75+
- template: jobs/default-build.yml
76+
parameters:
77+
codeSign: false
78+
jobName: Windows_build
79+
jobDisplayName: "Build: Project Templates"
80+
agentOs: Windows
81+
steps:
82+
- script: git submodule init
83+
- script: git submodule update --recursive
84+
- script: ./build.cmd
85+
-ci
86+
-arch x64
87+
/bl:artifacts/log/build.projectTemplates.x64.binlog
88+
displayName: Build x64
89+
workingDirectory: ./src/ProjectTemplates
90+
artifacts:
91+
- name: Windows_Logs
92+
path: artifacts/log/
93+
publishOnError: true
94+
includeForks: true
95+
96+
- stage: build_all
97+
displayName: Build Everything
98+
jobs:
99+
# Build servers on Windows (x64)
100+
- template: jobs/default-build.yml
101+
parameters:
102+
codeSign: false
103+
jobName: Windows_build
104+
jobDisplayName: "Build: Everything"
105+
agentOs: Windows
106+
steps:
107+
- script: git submodule init
108+
- script: git submodule update --recursive
109+
- script: ./build.cmd
110+
-ci
111+
-arch x64
112+
/bl:artifacts/log/build.all.x64.binlog
113+
displayName: Build x64
114+
artifacts:
115+
- name: Windows_Logs
116+
path: artifacts/log/
117+
publishOnError: true
118+
includeForks: true

.azure/pipelines/helix-test.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.

.azure/pipelines/jobs/codesign-xplat.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,6 @@ jobs:
2828
contents: '**/*.nupkg'
2929
targetFolder: $(Build.SourcesDirectory)/artifacts/packages/$(BuildConfiguration)/shipping/
3030
flattenFolders: true
31-
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
32-
- task: PowerShell@2
33-
displayName: Setup Private Feeds Credentials
34-
inputs:
35-
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
36-
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
37-
env:
38-
Token: $(dn-bot-dnceng-artifact-feeds-rw)
3931
- powershell: .\eng\common\build.ps1
4032
-ci
4133
-restore

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

Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ parameters:
5959
installNodeJs: true
6060
installJdk: true
6161
timeoutInMinutes: 180
62+
useHostedUbuntu: true
6263

6364
# 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).
6465
# This makes sure we have time to upload everything in the case of a build timeout - really important for investigating a build
@@ -81,7 +82,7 @@ jobs:
8182
enablePublishUsingPipelines: ${{ variables._PublishUsingPipelines }}
8283
enablePublishTestResults: true # publish test results to AzDO (populates AzDO Tests tab)
8384
enableTelemetry: true
84-
helixRepo: aspnet/AspNetCore
85+
helixRepo: dotnet/aspnetcore
8586
helixType: build.product/
8687
workspace:
8788
clean: all
@@ -91,20 +92,23 @@ jobs:
9192
${{ if eq(parameters.agentOs, 'macOS') }}:
9293
vmImage: macOS-10.14
9394
${{ if eq(parameters.agentOs, 'Linux') }}:
94-
vmImage: ubuntu-16.04
95+
${{ if eq(parameters.useHostedUbuntu, true) }}:
96+
vmImage: ubuntu-16.04
97+
${{ if eq(parameters.useHostedUbuntu, false) }}:
98+
${{ if eq(variables['System.TeamProject'], 'public') }}:
99+
name: NetCorePublic-Pool
100+
queue: BuildPool.Ubuntu.1604.Amd64.Open
101+
${{ if eq(variables['System.TeamProject'], 'internal') }}:
102+
name: NetCoreInternal-Pool
103+
queue: BuildPool.Ubuntu.1604.Amd64
95104
${{ if eq(parameters.agentOs, 'Windows') }}:
96105
${{ if eq(variables['System.TeamProject'], 'public') }}:
97106
name: NetCorePublic-Pool
98-
${{ if ne(parameters.isTestingJob, true) }}:
99-
# Visual Studio Build Tools
100-
queue: BuildPool.Server.Amd64.VS2019.BT.Open
101-
${{ if eq(parameters.isTestingJob, true) }}:
102-
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
103-
queue: BuildPool.Server.Amd64.VS2019.Open
107+
queue: BuildPool.Windows.10.Amd64.VS2019.Pre.Open
104108
${{ if eq(variables['System.TeamProject'], 'internal') }}:
105109
name: NetCoreInternal-Pool
106110
# Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing
107-
queue: BuildPool.Server.Amd64.VS2019
111+
queue: BuildPool.Windows.10.Amd64.VS2019.Pre
108112
variables:
109113
- AgentOsName: ${{ parameters.agentOs }}
110114
- ASPNETCORE_TEST_LOG_MAXPATH: "200" # Keep test log file name length low enough for artifact zipping
@@ -113,6 +117,7 @@ jobs:
113117
- _BuildConfig: ${{ parameters.configuration }}
114118
- BuildConfiguration: ${{ parameters.configuration }}
115119
- BuildDirectory: ${{ parameters.buildDirectory }}
120+
- DOTNET_CLI_HOME: $(Agent.BuildDirectory)
116121
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
117122
- TeamName: AspNetCore
118123
- ${{ if and(eq(parameters.installJdk, 'true'), eq(parameters.agentOs, 'Windows')) }}:
@@ -125,6 +130,9 @@ jobs:
125130
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
126131
- _SignType: test
127132
steps:
133+
- ${{ if ne(parameters.agentOs, 'Windows') }}:
134+
- script: df -h
135+
displayName: Disk size
128136
- checkout: self
129137
clean: true
130138
- ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.isTestingJob, true)) }}:
@@ -138,6 +146,7 @@ jobs:
138146
inputs:
139147
versionSpec: 10.x
140148
- ${{ if eq(parameters.agentOs, 'Windows') }}:
149+
- task: NuGetToolInstaller@1
141150
- task: NuGetCommand@2
142151
displayName: 'Clear NuGet caches'
143152
condition: succeeded()
@@ -158,40 +167,48 @@ jobs:
158167

159168
- ${{ parameters.beforeBuild }}
160169

161-
- ${{ if ne(parameters.steps, '')}}:
162-
- ${{ parameters.steps }}
163-
- ${{ if eq(parameters.steps, '')}}:
164-
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
165-
- ${{ if eq(parameters.agentOs, 'Windows') }}:
166-
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
167-
- task: PowerShell@2
168-
displayName: Setup Private Feeds Credentials
169-
inputs:
170-
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
171-
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
172-
env:
173-
Token: $(dn-bot-dnceng-artifact-feeds-rw)
174-
- ${{ if ne(parameters.agentOs, 'Windows') }}:
175-
- task: Bash@3
170+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
171+
- ${{ if eq(parameters.agentOs, 'Windows') }}:
172+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
173+
- task: PowerShell@2
176174
displayName: Setup Private Feeds Credentials
177175
inputs:
178-
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
179-
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
176+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
177+
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
180178
env:
181179
Token: $(dn-bot-dnceng-artifact-feeds-rw)
180+
- ${{ if ne(parameters.agentOs, 'Windows') }}:
181+
- task: Bash@3
182+
displayName: Setup Private Feeds Credentials
183+
inputs:
184+
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
185+
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
186+
env:
187+
Token: $(dn-bot-dnceng-artifact-feeds-rw)
188+
189+
- ${{ if ne(parameters.steps, '')}}:
190+
- ${{ parameters.steps }}
191+
- ${{ if eq(parameters.steps, '')}}:
182192
- ${{ if eq(parameters.buildScript, '') }}:
183193
- ${{ if eq(parameters.agentOs, 'Windows') }}:
184-
- script: .\$(BuildDirectory)\build.cmd -ci /p:DotNetSignType=$(_SignType) -Configuration $(BuildConfiguration) $(BuildScriptArgs)
194+
- script: .\$(BuildDirectory)\build.cmd -ci -nobl -Configuration $(BuildConfiguration) $(BuildScriptArgs) /p:DotNetSignType=$(_SignType)
185195
displayName: Run build.cmd
186196
- ${{ if ne(parameters.agentOs, 'Windows') }}:
187-
- script: ./$(BuildDirectory)/build.sh -ci -configuration $(BuildConfiguration) $(BuildScriptArgs)
197+
- script: ./$(BuildDirectory)/build.sh --ci --nobl --configuration $(BuildConfiguration) $(BuildScriptArgs)
188198
displayName: Run build.sh
189199
- ${{ if ne(parameters.buildScript, '') }}:
190-
- script: $(BuildScript) -Configuration $(BuildConfiguration) $(BuildScriptArgs)
200+
- script: $(BuildScript) -ci -nobl -Configuration $(BuildConfiguration) $(BuildScriptArgs)
191201
displayName: run $(BuildScript)
192202

193203
- ${{ parameters.afterBuild }}
194204

205+
- ${{ if eq(parameters.agentOs, 'Linux') }}:
206+
- script: df -h && du -h --threshold=50MB ..
207+
displayName: Disk utilization
208+
- ${{ if eq(parameters.agentOs, 'macOS') }}:
209+
- script: df -h && du -h -d 3 ..
210+
displayName: Disk utilization
211+
195212
- ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.isTestingJob, true)) }}:
196213
- powershell: ./eng/scripts/FinishDumpCollectionForHangingBuilds.ps1 artifacts/dumps/
197214
displayName: Finish background dump collection
@@ -251,6 +268,7 @@ jobs:
251268
condition: always()
252269
inputs:
253270
testRunner: junit
254-
testResultsFiles: '**/TEST-com.microsoft.signalr*.xml'
271+
testResultsFiles: '**/TEST-junit-jupiter.xml'
255272
buildConfiguration: $(BuildConfiguration)
256273
buildPlatform: $(AgentOsName)
274+
mergeTestResults: true
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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_quarantine_x64
29+
jobDisplayName: 'Tests: Helix Quarantine x64'
30+
agentOs: Windows
31+
timeoutInMinutes: 240
32+
steps:
33+
# Build the shared framework
34+
- script: ./build.cmd -ci -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
35+
displayName: Build shared fx
36+
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
37+
displayName: Restore interop projects
38+
- script: .\build.cmd -ci -NoRestore -test -noBuildJava -all -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
39+
displayName: Run build.cmd helix target
40+
env:
41+
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
42+
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
43+
artifacts:
44+
- name: Helix_logs
45+
path: artifacts/log/
46+
publishOnError: true

.config/CredScanSuppressions.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
{
2121
"placeholder": "1qaz@WSX",
2222
"_justification": "This is a fake password used in test code."
23+
},
24+
{
25+
"file": "\\src\\Servers\\Kestrel\\shared\\test\\TestCertificates\\testCert.pfx",
26+
"_justification": "Legitimate UT certificate file with private key"
2327
}
2428
]
2529
}

.config/dotnet-tools.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"dotnet-serve": {
6+
"version": "1.5.0",
7+
"commands": [
8+
"dotnet-serve"
9+
]
10+
}
11+
}
12+
}

0 commit comments

Comments
 (0)