# When changing this file, you can validate your changes by running
# ./site_utils/suite_scheduler/suite_scheduler.py --sanity

#[nightly_params]
#always_handle: True

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

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

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

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

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

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

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

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

[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

# TODO(milleral): num=11 on the network3g suite is because the suite currently
# contains 11 different HostSpecs, and a current limitation of DEPENDENCIES is
# that |# of HostSpecs| must be equal to or less than |sharding factor|. We
# currently default to a sharding factor of 6, so we must bump |num| up to 11
# manually for this suite.
[Network3g]
run_on: nightly
suite: network3g
branch_specs: >=R25
pool: cellular
num: 11

[WifiCellSuite]
run_on: nightly
suite: wificell
pool: wificell
branch_specs: >=R21

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

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

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

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

[pyauto_perf_snow]
run_on: new_build
suite: pyauto_perf
branch_specs: >=R22
pool: snow

[pyauto_endurance]
run_on: nightly
suite: pyauto_endurance
branch_specs: >=R21
pool: lumpy-celeron

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

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

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

[SnowBVT]
run_on: new_build
suite: bvt
branch_specs: >=R22
pool: snow
num: 4

[ButterflyBVT]
run_on: new_build
suite: bvt
branch_specs: >=R22
pool: butterfly
num: 4

# 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

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

#[Network_wifi]
# We need to figure out how we can work out the scheduling of this test.
#run_on: nightly
#suite: network_wifi
#branch_specs: >=R21
#pool: ????
