Bug 1418593: Enable xpcshell tests in taskcluster.
MozReview-Commit-ID: Ay1ryrSyjvA
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/build-signing/kind.yml
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+loader: taskgraph.loader.transform:loader
+
+transforms: []
+
+# This is a placeholder for test kind loading logic.
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/kind.yml
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+loader: taskgraph.loader.test:loader
+
+kind-dependencies:
+ - build
+ - build-signing
+
+transforms:
+ - taskgraph.transforms.tests:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - tests.yml
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -0,0 +1,26 @@
+# 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.*/)
+
+linux64/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - common-tests
+
+linux64/debug:
+ build-platform: linux64/debug
+ test-sets:
+ - common-tests
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/test-sets.yml
@@ -0,0 +1,19 @@
+# Each key in this file specifies a set of tests to run. Different test sets
+# may, for example, be bound to different test platforms.
+#
+# 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.
+#
+# A test set has a name, and a list of tests that it contains.
+#
+# Test names given here reference tests.yml.
+
+##
+# Universal tests
+#
+# Tests that run just about everywhere; common-tests is the shared core, with
+# a few add-on test sets that are included or omitted on some platforms.
+
+common-tests:
+ - xpcshell
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/tests.yml
@@ -0,0 +1,44 @@
+# Each stanza here describes a particular test suite or sub-suite. These are
+# processed through the transformations described in kind.yml to produce a
+# bunch of tasks. See the schema in `taskcluster/taskgraph/transforms/tests.py`
+# for a description of the fields used here.
+
+# Note that these are in lexical order, as enforced by the task loader.
+
+# Adding a new test type or running tests on a new platform? Be sure to review
+# https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy
+
+xpcshell:
+ description: "xpcshell test run"
+ suite: xpcshell
+ treeherder-symbol: tc-X(X)
+ run-on-projects: built-projects
+ docker-image:
+ in-tree: "desktop1604-test"
+ chunks:
+ by-test-platform:
+ linux32/debug: 8
+ linux64/debug: 8
+ default: 4
+ instance-size: default
+ max-run-time: 5400
+ e10s: false
+ allow-software-gl-layers: false
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ windows.*:
+ - unittests/win_taskcluster_unittest.py
+ - unittests/thunderbird_extra.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ - unittests/thunderbird_extra.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ - unittests/thunderbird_extra.py
+ extra-options:
+ - "--xpcshell-suite=xpcshell"
+ requires-signed-builds: false