diff --git a/etc/ci/update-wpt-checkout b/etc/ci/update-wpt-checkout index 5f8ef9d1a15..a796930e007 100755 --- a/etc/ci/update-wpt-checkout +++ b/etc/ci/update-wpt-checkout @@ -67,7 +67,7 @@ function cleanup() { # Build Servo and run the full WPT testsuite, saving the results to a log file. function unsafe_run_tests() { # Run the full testsuite and record the new test results. - ./mach test-wpt --release --processes 6 --log-raw "${1}" \ + ./mach test-wpt --release --processes 12 --log-raw "${1}" \ --always-succeed || return 1 # Run the bluetooth testsuite, which uses the webdriver test harness. diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 54479c20435..b94c939dc32 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -579,28 +579,22 @@ def macos_nightly(): def update_wpt(): - build_task = macos_release_build_with_debug_assertions() - update_task = ( - macos_task("WPT update") - .with_python2() - .with_treeherder("macOS x64", "WPT update") + 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("run")) .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(alternate_object_dir="/var/cache/servo.git/objects") - ) - return ( - with_homebrew(update_task, [ - "etc/taskcluster/macos/Brewfile-wpt-update", - "etc/taskcluster/macos/Brewfile", - ]) + .with_repo() .with_curl_artifact_script(build_task, "target.tar.gz") .with_script(""" - export PKG_CONFIG_PATH="$(brew --prefix libffi)/lib/pkgconfig/" tar -xzf target.tar.gz - ./etc/ci/update-wpt-checkout fetch-and-update-expectations + # 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 """) @@ -627,6 +621,37 @@ def macos_release_build_with_debug_assertions(priority=None): ) +def linux_release_build_with_debug_assertions(layout_2020): + if layout_2020: + name_prefix = "Layout 2020 " + build_args = "--with-layout-2020" + index_key_suffix = "_2020" + else: + name_prefix = "" + build_args = "" + index_key_suffix = "" + return ( + linux_build_task(name_prefix + "Release build, with debug assertions") + .with_treeherder("Linux x64", "Release+A") + .with_script(""" + time ./mach rustc -V + time ./mach fetch + ./mach build --release --with-debug-assertions %s -p servo + ./etc/ci/lockfile_changed.sh + tar -czf /target.tar.gz \ + target/release/servo \ + target/release/build/osmesa-src-*/output \ + target/release/build/osmesa-src-*/out/lib/gallium + 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.task_id(), + )) + ) + + def macos_wpt(): priority = "high" if CONFIG.git_ref == "refs/heads/auto" else None build_task = macos_release_build_with_debug_assertions(priority=priority) @@ -653,34 +678,7 @@ def linux_wpt_layout_2020(): def linux_wpt_common(total_chunks, layout_2020): - if layout_2020: - name_prefix = "Layout 2020 " - build_args = "--with-layout-2020" - index_key_suffix = "_2020" - else: - name_prefix = "" - build_args = "" - index_key_suffix = "" - release_build_task = ( - linux_build_task(name_prefix + "Release build, with debug assertions") - .with_treeherder("Linux x64", "Release+A") - .with_script(""" - time ./mach rustc -V - time ./mach fetch - ./mach build --release --with-debug-assertions %s -p servo - ./etc/ci/lockfile_changed.sh - tar -czf /target.tar.gz \ - target/release/servo \ - target/release/build/osmesa-src-*/output \ - target/release/build/osmesa-src-*/out/lib/gallium - 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.task_id(), - )) - ) + release_build_task = linux_release_build_with_debug_assertions(layout_2020) def linux_run_task(name): return linux_task(name).with_dockerfile(dockerfile_path("run")).with_repo_bundle() wpt_chunks("Linux x64", linux_run_task, release_build_task, repo_dir="/repo",