Bug 1503776 - Add marionette-gpu job. r=jmaher
☠☠ backed out by 8ada4020596a ☠ ☠
authorChris Pearce <cpearce@mozilla.com>
Mon, 19 Nov 2018 19:18:38 +0000
changeset 503479 5b6f0d586bf79f1427d822cd562ad6a8c248b4f2
parent 503478 bcb35a8cb22b1d55a357fa592cfbe2418c6ae9ae
child 503480 606cfe2ddd368dc617f52795ddb2f5016d3ef1a8
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-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-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -170,16 +170,17 @@ windows-tests:
     - crashtest
     - firefox-ui-functional-local
     - firefox-ui-functional-remote
     - gtest
     - jittest
     - jsreftest
     - marionette
     - marionette-headless
+    - marionette-gpu
     - mochitest
     - mochitest-a11y
     - mochitest-browser-chrome
     - mochitest-chrome
     - mochitest-clipboard
     - mochitest-devtools-chrome
     - mochitest-gpu
     - mochitest-media
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]