# 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

# TODO(beeps) Figure out a better frequency for tot nightly suites
# (https://crbug.com/417131).

#TODO(ihf): Delete this after R40 goes stable.
[NightlyGraphics]
run_on: weekly
suite: graphics
branch_specs: >=R37
pool: suites

#TODO(beeps): Make this "run_on: new_build" for selected boards again. (373526)
[GraphicsPerBuild]
run_on: nightly
suite: graphics_per-build
branch_specs: ==tot
pool: suites

[GraphicsPerDay]
run_on: nightly
suite: graphics_per-day
branch_specs: ==tot
pool: suites

[GraphicsPerWeek]
run_on: weekly
suite: graphics_per-week
branch_specs: ==tot
pool: suites

[ChameleonAudio]
run_on: nightly
suite: chameleon_audio
branch_specs: ==tot
pool: chameleon_audio
job_retry: True

[ChameleonAudioNightly]
run_on: nightly
suite: chameleon_audio_nightly
branch_specs: ==tot
pool: chameleon_audio_stable
job_retry: True

[ChameleonAudioPerbuild]
run_on: new_build
suite: chameleon_audio_perbuild
branch_specs: >=tot-2
pool: chameleon_audio_stable
job_retry: True
file_bugs: True

[ChameleonDp]
run_on: nightly
suite: chameleon_dp
branch_specs: ==tot
pool: chameleon
job_retry: True

[ChameleonDpOldBranch]
run_on: weekly
suite: chameleon_dp
branch_specs: <=tot-1
pool: chameleon
job_retry: True

[ChameleonDpStress]
run_on: weekly
suite: chameleon_dp_stress
branch_specs: ==tot
pool: chameleon

[ChameleonHdmi]
run_on: nightly
suite: chameleon_hdmi
branch_specs: ==tot
pool: chameleon_hdmi
job_retry: True

[ChameleonHdmiNightly]
run_on: nightly
suite: chameleon_hdmi_nightly
branch_specs: ==tot
pool: chameleon_hdmi_stable
job_retry: True

[ChameleonHdmiPerbuild]
run_on: new_build
suite: chameleon_hdmi_perbuild
branch_specs: >=tot-2
pool: chameleon_hdmi_stable
job_retry: True
file_bugs: True

[ChameleonHdmiStress]
run_on: weekly
suite: chameleon_hdmi_stress
branch_specs: ==tot
pool: chameleon

[ChameleonVga]
run_on: nightly
suite: chameleon_vga
branch_specs: ==tot
pool: chameleon
job_retry: True

[ChameleonVgaOldBranch]
run_on: weekly
suite: chameleon_vga
branch_specs: <=tot-1
pool: chameleon
job_retry: True

[Hotrod]
run_on: nightly
suite: hotrod
branch_specs: >=tot-1
pool: hotrod

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

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

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

[KernelPerBuildRegression]
run_on: nightly
suite: kernel_per-build_regression
branch_specs: ==tot
pool: suites
num: 2

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

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

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

[JailedBuild]
run_on: nightly
suite: jailed_build
branch_specs: ==tot
pool: jail

[Network3g]
run_on: nightly
suite: network3g
branch_specs: >=tot-2
pool: cellular
num: 7

[Network3g_att]
run_on: nightly
suite: network3g_att
branch_specs: >=tot-2
pool: cellular

[Network3g_tmobile]
run_on: nightly
suite: network3g_tmobile
branch_specs: >=tot-2
pool: cellular
num: 4

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

[Network3g_pseudomodem]
run_on: nightly
suite: network3g_pseudomodem
branch_specs: ==tot
pool: suites

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

[NetworkUI]
run_on: nightly
suite: network_ui
branch_specs: ==tot
pool: suites

[PowerDaily]
run_on: nightly
suite: power_daily
branch_specs: ==tot
pool: suites
file_bugs: True

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

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

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

[audio]
run_on: nightly
suite: audio
branch_specs: ==tot
pool: suites

