# 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

[Chameleon]
run_on: new_build
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: 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

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

[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_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: 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

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