# When changing this file, you can (and should) validate your changes by
# running |./site_utils/suite_scheduler/suite_scheduler.py --sanity|
#
# When adding tests to a suite, if one (or more) of the tests contains
# DEPENDENCIES, then the number of different host specifications required
# can increase. This means that the number of physical machines the suite
# must ask for increases, as if a suite needs two different machines, and
# only asks for one, then there's going to be some set of tests that can't
# run. The sanity check will describe to you what suites to set at what
# number of machines to make sure all suites can run.

#[nightly_params]
#always_handle: True

[WeeklyKernelRegressions]
run_on: weekly
suite: kernel_weekly_regression
branch_specs: >=R21
pool: suites
num: 2

[WeeklyPowerRequirements]
run_on: weekly
suite: power_requirements
branch_specs: >=R22
pool: suites

[WeeklyVideoRegressions]
run_on: weekly
suite: video_weekly_regression
branch_specs: >=R27
pool: suites
num: 2

[WeeklyStoraqequal]
run_on: weekly
suite: storagequal
branch_specs: >=R31
pool: suites

[NightlyGraphics]
run_on: nightly
suite: graphics
branch_specs: >=R21
pool: suites

[PerBuildGraphics]
run_on: new_build
suite: graphics_per-build
branch_specs: >=R28
pool: suites

[GraphicsGLES]
run_on: nightly
suite: graphicsGLES
branch_specs: >=R22
pool: snow

[GpuHang]
run_on: new_build
suite: gpu_hang
branch_specs: >=R31
pool: suites

[NightlyHwQual]
run_on: nightly
suite: hwqual
branch_specs: >=R21
pool: suites
num: 3

[KernelDailyRegression]
run_on: nightly
suite: kernel_daily_regression
branch_specs: >=R21
pool: suites
num: 2

[KernelDailyBenchmarks]
run_on: nightly
suite: kernel_daily_benchmarks
branch_specs: >=R21
pool: suites
file_bugs: True

[KernelPerBuildRegression]
run_on: new_build
suite: kernel_per-build_regression
branch_specs: >=R21
pool: suites
num: 2

[KernelPerBuildBenchmarks]
run_on: new_build
suite: kernel_per-build_benchmarks
branch_specs: >=R21
pool: suites

[NightlyRegression]
run_on: nightly
suite: regression
branch_specs: >=R21
pool: suites
num: 2

[JailedBuild]
run_on: new_build
suite: jailed_build
branch_specs: >=R31
pool: jail

[JailedNightly]
run_on: nightly
suite: jailed_daily
branch_specs: >=R31
pool: jail

[JailedWeekly]
run_on: weekly
suite: jailed_weekly
branch_specs: >=R31
pool: jail

[Network3g]
run_on: nightly
suite: network3g
branch_specs: >=R25
pool: cellular
num: 7

[Network3g_tmobile]
run_on: nightly
suite: network3g_tmobile
branch_specs: >=R28
pool: cellular
num: 4

[Network3g_verizon]
run_on: nightly
suite: network3g_verizon
branch_specs: >=R28
pool: cellular
num: 2

[Network3g_pseudomodem]
run_on: new_build
suite: network3g_pseudomodem
branch_specs: >=R29
pool: suites

[Cellular_modem_repair]
run_on: new_build
suite: cellular_modem_repair
branch_specs: >=R35
pool: cellular_repair

[NetworkUI]
run_on: new_build
suite: network_ui
branch_specs: >=R30
pool: suites

[PowerDaily]
run_on: nightly
suite: power_daily
branch_specs: >=R21
pool: suites

[Perfalerts]
# Not a part of perf build because it requires 3 machines.
run_on: new_build
suite: perfalerts
branch_specs: >=R21
pool: suites
num: 1

[SecuritySuite]
run_on: new_build
suite: security
branch_specs: >=R21
pool: suites

[Power_build]
run_on: new_build
suite: power_build
branch_specs: >=R21
pool: suites

[pagecycler]
run_on: new_build
suite: pagecycler
branch_specs: >=R21
pool: suites

[audio]
run_on: new_build
suite: audio
branch_specs: >=R21
pool: suites

[video]
run_on: new_build
suite: video
branch_specs: >=R26
pool: suites
num: 4

[youtube_mse_eme]
run_on: new_build
suite: youtube_mse_eme
branch_specs: >=R30
pool: suites

[youtube_page]
run_on: new_build
suite: youtube_page
branch_specs: >=R30
pool: suites

[WebRTC]
run_on: nightly
suite: webrtc
branch_specs: >=R26
pool: suites

# run only and post-ALEX platforms (so do not run mario, zgb, and alex)
[VDA]
run_on: new_build
suite: vda
branch_specs: >=R23
pool: vda
num: 2

[LinkPerf]
run_on: new_build
suite: link_perf
branch_specs: >=R23
pool: link_perf

[FirmwarePerBuildRegression_ec]
run_on: new_build
suite: faft_ec
pool: faft-ec
branch_specs: >=R26

[perf_v2]
run_on: new_build
suite: perf_v2
branch_specs: >=R27
pool: suites

[NetworkNightly]
run_on: nightly
suite: network_nightly
branch_specs: >=R29
pool: suites
file_bugs: True

[WiFi_MatFuncDaily]
run_on: nightly
suite: wifi_matfunc
branch_specs: >=R29
pool: wificell

[WiFi_MatFuncDaily_Preflight]
run_on: nightly
suite: wifi_matfunc
branch_specs: >=R36
pool: wificell_preflight

[WiFi_Perf]
run_on: nightly
suite: wifi_perf
branch_specs: >=R34
pool: wificell

[WiFi_Attenuated_Performance]
run_on: nightly
suite: wifi_atten_perf
branch_specs: >=R34
pool: groamer

[WiFi_InteropWeekly]
run_on: weekly
suite: wifi_interop
branch_specs: >=R34
pool: wifiinterop

[WiMAX]
run_on: nightly
suite: wimax
branch_specs: >=R33
pool: wimax

[SecurityWeekly]
run_on: weekly
suite: security_weekly
branch_specs: >=R30
pool: suites

[Bluetooth_Qualification]
run_on: nightly
suite: bluetooth_qualification
branch_specs: >=R34
pool: wificell

[Bluetooth_Sanity]
run_on: nightly
suite: bluetooth_sanity
branch_specs: >=R34
pool: wificell