[video]
run_on: nightly
suite: video
branch_specs: ==tot
pool: suites
num: 4
file_bugs: True

[youtube_mse_eme]
run_on: nightly
suite: youtube_mse_eme
branch_specs: ==tot
pool: suites

[youtube_page]
run_on: nightly
suite: youtube_page
branch_specs: ==tot
pool: suites

[LinkPerf]
run_on: nightly
suite: link_perf
branch_specs: ==tot
pool: link_perf

[perf_v2]
run_on: nightly
suite: perf_v2
branch_specs: ==tot
pool: suites

[NetworkNightly]
run_on: nightly
suite: network_nightly
branch_specs: ==tot
pool: suites
file_bugs: False

[WiFi_MatFunc]
run_on: nightly
suite: wifi_matfunc
branch_specs: ==tot
pool: wificell

[WiFi_EndtoEnd]
run_on: nightly
suite: wifi_endtoend
branch_specs: ==tot
pool: wificell

[WiFi_MatFunc_bcm4371]
run_on: nightly
suite: wifi_matfunc_bcm4371
branch_specs: ==tot
pool: wificell_preflight

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

[WiFi_Perf_bcm4371]
run_on: nightly
suite: wifi_perf_bcm4371
branch_specs: ==tot
pool: wificell_preflight

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

[WiFi_Update_Router]
run_on: nightly
suite: wifi_update_router
branch_specs: ==tot
pool: wificell

[WiFi_Update_Router_Preflight]
run_on: nightly
suite: wifi_update_router
branch_specs: ==tot
pool: wificell_preflight

[WiFi_Update_Router_Dev_Cells]
run_on: weekly
suite: wifi_update_router
branch_specs: ==tot
pool: wificell_dev

[WiFi_Update_Router_Pre_CQ]
run_on: weekly
suite: wifi_update_router
branch_specs: ==tot
pool: wificell-pre-cq

[WiFi_Update_Router_Stress_WiFi]
run_on: weekly
suite: wifi_update_router
branch_specs: ==tot
pool: stress-wifi

[WiFi_Interop_Nightly]
run_on: nightly
suite: wifi_interop
branch_specs: ==tot
pool:wifichaos

[WiFi_LucidSleep_Nightly]
run_on: nightly
suite: wifi_lucidsleep
branch_specs: ==tot
pool: wificell

[WiFi_LucidSleep_Weekly]
run_on: weekly
suite: wifi_lucidsleep
branch_specs: >=tot-1
pool: wificell

[WiMAX]
run_on: nightly
suite: wimax
branch_specs: ==tot
pool: wimax

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

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

[NightlyStressExperimental]
run_on: nightly
suite: stress_experimental
branch_specs: ==tot
pool: stress
file_bugs: False

[NightlyStress]
run_on: nightly
suite: stress
branch_specs: >=tot-2
pool: stress
file_bugs: True

[NightlyStressPool2]
run_on: nightly
suite: stress2
branch_specs: >=tot-2
pool: stress2
file_bugs: True

[NightlyStressPool3]
run_on: nightly
suite: stress3
branch_specs: >=tot-2
pool: stress3
file_bugs: True

[NightlyStressPool4]
run_on: nightly
suite: stress4
branch_specs: =tot-2
pool: stress4
file_bugs: True

[NightlyStressPool5]
run_on: nightly
suite: stress5
branch_specs: =tot-2
pool: stress5
file_bugs: True

[NightlyKernelUsb]
run_on: new_build
suite: kernel_usb
branch_specs: >=tot-1
pool: usb_peripherals

[Gizmo]
run_on: nightly
suite: bvt-cq
branch_specs: ==tot
pool: gizmo

[NightlyStormBvtCq]
run_on: nightly
suite: bvt-cq
branch_specs: ==tot
boards: storm
pool: suites

[NightlyStormBvtInline]
run_on: nightly
suite: bvt-inline
branch_specs: ==tot
boards: storm
pool: suites

