Move WPT sync-from-upstream task to Linux

This commit is contained in:
Simon Sapin 2019-12-04 10:23:10 +01:00
parent 5cc68f5075
commit 7435f6afa2
2 changed files with 41 additions and 43 deletions

View file

@ -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.

View file

@ -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 wptrunners 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",