diff options
author | Josh Matthews <josh@joshmatthews.net> | 2021-05-29 16:04:37 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2021-05-29 16:05:02 -0400 |
commit | 629953c622e64cead1c8868326a17f594b1a6f39 (patch) | |
tree | ac053ee510a00cf80b99cd9946e3ee38d7c87ab9 | |
parent | fe25aef578e7674c6b8ec289f5ceaa7bcc191f79 (diff) | |
download | servo-629953c622e64cead1c8868326a17f594b1a6f39.tar.gz servo-629953c622e64cead1c8868326a17f594b1a6f39.zip |
Disable remaining taskcluster jobs.
-rw-r--r-- | etc/taskcluster/decision_task.py | 328 |
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 |