[NightlyStormBvtPerBuild]
run_on: nightly
suite: bvt-perbuild
branch_specs: ==tot
boards: storm
pool: suites

# TODO(beeps) figure out a better frequency for dev and beta weekly suites
# (http://crbug.com/417131).
[WeeklyKernelRegressions]
run_on: weekly
suite: kernel_weekly_regression
branch_specs: >=tot-2
pool: suites
num: 2

[WeeklyPowerRequirements]
run_on: weekly
suite: power_requirements
branch_specs: >=tot-2
pool: suites

[WeeklyStoraqequal]
run_on: weekly
suite: storagequal
branch_specs: >=tot-2
pool: suites

[WeeklyNightlyHwQual]
run_on: weekly
suite: hwqual
branch_specs: >=tot-2
pool: suites
num: 3

[WeeklyKernelDailyRegression]
run_on: weekly
suite: kernel_daily_regression
branch_specs: >=tot-2
pool: suites
num: 2

[WeeklyKernelDailyBenchmarks]
run_on: weekly
suite: kernel_daily_benchmarks
branch_specs: >=tot-2
pool: suites
file_bugs: True

[WeeklyKernelPerBuildRegression]
run_on: weekly
suite: kernel_per-build_regression
branch_specs: >=tot-2
pool: suites
num: 2

[WeeklyKernelPerBuildBenchmarks]
run_on: weekly
suite: kernel_per-build_benchmarks
branch_specs: >=tot-2
pool: suites

[WeeklyNightlyRegression]
run_on: weekly
suite: regression
branch_specs: >=tot-2
pool: suites
num: 2

[WeeklyExperimentalTests]
run_on: weekly
suite: experimental
branch_specs: >=tot-2
pool: suites

[WeeklyJailedBuild]
run_on: weekly
suite: jailed_build
branch_specs: >=tot-2
pool: jail

[WeeklyNetwork3g_pseudomodem]
run_on: weekly
suite: network3g_pseudomodem
branch_specs: >=tot-2
pool: suites

[WeeklyCellular_modem_repair]
run_on: weekly
suite: cellular_modem_repair
branch_specs: >=tot-2
pool: cellular_repair

[WeeklyNetworkUI]
run_on: weekly
suite: network_ui
branch_specs: >=tot-2
pool: suites

[WeeklyPowerDaily]
run_on: weekly
suite: power_daily
branch_specs: >=tot-2
pool: suites
file_bugs: True

[WeeklyPerfalerts]
# Not a part of perf build because it requires 3 machines.
run_on: weekly
suite: perfalerts
branch_specs: >=tot-2
pool: suites
num: 1

[WeeklySecuritySuite]
run_on: weekly
suite: security
branch_specs: >=tot-2
pool: suites

[WeeklyPower_build]
run_on: weekly
suite: power_build
branch_specs: >=tot-2
pool: suites

[Weeklyaudio]
run_on: weekly
suite: audio
branch_specs: >=tot-2
pool: suites

[Weeklyvideo]
run_on: weekly
suite: video
branch_specs: >=tot-2
pool: suites
num: 4
file_bugs: True

[Weeklyyoutube_mse_eme]
run_on: weekly
suite: youtube_mse_eme
branch_specs: >=tot-2
pool: suites

[Weeklyyoutube_page]
run_on: weekly
suite: youtube_page
branch_specs: >=tot-2
pool: suites

[WeeklyLinkPerf]
run_on: weekly
suite: link_perf
branch_specs: >=tot-2
pool: link_perf

[Weeklyperf_v2]
run_on: weekly
suite: perf_v2
branch_specs: >=R40
pool: suites

[WeeklyNetworkNightly]
run_on: weekly
suite: network_nightly
branch_specs: >=tot-2
pool: suites
file_bugs: False

[WeeklyWiFi_Perf]
run_on: weekly
suite: wifi_perf
branch_specs: <=tot-1
pool: wificell

