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