aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2021-05-29 16:04:37 -0400
committerJosh Matthews <josh@joshmatthews.net>2021-05-29 16:05:02 -0400
commit629953c622e64cead1c8868326a17f594b1a6f39 (patch)
treeac053ee510a00cf80b99cd9946e3ee38d7c87ab9
parentfe25aef578e7674c6b8ec289f5ceaa7bcc191f79 (diff)
downloadservo-629953c622e64cead1c8868326a17f594b1a6f39.tar.gz
servo-629953c622e64cead1c8868326a17f594b1a6f39.zip
Disable remaining taskcluster jobs.
-rw-r--r--etc/taskcluster/decision_task.py328
1 files changed, 4 insertions, 324 deletions
diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py
index e704a8f8b72..89039137cb7 100644
--- a/etc/taskcluster/decision_task.py
+++ b/etc/taskcluster/decision_task.py
@@ -30,39 +30,27 @@ def tasks(task_for):
CONFIG.routes_for_all_subtasks.append("statuses")
if task_for == "github-push":
- all_tests = [
- linux_tidy_unit,
- linux_docs_check,
- windows_unit,
- ]
+ all_tests = []
by_branch_name = {
"auto": all_tests,
"try": all_tests,
"try-taskcluster": [
# Add functions here as needed, in your push to that branch
],
- "master": [
- layout_2020_regressions_report,
- ],
+ "master": [],
# The "try-*" keys match those in `servo_try_choosers` in Homu’s config:
# https://github.com/servo/saltfs/blob/master/homu/map.jinja
"try-mac": [],
- "try-linux": [linux_tidy_unit, linux_docs_check],
- "try-windows": [windows_unit],
+ "try-linux": [],
+ "try-windows": [],
"try-arm": [],
"try-wpt": [],
"try-wpt-2020": [],
"try-wpt-mac": [],
"test-wpt": [],
}
- by_branch_name["try-windows-rdp"] = [
- functools.partial(f, rdp=True) for f in by_branch_name["try-windows"]
- ]
-
- for function in by_branch_name.get(branch, []):
- function()
elif task_for == "github-pull-request":
CONFIG.treeherder_repository_name = "servo-prs"
@@ -74,17 +62,13 @@ def tasks(task_for):
# https://github.com/servo/servo/pull/22597#issuecomment-451518810
CONFIG.git_sha_is_current_head()
- linux_tidy_unit_untrusted()
-
elif task_for == "try-windows-ami":
CONFIG.git_sha_is_current_head()
CONFIG.windows_worker_type = os.environ["NEW_AMI_WORKER_TYPE"]
- windows_unit(cached=False, rdp=True)
# https://tools.taskcluster.net/hooks/project-servo/daily
elif task_for == "daily":
daily_tasks_setup()
- update_wpt()
ping_on_daily_task_failure = "SimonSapin, nox, emilio"
@@ -92,218 +76,6 @@ build_artifacts_expire_in = "1 week"
build_dependencies_artifacts_expire_in = "1 month"
log_artifacts_expire_in = "1 year"
-build_env = {
- "RUSTFLAGS": "-Dwarnings",
- "CARGO_INCREMENTAL": "0",
-}
-unix_build_env = {
-}
-linux_build_env = {
- "RUST_BACKTRACE": "1", # https://github.com/servo/servo/issues/26192
- "SHELL": "/bin/dash", # For SpiderMonkey’s build system
- "CCACHE": "sccache",
- "RUSTC_WRAPPER": "sccache",
- "CC": "clang",
- "CXX": "clang++",
- "SCCACHE_IDLE_TIMEOUT": "1200",
- # https://github.com/servo/servo/issues/24714#issuecomment-552951519
- "SCCACHE_MAX_FRAME_LENGTH": str(100 * 1024 * 1024), # 100 MiB
-}
-windows_build_env = {
- "x86_64": {
- "GSTREAMER_1_0_ROOT_X86_64": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86_64\\",
- },
- "arm64": {
- "PKG_CONFIG_ALLOW_CROSS": "1",
- },
- "all": {
- "PYTHON3": "%HOMEDRIVE%%HOMEPATH%\\python3\\python.exe",
- "LINKER": "lld-link.exe",
- "MOZTOOLS_PATH_PREPEND": "%HOMEDRIVE%%HOMEPATH%\\git\\cmd",
- "CC": "clang-cl.exe",
- "CXX": "clang-cl.exe",
- },
-}
-
-windows_sparse_checkout = [
- "/*",
- "!/tests/wpt/metadata",
- "!/tests/wpt/mozilla",
- "!/tests/wpt/webgl",
- "!/tests/wpt/web-platform-tests",
- "/tests/wpt/web-platform-tests/tools",
-]
-
-
-def linux_tidy_unit_untrusted():
- return (
- decisionlib.DockerWorkerTask("Tidy + dev build + unit tests")
- .with_worker_type("docker-untrusted")
- .with_treeherder("Linux x64", "Tidy+Unit")
- .with_max_run_time_minutes(60)
- .with_dockerfile(dockerfile_path("build"))
- .with_env(**build_env, **unix_build_env, **linux_build_env)
- .with_repo_bundle()
- .with_script("""
- python3 ./mach test-tidy --no-progress --all
- python3 ./mach test-tidy --no-progress --self-test
- python3 ./mach bootstrap-gstreamer
- python3 ./mach build --dev
- python3 ./mach test-unit
-
- ./etc/ci/lockfile_changed.sh
- ./etc/memory_reports_over_time.py --test
- ./etc/ci/check_no_panic.sh
- """)
- .create()
- )
-
-
-def linux_tidy_unit():
- return (
- linux_build_task("Tidy + dev build + unit tests")
- .with_treeherder("Linux x64", "Tidy+Unit")
- .with_max_run_time_minutes(75)
- .with_script("""
- python3 ./mach test-tidy --no-progress --all
- python3 ./mach build --dev
- python3 ./mach test-unit
- python3 ./mach package --dev
- python3 ./mach build --dev --features refcell_backtrace
- python3 ./mach build --dev --features layout-2020
- python3 ./mach build --dev --libsimpleservo
- python3 ./mach build --dev -p servo-gst-plugin
- python3 ./mach build --dev --media-stack=dummy
- python3 ./mach test-tidy --no-progress --self-test
-
- ./etc/memory_reports_over_time.py --test
- ./etc/taskcluster/mock.py
- ./etc/ci/lockfile_changed.sh
- ./etc/ci/check_no_panic.sh
- """)
- .find_or_create("linux_unit." + CONFIG.tree_hash())
- )
-
-
-def linux_docs_check():
- return (
- linux_build_task("Check")
- .with_treeherder("Linux x64", "Check")
- .with_script('RUSTDOCFLAGS="--disable-minification" python3 ./mach doc')
- # Because `rustdoc` needs metadata of dependency crates,
- # `cargo doc` does almost all of the work that `cargo check` does.
- # Therefore, when running them in this order the second command does very little
- # and should finish quickly.
- # The reverse order would not increase the total amount of work to do,
- # but would reduce the amount of parallelism available.
- .with_script("python3 ./mach check")
- .find_or_create("check." + CONFIG.tree_hash())
- )
-
-
-def layout_2020_regressions_report():
- return (
- linux_task("Layout 2020 regressions report")
- .with_treeherder("Linux x64", "RegressionsReport")
- .with_dockerfile(dockerfile_path("base"))
- .with_repo_bundle()
- .with_script(
- "python3 tests/wpt/reftests-report/gen.py %s %s"
- % (CONFIG.tree_hash(), CONFIG.git_sha)
- )
- .with_index_and_artifacts_expire_in(log_artifacts_expire_in)
- .with_artifacts("/repo/tests/wpt/reftests-report/report.html")
- .with_index_at("layout-2020-regressions-report")
- .create()
- )
-
-
-def windows_unit(cached=True, rdp=False):
- task = (
- windows_build_task("Dev build + unit tests", rdp=rdp)
- .with_treeherder("Windows x64", "Unit")
- .with_script(
- # Not necessary as this would be done at the start of `build`,
- # but this allows timing it separately.
- "python mach fetch",
-
- "python mach build --dev",
-
- "python mach test-unit",
- # Running the TC task with administrator privileges breaks the
- # smoketest for unknown reasons.
- #"python mach smoketest --angle",
-
- "python mach package --dev",
- "python mach build --dev --libsimpleservo",
- # The GStreamer plugin currently doesn't support Windows
- # https://github.com/servo/servo/issues/25353
- # "mach build --dev -p servo-gst-plugin",
-
- )
- .with_artifacts("repo/target/debug/msi/Servo.exe",
- "repo/target/debug/msi/Servo.zip")
- )
- if cached:
- return task.find_or_create("build.windows_x64_dev." + CONFIG.tree_hash())
- else:
- return task.create()
-
-
-def update_wpt():
- build_task = linux_release_build_with_debug_assertions(layout_2020=False)
- return (
- linux_task("WPT update")
- .with_treeherder("Linux x64", "WPT-update")
- .with_dockerfile(dockerfile_path("wpt-update"))
- .with_features("taskclusterProxy")
- .with_scopes("secrets:get:project/servo/wpt-sync")
- .with_index_and_artifacts_expire_in(log_artifacts_expire_in)
- .with_max_run_time_minutes(8 * 60)
- # Not using the bundle, pushing the new changes to the git remote requires a full repo.
- .with_repo()
- .with_curl_artifact_script(build_task, "target.tar.gz")
- .with_script("""
- tar -xzf target.tar.gz
- # Use `cat` to force wptrunner’s non-interactive mode
- ./etc/ci/update-wpt-checkout fetch-and-update-expectations | cat
- ./etc/ci/update-wpt-checkout open-pr
- ./etc/ci/update-wpt-checkout cleanup
- """)
- .create()
- )
-
-
-def linux_release_build_with_debug_assertions(layout_2020):
- if layout_2020:
- name_prefix = "Layout 2020 " # pragma: no cover
- build_args = "--with-layout-2020" # pragma: no cover
- index_key_suffix = "_2020" # pragma: no cover
- treeherder_prefix = "2020-" # pragma: no cover
- else:
- name_prefix = ""
- build_args = ""
- index_key_suffix = ""
- treeherder_prefix = ""
- return (
- linux_build_task(name_prefix + "Release build, with debug assertions")
- .with_treeherder("Linux x64", treeherder_prefix + "Release+A")
- .with_script("""
- time python3 ./mach rustc -V
- time python3 ./mach fetch
- python3 ./mach build --release --with-debug-assertions %s -p servo
- ./etc/ci/lockfile_changed.sh
- tar -czf /target.tar.gz \
- target/release/servo \
- resources
- sccache --show-stats
- """ % build_args)
- .with_artifacts("/target.tar.gz")
- .find_or_create("build.linux_x64%s_release_w_assertions.%s" % (
- index_key_suffix,
- CONFIG.tree_hash(),
- ))
- )
def daily_tasks_setup():
# Unlike when reacting to a GitHub push event,
@@ -318,98 +90,6 @@ def daily_tasks_setup():
CONFIG.task_name_template = "Servo daily: %s. On failure, ping: " + ping_on_daily_task_failure
-def dockerfile_path(name):
- return os.path.join(os.path.dirname(__file__), "docker", name + ".dockerfile")
-
-
-def linux_task(name):
- return (
- decisionlib.DockerWorkerTask(name)
- .with_worker_type("docker")
- .with_treeherder_required()
- )
-
-
-def windows_task(name):
- return (
- decisionlib.WindowsGenericWorkerTask(name)
- .with_worker_type(CONFIG.windows_worker_type)
- .with_treeherder_required()
- )
-
-
-def linux_build_task(name, *, build_env=build_env):
- task = (
- linux_task(name)
- # https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/caches
- .with_scopes("docker-worker:cache:servo-*")
- .with_caches(**{
- "servo-cargo-registry": "/root/.cargo/registry",
- "servo-cargo-git": "/root/.cargo/git",
- "servo-rustup": "/root/.rustup",
- "servo-sccache": "/root/.cache/sccache",
- "servo-gradle": "/root/.gradle",
- })
- .with_index_and_artifacts_expire_in(build_artifacts_expire_in)
- .with_max_run_time_minutes(60)
- .with_dockerfile(dockerfile_path("build"))
- .with_env(**build_env, **unix_build_env, **linux_build_env)
- .with_repo_bundle()
- .with_script("python3 ./mach bootstrap-gstreamer")
- )
- return task
-
-
-def windows_build_task(name, package=True, arch="x86_64", rdp=False):
- hashes = {
- "devel": {
- "x86_64": "bd444f3ff9d828f93ba5db0ef511d648d238fff50c4435ccefc7b3e9b2bea3b9",
- },
- "non-devel": {
- "x86_64": "f33fff17a558a433b9c4cf7bd9a338a3d0867fa2d5ee1ee33d249b6a55e8a297",
- },
- }
- prefix = {
- "x86_64": "msvc",
- }
- version = "1.16.2"
- task = (
- windows_task(name)
- .with_max_run_time_minutes(90)
- .with_env(
- **build_env,
- **windows_build_env[arch],
- **windows_build_env["all"]
- )
- .with_repo_bundle(sparse_checkout=windows_sparse_checkout)
- .with_python3()
- .with_rustup()
- )
- if arch in hashes["non-devel"] and arch in hashes["devel"]:
- task.with_repacked_msi(
- url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
- "%s/gstreamer-1.0-%s-%s-%s.msi" % (version, prefix[arch], arch, version)),
- sha256=hashes["non-devel"][arch],
- path="gst",
- )
- task.with_repacked_msi(
- url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
- "%s/gstreamer-1.0-devel-%s-%s-%s.msi" % (version, prefix[arch], arch, version)),
- sha256=hashes["devel"][arch],
- path="gst",
- )
- if package:
- task.with_directory_mount(
- "https://github.com/wixtoolset/wix3/releases/download/wix3111rtm/wix311-binaries.zip",
- sha256="37f0a533b0978a454efb5dc3bd3598becf9660aaf4287e55bf68ca6b527d051d",
- path="wix",
- )
- task.with_path_from_homedir("wix")
- if rdp:
- task.with_rdp_info(artifact_name="project/servo/rdp-info")
- return task
-
-
CONFIG.task_name_template = "Servo: %s"
CONFIG.docker_images_expire_in = build_dependencies_artifacts_expire_in
CONFIG.repacked_msi_files_expire_in = build_dependencies_artifacts_expire_in