aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-11-07 08:41:17 -0500
committerGitHub <noreply@github.com>2019-11-07 08:41:17 -0500
commit77a5a1834b0d7ba0e51b24f0a7c3880479efc20a (patch)
tree9edb8777c5e502e5ff5329e63979484238a1a9f8
parent9a518cf7979b79b34611135d09c1dd0a96945255 (diff)
parent5d62f8084e015a64a0874b55ebe0f3ab60eaec1a (diff)
downloadservo-77a5a1834b0d7ba0e51b24f0a7c3880479efc20a.tar.gz
servo-77a5a1834b0d7ba0e51b24f0a7c3880479efc20a.zip
Auto merge of #24679 - servo:try-windows-ami, r=jdm
Run non-macOS tasks on Community-TC for push events These tasks will run on *both* TC deployments, and with https://github.com/servo/saltfs/pull/983 PRs will not land if *either* deployment has any failure. Note that this does not include WPT, so intermittents should not be an issue.
-rw-r--r--etc/taskcluster/decision_task.py48
-rwxr-xr-xetc/taskcluster/mock.py4
2 files changed, 40 insertions, 12 deletions
diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py
index 148ee81cc0c..953a527058f 100644
--- a/etc/taskcluster/decision_task.py
+++ b/etc/taskcluster/decision_task.py
@@ -24,10 +24,6 @@ def main(task_for):
magicleap_nightly = lambda: None
if task_for == "github-push":
- if not CONFIG.legacy_tc_deployment: # pragma: no cover
- # Do nothing (other than the decision task itsef) on community-tc by default for now
- return
-
# FIXME https://github.com/servo/servo/issues/22187
# In-emulator testing is disabled for now. (Instead we only compile.)
# This local variable shadows the module-level function of the same name.
@@ -75,6 +71,25 @@ def main(task_for):
android_x86_wpt
],
}
+ if not CONFIG.legacy_tc_deployment: # pragma: no cover
+ by_branch_name = {
+ "auto": [
+ # Everything not running on macOS,
+ # which only has one worker on Community-TC for now
+ linux_tidy_unit_docs,
+ windows_unit,
+ windows_arm64,
+ windows_uwp_x64,
+ android_arm32_dev,
+ android_arm32_release,
+ android_x86_wpt,
+ linux_wpt,
+ linux_release,
+ ],
+ "master": [
+ upload_docs,
+ ],
+ }
for function in by_branch_name.get(branch, []):
function()
@@ -90,6 +105,10 @@ def main(task_for):
linux_tidy_unit_untrusted()
+ elif task_for == "try-windows-ami":
+ CONFIG.git_sha_is_current_head()
+ windows_unit(os.environ["NEW_AMI_WORKER_TYPE"], cached=False)
+
# https://tools.taskcluster.net/hooks/project-servo/daily
elif task_for == "daily":
daily_tasks_setup()
@@ -447,9 +466,9 @@ def uwp_nightly():
)
-def windows_unit():
- return (
- windows_build_task("Dev build + unit tests")
+def windows_unit(worker_type=None, cached=True):
+ task = (
+ windows_build_task("Dev build + unit tests", worker_type=worker_type)
.with_treeherder("Windows x64", "Unit")
.with_script(
# Not necessary as this would be done at the start of `build`,
@@ -464,8 +483,11 @@ def windows_unit():
)
.with_artifacts("repo/target/debug/msi/Servo.exe",
"repo/target/debug/msi/Servo.zip")
- .find_or_create("build.windows_x64_dev." + CONFIG.task_id())
)
+ if cached:
+ return task.find_or_create("build.windows_x64_dev." + CONFIG.task_id())
+ else:
+ return task.create()
def windows_release():
@@ -744,10 +766,12 @@ def linux_task(name):
)
-def windows_task(name):
+def windows_task(name, worker_type=None):
+ if worker_type is None:
+ worker_type = "servo-win2016" if CONFIG.legacy_tc_deployment else "win2016"
return (
decisionlib.WindowsGenericWorkerTask(name)
- .with_worker_type("servo-win2016" if CONFIG.legacy_tc_deployment else "win2016")
+ .with_worker_type(worker_type)
.with_treeherder_required()
)
@@ -799,7 +823,7 @@ def android_build_task(name):
)
-def windows_build_task(name, package=True, arch="x86_64"):
+def windows_build_task(name, package=True, arch="x86_64", worker_type=None):
hashes = {
"devel": {
"x86_64": "c136cbfb0330041d52fe6ec4e3e468563176333c857f6ed71191ebc37fc9d605",
@@ -813,7 +837,7 @@ def windows_build_task(name, package=True, arch="x86_64"):
}
version = "1.16.0"
task = (
- windows_task(name)
+ windows_task(name, worker_type=worker_type)
.with_max_run_time_minutes(90)
.with_env(
**build_env,
diff --git a/etc/taskcluster/mock.py b/etc/taskcluster/mock.py
index c0b45e6a1f4..1f66eb0c492 100755
--- a/etc/taskcluster/mock.py
+++ b/etc/taskcluster/mock.py
@@ -46,6 +46,7 @@ os.environ.update(**{k: k for k in "TASK_ID TASK_OWNER TASK_SOURCE GIT_URL GIT_S
os.environ["GIT_REF"] = "refs/heads/auto"
os.environ["TASKCLUSTER_ROOT_URL"] = "https://taskcluster.net"
os.environ["TASKCLUSTER_PROXY_URL"] = "http://taskcluster"
+os.environ["NEW_AMI_WORKER_TYPE"] = "-"
import decision_task
print("\n# Push:")
@@ -64,6 +65,9 @@ decision_task.main("github-push")
print("\n# Daily:")
decision_task.main("daily")
+print("\n# Try AMI:")
+decision_task.main("try-windows-ami")
+
print("\n# PR:")
decision_task.main("github-pull-request")