# This file maps build platforms to test platforms.  In some cases, a
# single build may be tested on multiple test platforms, but a single test
# platform can only link to one build platform.  Both build and test platforms
# are represented as <platform>/<type>, where <type> is what Treeherder calls a
# collection.
#
# Each test platform further specifies the set of tests that will be scheduled
# for the platform, referring to tests defined in test-sets.yml.
#
# Note that set does not depend on the tree; tree-dependent job selection
# should be performed in the target task selection phase of task-graph
# generation.


##
# Linux platforms (matching /linux.*/)

linux32/debug:
    build-platform: linux/debug
    test-sets:
        - linux32-tests
linux32/opt:
    build-platform: linux/opt
    test-sets:
        -  linux32-tests
        -  linux32-opt-tests
        -  awsy
linux32-nightly/opt:
    build-platform: linux-nightly/opt
    test-sets:
        -  linux32-tests
        -  linux32-opt-tests
        -  awsy
linux32-devedition/opt:
    build-platform: linux-devedition-nightly/opt
    test-sets:
        -  linux32-tests
        -  linux32-opt-tests

linux64/debug:
    build-platform: linux64/debug
    test-sets:
        - common-tests
        - web-platform-tests
linux64/opt:
    build-platform: linux64/opt
    test-sets:
        - common-tests
        - web-platform-tests
        - opt-only-tests
        - desktop-screenshot-capture
        - talos
        - awsy
linux64-nightly/opt:
    build-platform: linux64-nightly/opt
    test-sets:
        - common-tests
        - web-platform-tests
        - opt-only-tests
        - desktop-screenshot-capture
        - talos
        - awsy

# TODO: use 'pgo' and 'asan' labels here, instead of -pgo/opt
linux64-pgo/opt:
    build-platform: linux64-pgo/opt
    test-sets:
        - common-tests
        - web-platform-tests
        - talos

linux64-devedition/opt:
    build-platform: linux64-devedition-nightly/opt
    test-sets:
        - common-tests
        - web-platform-tests
        - opt-only-tests
        - desktop-screenshot-capture
        - awsy

linux64-asan/opt:
    build-platform: linux64-asan/opt
    test-sets:
        - common-tests

# Stylo builds only run a subset of tests for the moment. So give them
# their own test set.
linux64-stylo/debug:
    build-platform: linux64-stylo/debug
    test-sets:
        - stylo-tests
linux64-stylo/opt:
    build-platform: linux64-stylo/opt
    test-sets:
        - stylo-tests

# QR builds just run a subset right now. Note that the tests in this
# test set are further restricted in tests.yml to run on certain projects
# only, to avoid adding too much infra load.
linux64-qr/opt:
    build-platform: linux64-qr/opt
    test-sets:
        - qr-tests
linux64-qr/debug:
    build-platform: linux64-qr/debug
    test-sets:
        - qr-tests

linux64-ccov/opt:
    build-platform: linux64-ccov/opt
    test-sets:
        - ccov-code-coverage-tests
linux64-jsdcov/opt:
    build-platform: linux64-jsdcov/opt
    test-sets:
        - jsdcov-code-coverage-tests

##
# Windows platforms (matching /windows.*/)

# win32 vm
windows7-32-vm/debug:
    build-platform: win32/debug
    test-sets:
        - windows-vm-tests
        - external-media-tests
windows7-32-vm/opt:
    build-platform: win32/opt
    test-sets:
        - windows-vm-tests
        - external-media-tests
        - external-media-tests-slow
        - awsy

# win32 gpu
#windows7-32/debug:
#    build-platform: win32/debug
#    test-sets:
#        - windows-gpu-tests
#windows7-32/opt:
#    build-platform: win32/opt
#    test-sets:
#        - windows-gpu-tests

# win64 vm
windows10-64-vm/debug:
    build-platform: win64/debug
    test-sets:
        - windows-vm-tests
        - external-media-tests
windows10-64-vm/opt:
    build-platform: win64/opt
    test-sets:
        - windows-vm-tests
        - external-media-tests
        - external-media-tests-slow
        - awsy

# win64 gpu
#windows10-64/debug:
#    build-platform: win64/debug
#    test-sets:
#        - windows-gpu-tests
#windows10-64/opt:
#    build-platform: win64/opt
#    test-sets:
#        - windows-gpu-tests

##
# MacOS X platforms (matching /macosx.*/)

macosx64/debug:
    build-platform: macosx64/debug
    test-sets:
        - macosx64-tests-debug

# macosx64/opt:
#     build-platform: macosx64/opt
#     test-sets:
#         - macosx64-tests-talos
#         - macosx64-tests-debug

##
# Android platforms (matching /android.*/)

android-4.3-arm7-api-15/debug:
    build-platform: android-api-15/debug
    test-sets:
        - android-common-tests
        - android-debug-tests

android-4.3-arm7-api-15/opt:
    build-platform: android-api-15/opt
    test-sets:
        - android-common-tests
        - android-opt-tests

android-4.2-x86/opt:
    build-platform: android-x86/opt
    test-sets:
        - android-x86-tests

android-4.3-arm7-api-15-gradle/opt:
    build-platform: android-api-15-gradle/opt
    test-sets:
        - android-gradle-tests
