# 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
day: 5
suite: graphics
branch_specs: >=R37
pool: suites

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

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

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

[ChameleonAudio]
run_on: nightly
hour: 20
suite: chameleon_audio
branch_specs: >=tot-1
pool: chameleon_audio
job_retry: True

[ChameleonAudioNightly]
run_on: nightly
hour: 20
suite: chameleon_audio_nightly
branch_specs: >=tot-1
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
hour: 20
suite: chameleon_dp
branch_specs: ==tot
pool: chameleon
job_retry: True

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

[ChameleonDpStress]
run_on: weekly
day: 5
suite: chameleon_dp_stress
branch_specs: >=tot-1
pool: chameleon

[ChameleonHdmi]
run_on: nightly
hour: 22
suite: chameleon_hdmi
branch_specs: >=tot-1
pool: chameleon_hdmi
job_retry: True

[ChameleonHdmiNightly]
run_on: nightly
hour: 22
suite: chameleon_hdmi_nightly
branch_specs: >=tot-1
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
day: 5
suite: chameleon_hdmi_stress
branch_specs: >=tot-1
pool: chameleon

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[PowerDaily]
run_on: nightly
hour: 4
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
hour: 4
suite: perfalerts
branch_specs: ==tot
pool: suites
num: 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[WiFi_Interop_WP2]
run_on: nightly
day: 4
suite: wifi_interop
branch_specs: ==tot
pool:wifichaos_WP2

[WiFi_Interop_StP2]
run_on: nightly
day: 5
suite: wifi_interop
branch_specs: ==tot
pool:wifichaos_StP2

[WiFi_Interop_8797]
run_on: nightly
day: 6
suite: wifi_interop
branch_specs: ==tot
pool:wifichaos_8797

[WiFi_Interop_8897]
run_on: nightly
day: 0
suite: wifi_interop
branch_specs: ==tot
pool:wifichaos_8897

[WiFi_Interop_4354]
run_on: nightly
day: 1
suite: wifi_interop
branch_specs: ==tot
pool:wifichaos_4354

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[NightlyStormBvtPerBuild]
run_on: nightly
hour: 14
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
day: 6
suite: kernel_weekly_regression
branch_specs: >=tot-2
pool: suites
num: 2

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

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

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

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

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

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

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

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

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

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

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

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

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

[WeeklyPowerDaily]
run_on: weekly
day: 1
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
day: 1
suite: perfalerts
branch_specs: >=tot-2
pool: suites
num: 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[TendoExperimental]
run_on: nightly
hour: 14
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
hour: 16
suite: crosbolt_perf_nightly
branch_specs: >=tot-1
pool: performance
file_bugs: True

[FaftEcNightly]
run_on: nightly
hour: 16
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
hour: 16
suite: faft_ec3po
branch_specs: ==tot
firmware_rw_build_spec: firmware
test_source: cros
pool: faft-test-experiment
file_bugs: True
job_retry: True

# TODO(aaboagye): Remove this when satisfied with EC-3PO FAFT BIOS performance.
[EC3POFaftBiosNightly]
run_on: nightly
suite: faft_bios_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
hour: 16
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
hour: 16
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
hour: 16
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_hdmi_stable
job_retry: True
