Taskcluster: align Linux WPT task with what’s now on Buildbot

This commit is contained in:
Simon Sapin 2018-12-12 16:20:06 +01:00
parent a86c23cdca
commit e680c5be80
2 changed files with 37 additions and 29 deletions

View file

@ -13,7 +13,8 @@ def main(task_for):
# FIXME https://github.com/servo/servo/issues/22325 implement these: # FIXME https://github.com/servo/servo/issues/22325 implement these:
macos_wpt = magicleap_dev = linux_arm32_dev = linux_arm64_dev = \ macos_wpt = magicleap_dev = linux_arm32_dev = linux_arm64_dev = \
android_arm32_dev_from_macos = lambda: None android_arm32_dev_from_macos = lambda: None
# FIXME still buggy:
# Implemented but disabled for now:
linux_wpt = lambda: None # Shadows the existing top-level function linux_wpt = lambda: None # Shadows the existing top-level function
all_tests = [ all_tests = [
@ -293,19 +294,21 @@ def windows_release():
def linux_wpt(): def linux_wpt():
release_build_task = linux_release_build() release_build_task = linux_release_build(with_debug_assertions=True)
total_chunks = 2 total_chunks = 2
for i in range(total_chunks): for i in range(total_chunks):
this_chunk = i + 1 this_chunk = i + 1
wpt_chunk(release_build_task, total_chunks, this_chunk) wpt_chunk(release_build_task, total_chunks, this_chunk)
def linux_release_build(): def linux_release_build(with_debug_assertions=False):
a = with_debug_assertions
return ( return (
linux_build_task("Release build") linux_build_task("Release build" + ", with debug assertions" if a else "")
.with_treeherder("Linux x64", "Release") .with_treeherder("Linux x64", "Release" + "+A" if a else "")
.with_env(BUILD_FLAGS="--with-debug-assertions" if a else "")
.with_script(""" .with_script("""
./mach build --release --with-debug-assertions -p servo ./mach build --release $BUILD_FLAGS -p servo
./etc/ci/lockfile_changed.sh ./etc/ci/lockfile_changed.sh
tar -czf /target.tar.gz \ tar -czf /target.tar.gz \
target/release/servo \ target/release/servo \
@ -313,7 +316,9 @@ def linux_release_build():
target/release/build/osmesa-src-*/out/lib/gallium target/release/build/osmesa-src-*/out/lib/gallium
""") """)
.with_artifacts("/target.tar.gz") .with_artifacts("/target.tar.gz")
.find_or_create("build.linux_x64_release." + CONFIG.git_sha) .find_or_create(
"build.linux_x64_release%s.%s" % ("_assertions" if a else "", CONFIG.git_sha)
)
) )
@ -328,43 +333,45 @@ def wpt_chunk(release_build_task, total_chunks, this_chunk):
.with_index_and_artifacts_expire_in(log_artifacts_expire_in) .with_index_and_artifacts_expire_in(log_artifacts_expire_in)
.with_max_run_time_minutes(60) .with_max_run_time_minutes(60)
.with_env(TOTAL_CHUNKS=total_chunks, THIS_CHUNK=this_chunk) .with_env(TOTAL_CHUNKS=total_chunks, THIS_CHUNK=this_chunk)
.with_script("""
./mach test-wpt \
--release \
--processes 24 \
--total-chunks "$TOTAL_CHUNKS" \
--this-chunk "$THIS_CHUNK" \
--log-raw test-wpt.log \
--log-errorsummary wpt-errorsummary.log \
--always-succeed
./mach filter-intermittents\
wpt-errorsummary.log \
--log-intermittents intermittents.log \
--log-filteredsummary filtered-wpt-errorsummary.log \
--tracker-api default
""")
# FIXME: --reporter-api default
# IndexError: list index out of range
# File "/repo/python/servo/testing_commands.py", line 533, in filter_intermittents
# pull_request = int(last_merge.split(' ')[4][1:])
) )
if this_chunk == 1: if this_chunk == 1:
task.name += " + extra" task.name += " + extra"
task.extra["treeherder"]["symbol"] += "+" task.extra["treeherder"]["symbol"] += "+"
task.with_script(""" task.with_script("""
./mach test-wpt-failure time ./mach test-wpt-failure
./mach test-wpt --release --binary-arg=--multiprocess --processes 24 \ time ./mach test-wpt --release --binary-arg=--multiprocess --processes 24 \
--log-raw test-wpt-mp.log \ --log-raw test-wpt-mp.log \
--log-errorsummary wpt-mp-errorsummary.log \ --log-errorsummary wpt-mp-errorsummary.log \
eventsource eventsource
time ./mach test-wpt --release --product=servodriver --headless \
tests/wpt/mozilla/tests/mozilla/DOMParser.html \
tests/wpt/mozilla/tests/css/per_glyph_font_fallback_a.html \
tests/wpt/mozilla/tests/css/img_simple.html \
tests/wpt/mozilla/tests/mozilla/secure.https.html
""") """)
task.with_script("""
./mach test-wpt \
--release \
--processes 24 \
--total-chunks "$TOTAL_CHUNKS" \
--this-chunk "$THIS_CHUNK" \
--log-raw test-wpt.log \
--log-errorsummary wpt-errorsummary.log \
--always-succeed
./mach filter-intermittents\
wpt-errorsummary.log \
--log-intermittents intermittents.log \
--log-filteredsummary filtered-wpt-errorsummary.log \
--tracker-api default \
--reporter-api default
""")
task.with_artifacts(*[ task.with_artifacts(*[
"/repo/" + word "/repo/" + word
for script in task.scripts for script in task.scripts
for word in script.split() for word in script.split()
if word.endswith(".log") if word.endswith(".log")
]) ])
task.create() return task.create()
def daily_tasks_setup(): def daily_tasks_setup():

View file

@ -7,3 +7,4 @@ RUN apt-get install -qy --no-install-recommends \
libdbus-1-3 \ libdbus-1-3 \
libgstreamer-plugins-bad1.0-0 \ libgstreamer-plugins-bad1.0-0 \
gstreamer1.0-plugins-good gstreamer1.0-plugins-good