taskgraph-tests:
    description: taskcluster/taskgraph unit tests
    platform: linux64/opt
    treeherder:
        symbol: py(tg)
        kind: test
        tier: 2
    worker-type: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        docker-image: {in-tree: "lint"}
        max-run-time: 1800
    run:
        using: mach
        mach: python-test --subsuite taskgraph
    when:
        files-changed:
            - 'taskcluster/**/*.py'
            - 'config/mozunit.py'
            - 'python/mach/**/*.py'

marionette-harness:
    description: testing/marionette/harness unit tests
    platform: linux64/opt
    treeherder:
        symbol: py(mnh)
        kind: test
        tier: 2
    worker-type:
        by-platform:
            linux64.*: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        by-platform:
            linux64.*:
                docker-image: {in-tree: "lint"}
                max-run-time: 3600
    run:
        using: mach
        mach: python-test --subsuite marionette-harness
    when:
        files-changed:
          - 'testing/marionette/harness/**'
          - 'testing/mozbase/mozlog/mozlog/**'
          - 'testing/mozbase/mozlog/setup.py'
          - 'testing/mozbase/packages.txt'
          - 'python/mach_commands.py'

mochitest-harness:
    description: testing/mochitest unittests
    platform:
        - linux64/opt
        - linux64/debug
        - linux64-asan/opt
    require-build: true
    treeherder:
        symbol: py(mch)
        kind: test
        tier: 2
    worker-type:
        by-platform:
            linux64.*: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        by-platform:
            linux64.*:
                docker-image: {in-tree: "desktop1604-test"}
                max-run-time: 3600
    run:
        using: run-task
        command: >
            source /builds/worker/scripts/xvfb.sh &&
            start_xvfb '1600x1200x24' 0 &&
            cd /builds/worker/checkouts/gecko &&
            ./mach python-test --subsuite mochitest
    when:
        files-changed:
            - 'config/mozunit.py'
            - 'python/mach_commands.py'
            - 'testing/mochitest/**'
            - 'testing/mozbase/moztest/moztest/selftest/**'
            - 'testing/mozharness/mozharness/base/log.py'
            - 'testing/mozharness/mozharness/mozilla/structuredlog.py'
            - 'testing/mozharness/mozharness/mozilla/testing/errors.py'
            - 'testing/profiles/prefs_general.js'

mozbase:
    description: testing/mozbase unit tests
    platform:
        - linux64/opt
    treeherder:
        symbol: py(mb)
        kind: test
        tier: 2
    worker-type:
        by-platform:
            linux64.*: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        by-platform:
            linux64.*:
                docker-image: {in-tree: "lint"}
                max-run-time: 3600
    run:
        using: mach
        mach: python-test --subsuite mozbase
    when:
        files-changed:
            - 'testing/mozbase/**'
            - 'config/mozunit.py'
            - 'python/mach_commands.py'

mozharness:
    description: mozharness integration tests
    platform: linux64/opt
    treeherder:
        symbol: py(mh)
        kind: test
        tier: 2
    worker-type: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        docker-image: {in-tree: "lint"}
        max-run-time: 1800
    run:
        using: run-task
        cache-dotcache: true
        command: >
            cd /builds/worker/checkouts/gecko/testing/mozharness &&
            /usr/local/bin/tox -e py27-hg4.3
    when:
        files-changed:
            - 'testing/mozharness/**'

mozlint:
    description: python/mozlint unit tests
    platform: linux64/opt
    treeherder:
        symbol: py(ml)
        kind: test
        tier: 2
    worker-type:
        by-platform:
            linux64.*: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        by-platform:
            linux64.*:
                docker-image: {in-tree: "lint"}
                max-run-time: 3600
    run:
        using: mach
        mach: python-test --subsuite mozlint
    when:
        files-changed:
            - 'python/mozlint/**'
            - 'python/mach_commands.py'

reftest-harness:
    description: layout/tools/reftest unittests
    platform:
        - linux64/opt
    require-build: true
    treeherder:
        symbol: py(ref)
        kind: test
        tier: 2
    worker-type:
        by-platform:
            linux64.*: aws-provisioner-v1/gecko-t-linux-xlarge
    worker:
        by-platform:
            linux64.*:
                docker-image: {in-tree: "desktop1604-test"}
                max-run-time: 3600
    run:
        using: run-task
        command: >
            source /builds/worker/scripts/xvfb.sh &&
            start_xvfb '1600x1200x24' 0 &&
            cd /builds/worker/checkouts/gecko &&
            ./mach python-test --subsuite reftest
    when:
        files-changed:
            - 'config/mozunit.py'
            - 'layout/tools/reftest/**'
            - 'python/mach_commands.py'
            - 'testing/mozbase/moztest/moztest/selftest/**'
            - 'testing/mozharness/mozharness/base/log.py'
            - 'testing/mozharness/mozharness/mozilla/structuredlog.py'
            - 'testing/mozharness/mozharness/mozilla/testing/errors.py'
