# 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: nightly
suite: graphics_per-build
branch_specs: >=R28
pool: suites

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

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

[Chameleon]
run_on: nightly
suite: chameleon
branch_specs: >=R36
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: nightly
suite: kernel_per-build_regression
branch_specs: >=R21
pool: suites
num: 2

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

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

[ExperimentalTests]
run_on: nightly
suite: experimental
branch_specs: >=R36
pool: suites

[JailedBuild]
run_on: nightly
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_att]
run_on: nightly
suite: network3g_att
branch_specs: >=R36
pool: cellular

[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: nightly
suite: network3g_pseudomodem
branch_specs: >=R29
pool: suites

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

[NetworkUI]
run_on: nightly
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: nightly
suite: perfalerts
branch_specs: >=R21
pool: suites
num: 1

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

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

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

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

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

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

[youtube_page]
run_on: nightly
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: nightly
suite: vda
branch_specs: >=R23
pool: vda
num: 2

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

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

[perf_v2]
run_on: nightly
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

[NightlyStress]
run_on: nightly
suite: stress
branch_specs: >=R36
pool: stress
