author | Andrew Halberstadt <ahalberstadt@mozilla.com> |
Tue, 07 Aug 2018 18:22:40 +0000 | |
changeset 430433 | ed8b7ca3f5bec194607d09ac74f5a8d3032dee45 |
parent 430432 | acf55a4fc3596dba31b05a809d5a3ac32a57f696 |
child 430434 | 6f39c71a8f6ce42ca894c7d609c8016e78b3e6ed |
push id | 34405 |
push user | ncsoregi@mozilla.com |
push date | Wed, 08 Aug 2018 09:57:26 +0000 |
treeherder | mozilla-central@c65991f3fa10 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | rwood |
bugs | 1472800 |
milestone | 63.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
new file mode 100644 --- /dev/null +++ b/taskcluster/ci/fetch/benchmarks.yml @@ -0,0 +1,8 @@ +unity-webgl: + description: unity-webgl benchmark + fetch: + type: static-url + artifact-name: unity-webgl.zip + url: https://github.com/mozilla/perf-automation/releases/download/unity-webgl-v1/unity-webgl-6beb3d3e22ab.zip + sha256: f71ee3a3f5b9513f041e1dd01c032d51f2071e1ad130e8ac2cf0c553c468b9ea + size: 27062962
--- a/taskcluster/ci/fetch/kind.yml +++ b/taskcluster/ci/fetch/kind.yml @@ -6,9 +6,10 @@ loader: taskgraph.loader.transform:loade transforms: - taskgraph.transforms.fetch:transforms - taskgraph.transforms.try_job:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms jobs-from: + - benchmarks.yml - toolchains.yml
--- a/taskcluster/ci/test/raptor.yml +++ b/taskcluster/ci/test/raptor.yml @@ -187,8 +187,37 @@ raptor-sunspider-chrome: try-name: raptor-sunspider-chrome treeherder-symbol: Rap-C(ss) run-on-projects: ['try', 'mozilla-central'] max-run-time: 1800 mozharness: extra-options: - --test=raptor-sunspider - --app=chrome + +raptor-unity-webgl-firefox: + description: "Raptor Unity WebGL on Firefox" + try-name: raptor-unity-webgl-firefox + treeherder-symbol: Rap(ugl) + run-on-projects: ['try', 'mozilla-central'] + tier: 3 + max-run-time: 3600 + mozharness: + extra-options: + - --test=raptor-unity-webgl + fetches: + fetch: + - unity-webgl + +raptor-unity-webgl-chrome: + description: "Raptor Unity WebGL on Chrome" + try-name: raptor-unity-webgl-chrome + treeherder-symbol: Rap-C(ugl) + run-on-projects: ['try', 'mozilla-central'] + tier: 3 + max-run-time: 3600 + mozharness: + extra-options: + - --test=raptor-unity-webgl + - --app=chrome + fetches: + fetch: + - unity-webgl
--- a/taskcluster/ci/test/test-platforms.yml +++ b/taskcluster/ci/test/test-platforms.yml @@ -49,17 +49,18 @@ linux64/opt: - opt-only-tests - desktop-screenshot-capture - talos - awsy - mochitest-headless - linux-talos-flex - raptor-firefox - raptor-chrome - + - raptor-fetch-firefox + - raptor-fetch-chrome linux64-nightly/opt: build-platform: linux64-nightly/opt test-sets: - common-tests - web-platform-tests - opt-only-tests - desktop-screenshot-capture - awsy @@ -75,16 +76,17 @@ linux64-devedition/opt: # TODO: use 'pgo' and 'asan' labels here, instead of -pgo/opt linux64-pgo/opt: build-platform: linux64-pgo/opt test-sets: - common-tests - web-platform-tests - talos - raptor-firefox + - raptor-fetch-firefox linux64-asan/opt: build-platform: linux64-asan/opt test-sets: - common-tests - web-platform-tests # Stylo sequential runs check memory and performance when using a single thread. @@ -97,17 +99,17 @@ linux64-stylo-sequential/opt: linux64-qr/opt: build-platform: linux64/opt test-sets: - linux-qr-tests - talos - awsy - web-platform-tests - raptor-firefox - + - raptor-fetch-firefox linux64-qr/debug: build-platform: linux64/debug test-sets: - linux-qr-tests - web-platform-tests linux64-ccov/debug: build-platform: linux64-ccov/debug
--- a/taskcluster/ci/test/test-sets.yml +++ b/taskcluster/ci/test/test-sets.yml @@ -96,16 +96,24 @@ raptor-chrome: - raptor-speedometer-chrome - raptor-stylebench-chrome - raptor-motionmark-htmlsuite-chrome - raptor-motionmark-animometer-chrome - raptor-webaudio-chrome - raptor-gdocs-chrome - raptor-sunspider-chrome +# Fetch tasks are only supported on Linux for now, +# so these need to be separate sets. +raptor-fetch-firefox: + - raptor-unity-webgl-firefox + +raptor-fetch-chrome: + - raptor-unity-webgl-chrome + awsy: - awsy - awsy-base awsy-stylo-sequential: - awsy-stylo-sequential ##
--- a/taskcluster/taskgraph/transforms/tests.py +++ b/taskcluster/taskgraph/transforms/tests.py @@ -1033,16 +1033,19 @@ def make_job_description(config, tests): name = '{}-{}'.format(test['test-platform'], test['test-name']) jobdesc['name'] = name jobdesc['label'] = label jobdesc['description'] = test['description'] jobdesc['attributes'] = attributes jobdesc['dependencies'] = {'build': build_label} jobdesc['job-from'] = test['job-from'] + if test.get('fetches'): + jobdesc['fetches'] = test['fetches'] + if test['mozharness']['requires-signed-builds'] is True: jobdesc['dependencies']['build-signing'] = test['build-signing-label'] jobdesc['expires-after'] = test['expires-after'] jobdesc['routes'] = [] jobdesc['run-on-projects'] = test['run-on-projects'] jobdesc['scopes'] = [] jobdesc['tags'] = test.get('tags', {})
--- a/testing/raptor/raptor/benchmark.py +++ b/testing/raptor/raptor/benchmark.py @@ -1,15 +1,16 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. from __future__ import absolute_import import os +import shutil import socket from mozlog import get_proxy_logger from wptserve import server, handlers LOG = get_proxy_logger(component="raptor-benchmark") here = os.path.abspath(os.path.dirname(__file__)) @@ -33,16 +34,25 @@ class Benchmark(object): # now add path for benchmark source; locally we put it in a raptor benchmarks # folder; in production the files are automatically copied to a different dir if self.config.get('run_local', False): self.bench_dir = os.path.join(self.bench_dir, 'testing', 'raptor', 'benchmarks') else: self.bench_dir = os.path.join(self.bench_dir, 'tests', 'webkit', 'PerformanceTests') + # Some benchmarks may have been downloaded from a fetch task, make + # sure they get copied over. + fetches_dir = os.environ.get('MOZ_FETCHES_DIR') + if fetches_dir and os.path.isdir(fetches_dir): + for name in os.listdir(fetches_dir): + path = os.path.join(fetches_dir, name) + if os.path.isdir(path): + shutil.copytree(path, os.path.join(self.bench_dir, name)) + LOG.info("bench_dir contains:") LOG.info(os.listdir(self.bench_dir)) # now have the benchmark source ready, go ahead and serve it up! self.start_http_server() def start_http_server(self): self.write_server_headers()