From 24f4792dee6c048e879b3859ac63871f28b361dd Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 9 May 2019 14:54:41 -0400 Subject: [PATCH 1/5] Add third mac builder to taskcluster. --- etc/taskcluster/macos/config/roster | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/taskcluster/macos/config/roster b/etc/taskcluster/macos/config/roster index f4e16de6609..6a2ace9eeef 100644 --- a/etc/taskcluster/macos/config/roster +++ b/etc/taskcluster/macos/config/roster @@ -2,3 +2,5 @@ mac1: host: servo-tc-mac1.servo.org mac2: host: servo-tc-mac2.servo.org +mac3: + host: servo-tc-mac3.servo.org \ No newline at end of file From 1b8429f9ce65d288723f9bd33c3f1bda4cee995b Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 9 May 2019 14:57:10 -0400 Subject: [PATCH 2/5] Move two mac WPT jobs to taskcluster. --- etc/ci/buildbot_steps.yml | 24 ++---------------------- etc/taskcluster/decision_task.py | 2 +- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml index eb7593d44fa..c9ead7956c8 100644 --- a/etc/ci/buildbot_steps.yml +++ b/etc/ci/buildbot_steps.yml @@ -5,28 +5,6 @@ env: SCCACHE_IDLE_TIMEOUT: "1200" GST_DEBUG: '3' -mac-rel-wpt2: - env: - CC: /usr/local/opt/llvm/bin/clang - CXX: /usr/local/opt/llvm/bin/clang++ - commands: - - ./mach clean-nightlies --keep 3 --force - - ./mach clean-cargo-cache --keep 3 --force - - env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release - - ./mach test-wpt --release --processes 4 --total-chunks 6 --this-chunk 2 --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 - -mac-rel-wpt3: - env: - CC: /usr/local/opt/llvm/bin/clang - CXX: /usr/local/opt/llvm/bin/clang++ - commands: - - ./mach clean-nightlies --keep 3 --force - - ./mach clean-cargo-cache --keep 3 --force - - env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release - - ./mach test-wpt --release --processes 4 --total-chunks 6 --this-chunk 3 --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 - mac-rel-wpt4: env: CC: /usr/local/opt/llvm/bin/clang @@ -213,6 +191,8 @@ android-mac: [] android: [] android-x86: [] mac-rel-wpt1: [] +mac-rel-wpt2: [] +mac-rel-wpt3: [] android-nightly: [] windows-msvc-nightly: [] mac-nightly: [] diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index fe5931ff07d..c36d0727d87 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -517,7 +517,7 @@ def macos_wpt(): def macos_run_task(name): return macos_task(name).with_python2() wpt_chunks("macOS x64", macos_run_task, build_task, repo_dir="repo", - total_chunks=6, processes=4, chunks=[1]) + total_chunks=6, processes=4, chunks=[1,2,3]) def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes, From dd18ad29ace0754673a520c6d19ab01a74bb5bb0 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 13 May 2019 12:29:21 -0400 Subject: [PATCH 3/5] Install gstreamer libraries for WPT runner tasks on mac. --- etc/taskcluster/decision_task.py | 26 ++++++++++++++++-------- etc/taskcluster/macos/Brewfile | 6 ------ etc/taskcluster/macos/Brewfile-gstreamer | 6 ++++++ 3 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 etc/taskcluster/macos/Brewfile-gstreamer diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index c36d0727d87..7d17a2ee186 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -485,7 +485,10 @@ def update_wpt(): .with_max_run_time_minutes(5 * 60) ) return ( - with_homebrew(update_task, "etc/taskcluster/macos/Brewfile-wpt") + with_homebrew(update_task, [ + "etc/taskcluster/macos/Brewfile-wpt", + "etc/taskcluster/macos/Brewfile-gstreamer", + ]) .with_repo() .with_curl_artifact_script(build_task, "target.tar.gz") .with_script(""" @@ -515,7 +518,8 @@ def macos_wpt(): .find_or_create("build.macos_x64_release." + CONFIG.git_sha) ) def macos_run_task(name): - return macos_task(name).with_python2() + task = macos_task(name).with_python2() + return with_homebrew(task, ["etc/taskcluster/macos/Brewfile-gstreamer"]) wpt_chunks("macOS x64", macos_run_task, build_task, repo_dir="repo", total_chunks=6, processes=4, chunks=[1,2,3]) @@ -730,15 +734,18 @@ def windows_build_task(name, package=True, arch="x86_64"): return task -def with_homebrew(task, brewfile): - return task.with_script(""" +def with_homebrew(task, brewfiles): + task = task.with_script(""" mkdir -p "$HOME/homebrew" export PATH="$HOME/homebrew/bin:$PATH" which brew || curl -L https://github.com/Homebrew/brew/tarball/master \ | tar xz --strip 1 -C "$HOME/homebrew" - - time brew bundle install --no-upgrade --file={brewfile} - """.format(brewfile=brewfile)) + """) + for brewfile in brewfiles: + task = task.with_script(""" + time brew bundle install --no-upgrade --file={brewfile} + """.format(brewfile=brewfile)) + return task def macos_build_task(name): @@ -752,7 +759,10 @@ def macos_build_task(name): .with_rustup() ) return ( - with_homebrew(build_task, "etc/taskcluster/macos/Brewfile") + with_homebrew(build_task, [ + "etc/taskcluster/macos/Brewfile", + "etc/taskcluster/macos/Brewfile-gstreamer", + ]) .with_script(""" export OPENSSL_INCLUDE_DIR="$(brew --prefix openssl)/include" export OPENSSL_LIB_DIR="$(brew --prefix openssl)/lib" diff --git a/etc/taskcluster/macos/Brewfile b/etc/taskcluster/macos/Brewfile index b9e6315d9a8..d13b3cfa678 100644 --- a/etc/taskcluster/macos/Brewfile +++ b/etc/taskcluster/macos/Brewfile @@ -3,12 +3,6 @@ brew "automake" brew "cmake" brew "openssl" brew "pkg-config" -brew "gstreamer" -brew "gst-plugins-base" -brew "gst-libav" -brew "gst-plugins-bad" -brew "gst-plugins-good" -brew "gst-rtsp-server" brew "llvm" brew "yasm" diff --git a/etc/taskcluster/macos/Brewfile-gstreamer b/etc/taskcluster/macos/Brewfile-gstreamer new file mode 100644 index 00000000000..a2fb6e035b2 --- /dev/null +++ b/etc/taskcluster/macos/Brewfile-gstreamer @@ -0,0 +1,6 @@ +brew "gstreamer" +brew "gst-plugins-base" +brew "gst-libav" +brew "gst-plugins-bad" +brew "gst-plugins-good" +brew "gst-rtsp-server" From 7119bc093fc7da111bb9342dab9b2ce84b148e30 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 13 May 2019 12:30:55 -0400 Subject: [PATCH 4/5] Enable gstreamer debug output on taskcluster. --- etc/taskcluster/decision_task.py | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 7d17a2ee186..7fad72e4125 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -541,6 +541,7 @@ def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes, TOTAL_CHUNKS=str(total_chunks), THIS_CHUNK=str(this_chunk), PROCESSES=str(processes), + GST_DEBUG="3", ) ) if this_chunk == chunks[-1]: From 4ca139ec1e64e90226fee634b3898742e542923b Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 13 May 2019 12:34:11 -0400 Subject: [PATCH 5/5] Ensure libffi pkgconfig is set up for WPT tests. --- etc/taskcluster/decision_task.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 7fad72e4125..cd6ef14450b 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -519,7 +519,12 @@ def macos_wpt(): ) def macos_run_task(name): task = macos_task(name).with_python2() - return with_homebrew(task, ["etc/taskcluster/macos/Brewfile-gstreamer"]) + return ( + with_homebrew(task, ["etc/taskcluster/macos/Brewfile-gstreamer"]) + .with_script(""" + export PKG_CONFIG_PATH="$(brew --prefix libffi)/lib/pkgconfig/" + """) + ) wpt_chunks("macOS x64", macos_run_task, build_task, repo_dir="repo", total_chunks=6, processes=4, chunks=[1,2,3])