[WeeklyWiFi_Attenuated_Performance]
run_on: weekly
suite: wifi_atten_perf
branch_specs: <=tot-1
pool: groamer

[WeeklyWiMAX]
run_on: weekly
suite: wimax
branch_specs: >=tot-2
pool: wimax

[WeeklySecurity]
run_on: weekly
suite: security_weekly
branch_specs: >=R37
pool: suites

[WeeklyBluetooth_Qualification]
run_on: weekly
suite: bluetooth_qualification
branch_specs: >=tot-2
pool: wificell

[WeeklyBluetooth_Sanity]
run_on: weekly
suite: bluetooth_sanity
branch_specs: >=tot-2
pool: wificell

[WeeklyWiFi_MatFunc]
run_on: weekly
suite: wifi_matfunc
branch_specs: <=tot-1
pool: wificell

[WeeklyWiFi_EndtoEnd]
run_on: weekly
suite: wifi_endtoend
branch_specs: <=tot-1
pool: wificell

[WeeklyStress]
run_on: weekly
suite: stress
branch_specs: >=tot-2
pool: stress
file_bugs: True

[WeeklyStressPool2]
run_on: weekly
suite: stress
branch_specs: >=tot-2
pool: stress2
file_bugs: True

[WeeklyStressPool3]
run_on: weekly
suite: stress
branch_specs: >=tot-2
pool: stress3
file_bugs: True

[WeeklyStressPool4]
run_on: weekly
suite: stress
branch_specs: =tot-2
pool: stress4
file_bugs: True

[WeeklyStressPool5]
run_on: weekly
suite: stress
branch_specs: =tot-2
pool: stress5
file_bugs: True

[WeeklyGizmo]
run_on: weekly
suite: bvt-cq
branch_specs: >=tot-2
pool: gizmo

[TendoExperimental]
run_on: nightly
suite: tendo_experimental
branch_specs: ==tot
pool: suites

# Please do not add tests to this suite without first clearing it with the
# crosbolt team.
[CrosboltPerfPerbuild]
run_on: new_build
suite: crosbolt_perf_perbuild
branch_specs: >=tot-1
pool: performance
file_bugs: True

# Please do not add tests to this suite without first clearing it with the
# crosbolt team.
[CrosboltPerfNightly]
run_on: nightly
suite: crosbolt_perf_nightly
branch_specs: >=tot-1
pool: performance
file_bugs: True

[FaftEcNightly]
run_on: nightly
suite: faft_ec
branch_specs: ==tot
firmware_rw_build_spec: firmware
test_source: cros
pool: faft-test
file_bugs: True
job_retry: True

# TODO(aaboagye): Remove this when satisified with EC-3PO FAFT EC performance.
[EC3POFaftEcNightly]
run_on: nightly
suite: faft_ec3po
branch_specs: ==tot
firmware_rw_build_spec: firmware
test_source: cros
pool: faft-test-experiment
file_bugs: True
job_retry: True

[FaftBiosNightly]
run_on: nightly
suite: faft_bios
branch_specs: ==tot
firmware_rw_build_spec: firmware
test_source: cros
pool: faft-test
file_bugs: True
job_retry: True

[FaftEcTotNightly]
run_on: nightly
suite: faft_ec
branch_specs: ==tot
firmware_rw_build_spec: cros
test_source: cros
pool: faft-test-tot
file_bugs: True
job_retry: True

[FaftBiosTotNightly]
run_on: nightly
suite: faft_bios
branch_specs: ==tot
firmware_rw_build_spec: cros
test_source: cros
pool: faft-test-tot
file_bugs: True
job_retry: True

[CameraPerBuild]
run_on: new_build
suite: camera_perbuild
branch_specs: ==tot
pool: camera
job_retry: True

[VideoImageComparisonChameleon]
run_on: new_build
suite: video_image_comparison_chameleon
branch_specs: >=tot-2
pool: chameleon_video_capture_stable
job_retry: True
