msquic/.azure/azure-pipelines.periodic.yml

148 строки
3.7 KiB
YAML

#
# Continuous Integration (CI)
# This pipeline builds and runs MsQuic performance RPS long run tests.
#
trigger: none
pr: none
schedules:
- cron: "0 0 * * Sun"
displayName: Weekly Perf Run
branches:
include:
- main
always: true
name: 0.$(Date:yyyy).$(Date:MM).$(DayOfMonth).$(Rev:rr).0
stages:
#
# Builds
#
- stage: build_windows
displayName: Build Windows
dependsOn: []
variables:
runCodesignValidationInjection: false
jobs:
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: schannel
config: Release
extraBuildArgs: -DisableTest -DisableTools
- template: ./templates/build-config-winkernel.yml
parameters:
arch: x64
config: Release
#
# Performance Tests
#
- stage: performance_rps
displayName: RPS Performance Testing
dependsOn:
- build_windows
jobs:
- template: ./templates/run-performance.yml
parameters:
pool: MsQuic-Win-Perf
platform: windows
localTls: schannel
remoteTls: schannel
arch: x64
failOnRegression: 0
kernelMode: -Kernel -TestsFile FullRunRPS.json
extraName: 'Kernel'
testTypes: 'Remote'
timeout: 300
- stage: performance_wan
displayName: WAN Performance Testing
dependsOn:
- build_windows
jobs:
- template: ./templates/run-wanperf.yml
parameters:
jobName: wanperf_general_1
displayName: General Networks (5 Mbps)
iterations: 3
protocol: ('QUIC','TCPTLS')
bottleneckQueueRatio: (0.2,1,5)
rateMbps: 5
rttMs: (20,50,100)
randomLossDenominator: (0,1000,10000)
randomReorderDenominator: (0,1000,10000)
reorderDelayDeltaMs: (0,5,10)
timeout: 300
extraArgs: -Periodic
- template: ./templates/run-wanperf.yml
parameters:
jobName: wanperf_general_2
displayName: General Networks (10 Mbps)
iterations: 3
protocol: ('QUIC','TCPTLS')
bottleneckQueueRatio: (0.2,1,5)
rateMbps: 10
rttMs: (20,50,100)
randomLossDenominator: (0,1000,10000)
randomReorderDenominator: (0,1000,10000)
reorderDelayDeltaMs: (0,5,10)
timeout: 300
extraArgs: -Periodic
- template: ./templates/run-wanperf.yml
parameters:
jobName: wanperf_general_3
displayName: General Networks (50 Mbps)
iterations: 3
protocol: ('QUIC','TCPTLS')
bottleneckQueueRatio: (0.2,1,5)
rateMbps: 50
rttMs: (20,50,100)
randomLossDenominator: (0,1000,10000)
randomReorderDenominator: (0,1000,10000)
reorderDelayDeltaMs: (0,5,10)
timeout: 300
extraArgs: -Periodic
- template: ./templates/run-wanperf.yml
parameters:
jobName: wanperf_general_4
displayName: General Networks (100 Mbps)
iterations: 3
protocol: ('QUIC','TCPTLS')
bottleneckQueueRatio: (0.2,1,5)
rateMbps: 100
rttMs: (20,50,100)
randomLossDenominator: (0,1000,10000)
randomReorderDenominator: (0,1000,10000)
reorderDelayDeltaMs: (0,5,10)
timeout: 300
extraArgs: -Periodic
- template: ./templates/run-wanperf.yml
parameters:
jobName: wanperf_general_5
displayName: General Networks (200 Mbps)
iterations: 3
protocol: ('QUIC','TCPTLS')
bottleneckQueueRatio: (0.2,1,5)
rateMbps: 200
rttMs: (20,50,100)
randomLossDenominator: (0,1000,10000)
randomReorderDenominator: (0,1000,10000)
reorderDelayDeltaMs: (0,5,10)
timeout: 300
extraArgs: -Periodic
- stage: publish_results
displayName: Publish Results
dependsOn:
- performance_rps
- performance_wan
jobs:
- template: ./templates/post-process-periodic-performance.yml