Bug 1503776 - Add marionette-gpu job. r=jmaher
☠☠ backed out by af4aa01c64c5 ☠ ☠
authorChris Pearce <cpearce@mozilla.com>
Tue, 20 Nov 2018 12:32:50 +0000
changeset 503781 596f70b5d5b0671a10957d57504be517a6da0a4b
parent 503780 2d2d1dfd04d491c928eaf2bfc3ceb504204b2cc3
child 503782 f3a1d87f178a852eba4405c5284887cfab902721
push id10290
push userffxbld-merge
push dateMon, 03 Dec 2018 16:23:23 +0000
treeherdermozilla-beta@700bed2445e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1503776
milestone65.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
Bug 1503776 - Add marionette-gpu job. r=jmaher In order to reduce the cost of running marionette tests on a virtual machine with a GPU, add a marionette-gpu job, and run the WebRender rollout test added in the previous patch in this new job. Depends on D10528 Differential Revision: https://phabricator.services.mozilla.com/D12241
gfx/tests/marionette/manifest.ini
gfx/tests/moz.build
python/mozbuild/mozbuild/action/test_archive.py
python/mozbuild/mozbuild/frontend/context.py
taskcluster/ci/test/marionette.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/ci/test/test-sets.yml
testing/marionette/harness/marionette_harness/tests/gpu-unit-tests.ini
new file mode 100644
--- /dev/null
+++ b/gfx/tests/marionette/manifest.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+run-if = buildapp == 'browser'
+
+[test_pref_rollout_workaround.py]
+skip-if = os != "win" # Bug 1503776, WebRender is only available on Windows at this stage.
--- a/gfx/tests/moz.build
+++ b/gfx/tests/moz.build
@@ -2,8 +2,9 @@
 # vim: set filetype=python:
 # 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/.
 
 MOCHITEST_MANIFESTS += ['mochitest/mochitest.ini']
 BROWSER_CHROME_MANIFESTS += ['browser/browser.ini']
 MOCHITEST_CHROME_MANIFESTS += ['chrome/chrome.ini']
+MARIONETTE_GPU_MANIFESTS += ['marionette/manifest.ini']
--- a/python/mozbuild/mozbuild/action/test_archive.py
+++ b/python/mozbuild/mozbuild/action/test_archive.py
@@ -134,16 +134,17 @@ ARCHIVE_FILES = {
                 'puppeteer/firefox/docs',
             ],
         },
         {
             'source': buildconfig.topsrcdir,
             'base': '',
             'manifests': [
                 'testing/marionette/harness/marionette_harness/tests/unit-tests.ini',
+                'gfx/tests/marionette/manifest.ini',
             ],
             # We also need the manifests and harness_unit tests
             'pattern': 'testing/marionette/harness/marionette_harness/tests/**',
             'dest': 'marionette/tests',
         },
         {
             'source': buildconfig.topobjdir,
             'base': '_tests',
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1850,16 +1850,20 @@ VARIABLES = {
     'PUPPETEER_FIREFOX_MANIFESTS': (ManifestparserManifestList, list,
         """List of manifest files defining puppeteer unit tests for Firefox.
         """),
 
     'MARIONETTE_LAYOUT_MANIFESTS': (ManifestparserManifestList, list,
         """List of manifest files defining marionette-layout tests.
         """),
 
+    'MARIONETTE_GPU_MANIFESTS': (ManifestparserManifestList, list,
+        """List of manifest files defining marionette-gpu tests.
+        """),
+
     'MARIONETTE_UNIT_MANIFESTS': (ManifestparserManifestList, list,
         """List of manifest files defining marionette-unit tests.
         """),
 
     'METRO_CHROME_MANIFESTS': (ManifestparserManifestList, list,
         """List of manifest files defining metro browser chrome tests.
         """),
 
--- a/taskcluster/ci/test/marionette.yml
+++ b/taskcluster/ci/test/marionette.yml
@@ -42,8 +42,21 @@ marionette:
 marionette-headless:
     description: "Marionette headless unittest run"
     treeherder-symbol: MnH
     max-run-time: 5400
     instance-size: default
     mozharness:
         extra-options:
             - --headless
+
+marionette-gpu:
+    description: "Marionette with GPU unittest run"
+    treeherder-symbol: MnG
+    max-run-time: 1800
+    instance-size: default
+    mozharness:
+        extra-options:
+            - --test-manifest gpu-unit-tests.ini
+    virtualization:
+        by-test-platform:
+            windows10-64.*: virtual-with-gpu
+            default: virtual
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -168,62 +168,69 @@ windows7-32-devedition/opt:
 # win64
 windows10-64-ccov/debug:
     build-platform: win64-ccov/debug
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - windows-reftest-gpu
         - windows-talos
+        - marionette-gpu-tests
         - windows-tests
         - ccov-code-coverage-tests
 
 windows10-64/debug:
     build-platform: win64/debug
     test-sets:
+        - marionette-gpu-tests
         - windows-tests
         - mochitest-headless
 
 windows10-64/opt:
     build-platform: win64/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - windows-talos
+        - marionette-gpu-tests
         - windows-tests
         - mochitest-headless
         - raptor-firefox
 
 windows10-64-ux/opt:
     build-platform: win64-nightly/opt
     test-sets:
         - raptor-firefox
 
 windows10-64-pgo/opt:
     build-platform: win64-pgo/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
+        - marionette-gpu-tests
         - windows-talos
+        - marionette-gpu-tests
         - windows-tests
         - raptor-firefox
 
 windows10-64-nightly/opt:
     build-platform: win64-nightly/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
         - desktop-instrumentation
+        - marionette-gpu-tests
         - windows-tests
         - raptor-chrome
 
 windows10-64-devedition/opt:
     build-platform: win64-devedition-nightly/opt
     test-sets:
         - desktop-screenshot-capture
+        - marionette-gpu-tests
         - windows-tests
 
 windows10-64-asan/opt:
     build-platform: win64-asan/opt
     test-sets:
         - common-tests
 
 # QR builds just run a subset right now.
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -218,16 +218,19 @@ windows-talos:
     - talos-perf-reftest
     - talos-perf-reftest-singletons
     - talos-svgr
     - talos-tp5o
     - talos-xperf
     - talos-tps
     # - talos-h1 Bug 1487031 - Disabled for not finding actionable regressions
 
+marionette-gpu-tests:
+    - marionette-gpu
+
 macosx64-tests:
     - cppunit
     - crashtest
     - firefox-ui-functional-local
     - firefox-ui-functional-remote
     - gtest
     - jittest
     - jsreftest
new file mode 100644
--- /dev/null
+++ b/testing/marionette/harness/marionette_harness/tests/gpu-unit-tests.ini
@@ -0,0 +1,2 @@
+# graphics tests
+[include:../../../../../gfx/tests/marionette/manifest.ini]