Bug 1356652 - Toolchain task to create a Speedometer archive; r?glandium draft
authorGregory Szorc <gps@mozilla.com>
Fri, 25 Aug 2017 14:57:25 -0700
changeset 653377 50feeef074799b90430663a6671807d02b96b658
parent 653365 03d7b6dd65b93afaa6981269f69e9f7cd34224bc
child 653378 bcba0721129e3609d0e6f10d993f13fe80e98738
push id76318
push usergszorc@mozilla.com
push dateFri, 25 Aug 2017 22:23:54 +0000
reviewersglandium
bugs1356652
milestone57.0a1
Bug 1356652 - Toolchain task to create a Speedometer archive; r?glandium We don't yet have legal review on adding Speedometer to the repository. Let's package and distribute it using toolchain artifacts until that happens. The toolchain task simply does Subversion checkout of a specific revision, applies a minimal patch that we need for PGO integration, and packages it. We add this toolchain as a dependency for Linux and Windows PGO tasks so it is downloaded and extracted automatically. MozReview-Commit-ID: 82e1VMSzcpq
taskcluster/ci/build/linux.yml
taskcluster/ci/build/windows.yml
taskcluster/ci/toolchain/linux.yml
taskcluster/scripts/misc/build-speedometer.sh
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -80,16 +80,17 @@ linux64/pgo:
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-sccache
+        - speedometer
 
 linux64/debug:
     description: "Linux64 Debug"
     index:
         product: firefox
         job-name: linux64-debug
     treeherder:
         platform: linux64/debug
@@ -291,16 +292,17 @@ linux/pgo:
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         tooltool-downloads: public
         need-xvfb: true
     toolchains:
         - linux64-clang
         - linux64-gcc
         - linux64-sccache
+        - speedometer
 
 linux-devedition-nightly/opt:
     description: "Linux32 devedition Nightly"
     attributes:
         nightly: true
     index:
         product: devedition
         job-name: linux-opt
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -87,16 +87,17 @@ win32/pgo:
         using: mozharness
         options: [enable-pgo]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_firefox_windows_32_opt.py
     toolchains:
         - win32-clang-cl
         - win64-sccache
+        - speedometer
 
 win64/debug:
     description: "Win64 Debug"
     index:
         product: firefox
         job-name: win64-debug
     treeherder:
         platform: windows2012-64/debug
@@ -240,16 +241,17 @@ win64/pgo:
         using: mozharness
         options: [enable-pgo]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_firefox_windows_64_opt.py
     toolchains:
         - win64-clang-cl
         - win64-sccache
+        - speedometer
 
 win32-add-on-devel/opt:
     description: "Windows32 add-on-devel"
     index:
         product: firefox
         job-name: win32-add-on-devel
     treeherder:
         platform: windows2012-32-add-on-devel/opt
--- a/taskcluster/ci/toolchain/linux.yml
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -201,8 +201,24 @@ linux64-sccache:
     run:
         using: toolchain-script
         script: build-sccache.sh
         resources:
             - 'taskcluster/scripts/misc/tooltool-download.sh'
         toolchain-artifact: public/build/sccache2.tar.xz
     toolchains:
         - linux64-clang-3.9
+
+speedometer:
+    description: "package speedometer benchmark suite"
+    treeherder:
+        kind: build
+        platform: toolchains/opt
+        symbol: TL(speed)
+        tier: 1
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        docker-image: {in-tree: desktop-build}
+        max-run-time: 3600
+    run:
+        using: toolchain-script
+        script: build-speedometer.sh
+        toolchain-artifact: public/build/speedometer.tar.xz
new file mode 100755
--- /dev/null
+++ b/taskcluster/scripts/misc/build-speedometer.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+set -x -e -v
+
+SPEEDOMETER_REVISION=221009
+
+cat > changes.patch << EOF
+diff index.html index.html
+--- index.html
++++ index.html
+@@ -11,7 +11,7 @@
+     <script src="resources/tests.js" defer></script>
+ </head>
+ <body>
+-<main>
++<main onload="startTest()">
+     <a id="logo-link" href="javascript:showHome()"><img id="logo" src="resources/logo.png"></a>
+
+     <section id="home" class="selected">
+
+EOF
+
+svn co -r ${SPEEDOMETER_REVISION} https://svn.webkit.org/repository/webkit/trunk/PerformanceTests/Speedometer speedometer
+(cd speedometer && patch -p0 < ../changes.patch)
+
+tar -acf speedometer.tar.xz speedometer
+mkdir -p ${HOME}/artifacts
+cp speedometer.tar.xz ${HOME}/artifacts