diff --git a/etc/ci/update-wpt-checkout b/etc/ci/update-wpt-checkout index 5f8ef9d1a157..a796930e007e 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 54479c204358..b94c939dc320 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,32 +621,7 @@ def macos_release_build_with_debug_assertions(priority=None): ) -def macos_wpt(): - priority = "high" if CONFIG.git_ref == "refs/heads/auto" else None - build_task = macos_release_build_with_debug_assertions(priority=priority) - def macos_run_task(name): - task = macos_task(name).with_python2() \ - .with_repo_bundle(alternate_object_dir="/var/cache/servo.git/objects") - return with_homebrew(task, ["etc/taskcluster/macos/Brewfile"]) - wpt_chunks( - "macOS x64", - macos_run_task, - build_task, - repo_dir="repo", - total_chunks=30, - processes=4, - ) - - -def linux_wpt(): - linux_wpt_common(total_chunks=4, layout_2020=False) - - -def linux_wpt_layout_2020(): - linux_wpt_common(total_chunks=1, layout_2020=True) - - -def linux_wpt_common(total_chunks, layout_2020): +def linux_release_build_with_debug_assertions(layout_2020): if layout_2020: name_prefix = "Layout 2020 " build_args = "--with-layout-2020" @@ -661,7 +630,7 @@ def linux_wpt_common(total_chunks, layout_2020): name_prefix = "" build_args = "" index_key_suffix = "" - release_build_task = ( + return ( linux_build_task(name_prefix + "Release build, with debug assertions") .with_treeherder("Linux x64", "Release+A") .with_script(""" @@ -681,6 +650,35 @@ def linux_wpt_common(total_chunks, layout_2020): 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) + def macos_run_task(name): + task = macos_task(name).with_python2() \ + .with_repo_bundle(alternate_object_dir="/var/cache/servo.git/objects") + return with_homebrew(task, ["etc/taskcluster/macos/Brewfile"]) + wpt_chunks( + "macOS x64", + macos_run_task, + build_task, + repo_dir="repo", + total_chunks=30, + processes=4, + ) + + +def linux_wpt(): + linux_wpt_common(total_chunks=4, layout_2020=False) + + +def linux_wpt_layout_2020(): + linux_wpt_common(total_chunks=1, layout_2020=True) + + +def linux_wpt_common(total_chunks, layout_2020): + 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",