Bug 1503776 - Add marionette-gpu job. r=jmaher
authorChris Pearce <cpearce@mozilla.com>
Thu, 22 Nov 2018 21:36:46 +0000
changeset 447762 a25095165e12efa8d9e9fbece3ad90f27d0f85a4
parent 447761 e9ba7f2783640f63dd3b931a51243e11e1410367
child 447763 a5d7f9ff483baf1e9c238740518b0a35cc837204
push id35088
push usershindli@mozilla.com
push dateFri, 23 Nov 2018 09:37:59 +0000
treeherdermozilla-central@ad6143ff142d [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]