summaryrefslogtreecommitdiffstats
path: root/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py')
-rw-r--r--taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py b/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py
new file mode 100644
index 0000000000..d6a640c6d5
--- /dev/null
+++ b/taskcluster/gecko_taskgraph/transforms/test/confirm_failure.py
@@ -0,0 +1,46 @@
+# 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/.
+
+from taskgraph.transforms.base import TransformSequence
+from taskgraph.util.treeherder import join_symbol, split_symbol
+
+from gecko_taskgraph.util.copy_task import copy_task
+
+transforms = TransformSequence()
+
+
+@transforms.add
+def test_confirm_failure_tasks(config, tasks):
+ """Copy test-* tasks to have -cf copy."""
+
+ for task in tasks:
+ if config.params["try_task_config"].get("new-test-config", False):
+ yield task
+ continue
+
+ if "backlog" in task["suite"] or "failure" in task["suite"]:
+ yield task
+ continue
+
+ # support mochitest, xpcshell, reftest, wpt*
+ if any(
+ task["suite"].startswith(s)
+ for s in ("mochitest", "reftest", "xpcshell", "web-platform")
+ ):
+ env = config.params.get("try_task_config", {}) or {}
+ env = env.get("templates", {}).get("env", {})
+
+ cftask = copy_task(task)
+
+ # when scheduled other settings will be made
+ cftask["tier"] = 2
+ cftask["confirm-failure"] = True
+ group, symbol = split_symbol(cftask["treeherder-symbol"])
+ group += "-cf"
+ cftask["treeherder-symbol"] = join_symbol(group, symbol)
+ cftask["run-on-projects"] = []
+ cftask["optimization"] = {"always": None}
+ yield cftask
+
+ yield task