Bug 1550826 - add initial support for osx mojave 10.14 to our CI. r=ahal
authorJoel Maher <jmaher@mozilla.com>
Tue, 14 May 2019 18:33:12 +0000
changeset 535717 2e773f4f69c468c09e84f87c12a093c6da9d0dfd
parent 535716 13d43fe66caea88e8923b7329ec194b26cfa2481
child 535718 8553fd10ee8923735468ebf54f0b9ed1c33d8c81
push id2082
push userffxbld-merge
push dateMon, 01 Jul 2019 08:34:18 +0000
treeherdermozilla-release@2fb19d0466d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersahal
bugs1550826
milestone68.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 1550826 - add initial support for osx mojave 10.14 to our CI. r=ahal add initial support for osx mojave 10.14 to our CI. Differential Revision: https://phabricator.services.mozilla.com/D30795
taskcluster/ci/config.yml
taskcluster/ci/source-test/python.yml
taskcluster/ci/test/compiled.yml
taskcluster/ci/test/misc.yml
taskcluster/ci/test/mochitest.yml
taskcluster/ci/test/raptor.yml
taskcluster/ci/test/reftest.yml
taskcluster/ci/test/talos.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/ci/test/test-sets.yml
taskcluster/ci/test/web-platform.yml
taskcluster/ci/test/xpcshell.yml
taskcluster/taskgraph/transforms/job/mozharness_test.py
taskcluster/taskgraph/transforms/tests.py
taskcluster/taskgraph/try_option_syntax.py
taskcluster/taskgraph/util/seta.py
taskcluster/taskgraph/util/workertypes.py
--- a/taskcluster/ci/config.yml
+++ b/taskcluster/ci/config.yml
@@ -323,32 +323,45 @@ workers:
             implementation: generic-worker
             os: linux
             worker-type: 'gecko-{alias}'
         t-osx-1010:
             provisioner: releng-hardware
             implementation: generic-worker
             os: macosx
             worker-type: 'gecko-{alias}'
+        t-osx-1014:
+            provisioner: releng-hardware
+            implementation: generic-worker
+            os: macosx
+            worker-type: 'gecko-{alias}'
         t-linux-xlarge-pgo:
             provisioner: aws-provisioner-v1
             implementation: docker-worker
             os: linux
             worker-type:
                 by-level:
                     '3': 'gecko-{level}-t-linux-xlarge'
                     default: 'gecko-t-linux-xlarge'
         t-osx-1010-pgo:
             provisioner: releng-hardware
             implementation: generic-worker
             os: macosx
             worker-type:
                 by-level:
                     '3': 'gecko-{level}-t-osx-1010'
                     default: 'gecko-t-osx-1010'
+        t-osx-1014-pgo:
+            provisioner: releng-hardware
+            implementation: generic-worker
+            os: macosx
+            worker-type:
+                by-level:
+                    '3': 'gecko-{level}-t-osx-1014'
+                    default: 'gecko-t-osx-1014'
         t-win10-64(|-gpu):
             provisioner: aws-provisioner-v1
             implementation: generic-worker
             os: windows
             worker-type: 'gecko-{alias}'
         t-win10-64(-hw|-ux):
             provisioner: releng-hardware
             implementation: generic-worker
--- a/taskcluster/ci/source-test/python.yml
+++ b/taskcluster/ci/source-test/python.yml
@@ -3,17 +3,17 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 ---
 job-defaults:
     platform: linux64/opt
     always-target: true
     worker-type:
         by-platform:
             linux64.*: t-linux-xlarge
-            macosx64.*: t-osx-1010
+            macosx1010-64.*: t-osx-1010
             windows10-64.*: t-win10-64
     worker:
         by-platform:
             linux64.*:
                 docker-image: {in-tree: "lint"}
                 max-run-time: 3600
             default:
                 max-run-time: 3600
@@ -97,17 +97,17 @@ mochitest-harness:
             - 'testing/mozharness/mozharness/mozilla/structuredlog.py'
             - 'testing/mozharness/mozharness/mozilla/testing/errors.py'
             - 'testing/profiles/**'
 
 mozbase:
     description: testing/mozbase unit tests
     platform:
         - linux64/opt
-        - macosx64/opt
+        - macosx1010-64/opt
         - windows10-64/opt
     python-version: [2, 3]
     treeherder:
         symbol: mb
     run:
         using: python-test
         subsuite: mozbase
     when:
@@ -127,17 +127,17 @@ mozharness:
     when:
         files-changed:
             - 'testing/mozharness/**'
 
 mozlint:
     description: python/mozlint unit tests
     platform:
         - linux64/opt
-        - macosx64/opt
+        - macosx1010-64/opt
         - windows10-64/opt
     python-version: [2]
     treeherder:
         symbol: ml
     run:
         using: python-test
         subsuite: mozlint
     when:
--- a/taskcluster/ci/test/compiled.yml
+++ b/taskcluster/ci/test/compiled.yml
@@ -99,27 +99,25 @@ jittest:
             (?=windows).*(?!-ccov)...../.*: []  # redundant with SM(p)
             windows10-aarch64/opt: ['try', 'mozilla-central']
             android-hw-.*-api-16/opt: ['try']
             android-hw-.*-aarch64/opt: ['try']
             default: built-projects
     chunks:
         by-test-platform:
             windows.*: 1
-            windows10-64-ccov/debug: 6
-            macosx.*: 1
-            macosx64/debug: 3
-            macosx64-ccov/debug: 4
+            macosx.*/opt: 1
+            macosx.*/debug: 3
             android-em-4.3-arm7-api-15/debug: 20
             android.*: 10
             default: 6
     max-run-time:
         by-test-platform:
             windows10-64-ccov/debug: 7200
-            macosx64-ccov/debug: 7200
+            macosx.*-ccov/debug: 7200
             default: 3600
     mozharness:
         chunked:
             by-test-platform:
                 windows.*: false
                 macosx.*: false
                 default: true
     tier:
--- a/taskcluster/ci/test/misc.yml
+++ b/taskcluster/ci/test/misc.yml
@@ -92,17 +92,17 @@ test-verify:
     allow-software-gl-layers: false
     run-on-projects:
         by-test-platform:
             android-em-4.3-arm7-api-16/opt: ['try']
             # do not run on ccov
             .*-ccov/.*: []
             .*-asan/.*: []
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
-            macosx64(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-qr)?/opt: ['mozilla-central', 'try']
             # do not run on beta or release: usually just confirms earlier results
             default: ['trunk', 'try']
     tier: 2
     mozharness:
         script:
             by-test-platform:
                 android-em.*: android_emulator_unittest.py
                 default: desktop_unittest.py
@@ -140,17 +140,17 @@ test-verify-gpu:
     max-run-time: 10800
     allow-software-gl-layers: false
     run-on-projects:
         by-test-platform:
             # do not run on ccov
             .*-ccov/.*: []
             .*-asan/.*: []
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
-            macosx64(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-qr)?/opt: ['mozilla-central', 'try']
             # do not run on beta or release: usually just confirms earlier results
             default: ['trunk', 'try']
     tier: 2
     mozharness:
         script:
             by-test-platform:
                 android-em.*: android_emulator_unittest.py
                 default: desktop_unittest.py
--- a/taskcluster/ci/test/mochitest.yml
+++ b/taskcluster/ci/test/mochitest.yml
@@ -66,17 +66,17 @@ mochitest:
         by-test-platform:
             android-em-4.3-arm7-api-16/debug: 60
             android-em-4.*: 24
             android-em-7.*: 4
             linux.*/debug: 16
             linux64-asan/opt: 10
             linux64-.*cov/opt: 10
             windows10-64-ccov/debug: 10
-            macosx64-ccov/debug: 10
+            macosx.*64-ccov/debug: 10
             default: 5
     e10s:
         by-test-platform:
             linux32/debug: both
             default: true
     max-run-time:
         by-test-platform:
             android-em.*: 7200
@@ -116,24 +116,24 @@ mochitest-browser-chrome:
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
     chunks:
         by-test-platform:
             linux.*/debug: 16
             linux64-asan/opt: 16
-            macosx64/debug: 12
+            macosx.*64/debug: 12
             default: 7
     max-run-time:
         by-test-platform:
             linux64-.*cov/opt: 7200
             windows10-64-ccov/debug: 7200
             windows10-aarch64/*: 7200
-            macosx64-ccov/debug: 10800
+            macosx.*64-ccov/debug: 10800
             linux.*/debug: 5400
             default: 3600
     mozharness:
         mochitest-flavor: browser
         chunked: true
     # Bug 1281241: migrating to m3.large instances
     instance-size: default
     allow-software-gl-layers: false
@@ -161,17 +161,17 @@ browser-screenshots:
     treeherder-symbol: M(ss)
     loopback-video: true
     run-on-projects:
         by-test-platform:
             windows7-32(?:-pgo|-shippable)(?:-qr)?/opt: ['mozilla-central', 'integration']
             windows10-64(?:-pgo|-shippable)(?:-qr)?/opt: ['mozilla-central', 'integration']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central']
             linux64-(?:pgo|shippable)(?:-qr)?/opt: ['mozilla-central', 'integration']
-            macosx64-shippable/opt: ['mozilla-central', 'integration']
+            macosx.*64-shippable/opt: ['mozilla-central', 'integration']
             default: []
     max-run-time: 3600
     mozharness:
         mochitest-flavor: browser
     allow-software-gl-layers: false
 
 mochitest-chrome:
     description: "Mochitest chrome run"
@@ -216,24 +216,24 @@ mochitest-devtools-chrome:
     loopback-video: true
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
     max-run-time:
         by-test-platform:
             windows10-64-ccov/debug: 7200
-            macosx64-ccov/debug: 9000
+            macosx.*64-ccov/debug: 9000
             linux64-ccov/debug: 7200
             default: 5400
     chunks:
         by-test-platform:
             .*-ccov/debug: 16
             linux64/debug: 12
-            macosx64/debug: 8
+            macosx.*64/debug: 8
             .*-asan/opt: 8
             default: 5
     mozharness:
         mochitest-flavor: chrome
         chunked: true
     instance-size:
         by-test-platform:
             linux64-asan/opt: xlarge  # runs out of memory on default/m3.large
@@ -247,18 +247,18 @@ mochitest-devtools-webreplay:
     loopback-video: true
     tier: 2
     max-run-time: 900
     mozharness:
         mochitest-flavor: chrome
     allow-software-gl-layers: false
     run-on-projects:
         by-test-platform:
-            macosx64/opt: ['mozilla-central', 'try']
-            macosx64.*/opt: ['trunk', 'try']
+            macosx.*64/opt: ['mozilla-central', 'try']
+            macosx.*64.*/opt: ['trunk', 'try']
             default: []
 
 mochitest-gpu:
     description: "Mochitest GPU run"
     suite:
         name: mochitest-plain-gpu
     treeherder-symbol: M(gpu)
     loopback-video: true
@@ -286,17 +286,17 @@ mochitest-gpu:
                     - --mochitest-suite=mochitest-plain-gpu,mochitest-chrome-gpu,mochitest-browser-chrome-gpu
 
 mochitest-media:
     description: "Mochitest media run"
     treeherder-symbol: M(mda)
     max-run-time:
         by-test-platform:
             windows10-64-ccov/debug: 7200
-            macosx64-ccov/debug: 7200
+            macosx.*64-ccov/debug: 7200
             default: 5400
     run-on-projects:
         by-test-platform:
             android-hw-.*-api-16/opt: ['try']
             android-em-4.3-arm7-api-16/opt: ['try']
             windows10-aarch64/opt: ['try', 'mozilla-central']
             default: built-projects
     variants:
@@ -312,28 +312,28 @@ mochitest-media:
     instance-size:
         by-test-platform:
             android-em.*: xlarge
             default: large
     chunks:
         by-test-platform:
             android-em-7.*: 1
             windows10-64.*: 1
-            macosx64.*/opt: 2
-            macosx64.*/debug: 4
+            macosx.*64.*/opt: 2
+            macosx.*64.*/debug: 4
             windows10-aarch64/.*: 2
             windows7-32-shippable/.*: 2
             linux64(-shippable|-devedition|-.*qr)/opt: 2
             default: 3
     mozharness:
         mochitest-flavor: plain
         chunked:
             by-test-platform:
                 android.*: false
-                macosx64.*: false
+                macosx.*64.*: false
                 windows10-64.*: false
                 default: true
     tier:
         by-test-platform:
             android-hw.*: 2
             windows10-aarch64.*: 2
             default: default
 
@@ -392,17 +392,17 @@ mochitest-webgl1-core:
     loopback-video: true
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
     max-run-time:
         by-test-platform:
             windows.*: 5400
-            macosx64-ccov/debug: 7200
+            macosx.*64-ccov/debug: 7200
             default: 3600
     # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
     allow-software-gl-layers: false
     mozharness:
         mochitest-flavor: plain
 
 mochitest-webgl1-ext:
     description: "Mochitest webgl1-ext run"
--- a/taskcluster/ci/test/raptor.yml
+++ b/taskcluster/ci/test/raptor.yml
@@ -15,17 +15,17 @@ job-defaults:
             default: /home/cltbld
     run-on-projects:
         by-test-platform:
             windows10-64-ux/opt: ['try', 'mozilla-central']
             windows10-aarch64/opt: ['try', 'mozilla-central']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             android-hw-.*-api-16/opt: ['try']
             android-hw-.*-aarch64/opt: ['try']
-            macosx64(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['try', 'trunk', 'mozilla-beta']
     tier:
         by-test-platform:
             windows10-aarch64/.*: 2
             windows10-64-ccov/.*: 3
             linux64-ccov/.*: 3
             android-hw-g5.*: 2
             default: 1
--- a/taskcluster/ci/test/reftest.yml
+++ b/taskcluster/ci/test/reftest.yml
@@ -86,23 +86,23 @@ jsreftest:
             android-em.*: 40
             windows.*: 2
             windows10-64-ccov/debug: 5
             linux64-ccov/.*: 5
             linux64-qr/opt: 4
             linux64-qr/debug: 5
             linux32/debug: 5
             linux64/debug: 5
-            macosx64-ccov/debug: 5
+            macosx.*64-ccov/debug: 5
             default: 3
     max-run-time:
         by-test-platform:
             android-em.*: 7200
             windows10-64-ccov/debug: 7200
-            macosx64-ccov/debug: 7200
+            macosx.*64-ccov/debug: 7200
             default: 3600
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
 
 reftest:
     description: "Reftest run"
@@ -113,39 +113,39 @@ reftest:
             default: default
     virtualization: virtual-with-gpu
     chunks:
         by-test-platform:
             android-em-4.3-arm7-api-16/debug: 56
             android-em-4.*: 28
             android-em-7.*: 5
             linux64(-shippable|-devedition|-qr)?/opt: 5
-            macosx64.*/opt: 2
-            macosx64.*/debug: 3
-            macosx64-ccov/debug: 6
+            macosx101.*-64/opt: 2
+            macosx101.*-64/debug: 3
+            macosx.*64-ccov/debug: 6
             windows.*/opt: 2
             windows.*/debug: 4
             windows10-64-ccov/debug: 6
             default: 8
     e10s:
         by-test-platform:
             linux32/debug: both
             default: true
     max-run-time:
         by-test-platform:
             android-em.*: 7200
             windows10-64-ccov/debug: 5400
             windows10-64-asan/opt: 5400
-            macosx64-ccov/debug: 5400
+            macosx.*64-ccov/debug: 5400
             default: 3600
     mozharness:
         chunked:
             by-test-platform:
                 android-em.*: false
-                macosx64/opt: false
+                macosx.*64/opt: false
                 windows10-64.*/opt: false
                 default: true
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
 
 reftest-gpu:
--- a/taskcluster/ci/test/talos.yml
+++ b/taskcluster/ci/test/talos.yml
@@ -36,17 +36,17 @@ talos-bcv:
     treeherder-symbol: T(bcv)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             .*-qr/.*: []  # this test is not useful with webrender
             (?:windows10-64|windows7-32|linux64)/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     tier:
         by-test-platform:
             windows10-aarch64/.*: 2
             .*-qr/.*: 3  # this should be disabled but might run via try syntax anyway, so explicitly downgrade to tier-3
             default: default
     max-run-time: 1800
     mozharness:
@@ -58,17 +58,17 @@ talos-chrome:
     try-name: chromez
     treeherder-symbol: T(c)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 1200
     mozharness:
         extra-options:
             - --suite=chromez
 
 talos-damp:
     description: "Talos devtools (damp)"
@@ -76,66 +76,66 @@ talos-damp:
     treeherder-symbol: T(damp)
     max-run-time: 5400
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']  # Bug 1407593
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['try']  # Bug 1544360
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     mozharness:
         extra-options:
             - --suite=damp
 
 talos-dromaeojs:
     description: "Talos dromaeojs"
     try-name: dromaeojs
     treeherder-symbol: T(d)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 2100
     mozharness:
         extra-options:
             - --suite=dromaeojs
 
 talos-flex:
     description: "Talos XUL flexbox emulation enabled"
     try-name: flex
     treeherder-symbol: T(f)
     tier: 3
     run-on-projects:
         by-test-platform:
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-central', 'try']
     max-run-time: 1800
     mozharness:
         extra-options:
             - --suite=flex
 
 talos-g1:
     description: "Talos g1"
     try-name: g1
     treeherder-symbol: T(g1)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time:
         by-test-platform:
             linux64.*: 3600
             default: 7200
     mozharness:
         extra-options:
             - --suite=g1
@@ -145,17 +145,17 @@ talos-g3:
     try-name: g3
     treeherder-symbol: T(g3)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 900
     mozharness:
         extra-options:
             - --suite=g3
 
 talos-g4:
     description: "Talos g4"
@@ -163,17 +163,17 @@ talos-g4:
     treeherder-symbol: T(g4)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             windows10-64-ux/opt: ['try', 'mozilla-central']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time:
         by-test-platform:
             linux64.*: 1500
             default: 1800
     mozharness:
         extra-options:
             - --suite=g4
@@ -183,17 +183,17 @@ talos-g5:
     try-name: g5
     treeherder-symbol: T(g5)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     mozharness:
         extra-options:
             - --suite=g5
     max-run-time:
         by-test-platform:
             linux64.*: 1200
             default: 1800
@@ -201,17 +201,17 @@ talos-g5:
 talos-h1:
     description: "Talos h1"
     try-name: h1
     treeherder-symbol: T(h1)
     run-on-projects:
         by-test-platform:
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     mozharness:
         extra-options:
             - --suite=h1
     max-run-time:
         by-test-platform:
             linux64.*: 900
             default: 1800
@@ -219,17 +219,17 @@ talos-h1:
 talos-h2:
     description: "Talos h2"
     try-name: h2
     treeherder-symbol: T(h2)
     run-on-projects:
         by-test-platform:
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time:
         by-test-platform:
             linux64.*: 900
             default: 7200
     mozharness:
         extra-options:
             - --suite=h2
@@ -237,17 +237,17 @@ talos-h2:
 talos-motionmark:
     description: "Talos motionmark"
     try-name: motionmark
     treeherder-symbol: T(mm)
     run-on-projects:
         by-test-platform:
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-central', 'try']
     max-run-time: 3600
     tier:
         by-test-platform:
             windows10-64-ccov/.*: 3
             windows10-aarch64/.*: 2
             linux64-ccov/.*: 3
             default: 2
@@ -260,134 +260,134 @@ talos-other:
     try-name: other
     treeherder-symbol: T(o)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 1500
     mozharness:
         extra-options:
             - --suite=other
 
 talos-sessionrestore-many-windows:
     description: "Talos sessionrestore-many-windows"
     try-name: sessionrestore-many-windows
     treeherder-symbol: T(smw)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-central', 'try']
     max-run-time: 1500
     mozharness:
         extra-options:
             - --suite=sessionrestore-many-windows
 
 talos-perf-reftest:
     description: "Talos perf-reftest"
     try-name: perf-reftest
     treeherder-symbol: T(p)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['trunk', 'try']
     max-run-time: 1200
     mozharness:
         extra-options:
             - --suite=perf-reftest
 
 talos-perf-reftest-singletons:
     description: "Talos perf-reftest singletons"
     try-name: perf-reftest-singletons
     treeherder-symbol: T(ps)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['trunk', 'try']
     max-run-time: 1200
     mozharness:
         extra-options:
             - --suite=perf-reftest-singletons
 
 talos-speedometer:
     description: "Talos speedometer"
     try-name: speedometer
     treeherder-symbol: T(sp)
     run-on-projects:
         by-test-platform:
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 1500
     mozharness:
         extra-options:
             - --suite=speedometer
 
 talos-svgr:
     description: "Talos svgr"
     try-name: svgr
     treeherder-symbol: T(s)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 1800
     mozharness:
         extra-options:
             - --suite=svgr
 
 talos-tp5o:
     description: "Talos tp5o"
     try-name: tp5o
     treeherder-symbol: T(tp)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     max-run-time: 1800
     mozharness:
         extra-options:
             - --suite=tp5o
 
 talos-tp6:
     description: "Talos tp6"
     try-name: tp6
     treeherder-symbol: T(tp6)
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['trunk', 'try']
     max-run-time: 1200
     mozharness:
         extra-options:
             - --suite=tp6
 
 talos-tp6-stylo-threads:
     description: "Talos Stylo sequential tp6"
@@ -395,34 +395,34 @@ talos-tp6-stylo-threads:
     treeherder-symbol: Tss(tp6)
     max-run-time: 1200
     run-on-projects:
         by-test-platform:
             linux64-ccov/.*: ['try']
             windows10-64-ccov/.*: ['try']
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     mozharness:
         extra-options:
             - --suite=tp6-stylo-threads
 
 talos-tabswitch:
     description: "Talos page scroll (tabswitch)"
     try-name: tabswitch
     treeherder-symbol: T(tabswitch)
     max-run-time: 900
     run-on-projects:
         by-test-platform:
             windows10-64-ccov/.*: ['try']
             linux64-ccov/.*: ['try']  # Bug 1407593
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
             windows10-aarch64/opt: ['mozilla-central', 'try']
-            macosx64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-shippable)?(?:-qr)?/opt: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'trunk', 'try']
     mozharness:
         extra-options:
             - --suite=tabswitch
 
 talos-xperf:
     description: "Talos xperf"
     try-name: xperf
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -271,49 +271,88 @@ windows10-64-shippable-qr/opt:
         - windows-qr-tests
         - windows-talos
         - raptor-firefox
         - web-platform-tests
 
 ##
 # MacOS X platforms (matching /macosx.*/)
 
-macosx64/debug:
+# macosx1014-64-shippable/opt:
+#    build-platform: macosx64-shippable/opt
+#    test-sets:
+#        - macosx1014-64-tests
+#        - macosx64-talos
+#        - desktop-screenshot-capture
+#        - awsy
+#        - raptor-chromium
+#        - raptor-firefox
+#        - raptor-profiling
+#        - marionette-media-tests
+
+# macosx1014-64/debug:
+#    build-platform: macosx64-shippable/opt
+#    test-sets:
+#        - macosx1014-64-tests
+#        - marionette-media-tests
+
+# macosx1014-64-devedition/opt:
+#    build-platform: macosx64-devedition-nightly/opt
+#    test-sets:
+#        - macosx1014-64-tests
+
+# macosx1014-64-shippable-qr/opt:
+#    build-platform: macosx64-shippable/opt
+#    test-sets:
+#        - macosx1014-64-qr-tests
+
+# macosx1014-64-qr/debug:
+#    build-platform: macosx64/debug
+#    test-sets:
+#        - macosx1014-64-qr-tests
+
+# macosx1014-64-ccov/debug:
+#    build-platform: macosx64-ccov/debug
+#    test-sets:
+#        - macosx1014-64-tests
+
+macosx1010-64/debug:
     build-platform: macosx64/debug
     test-sets:
         - macosx64-tests
         - marionette-media-tests
 
-macosx64-shippable/opt:
+macosx1010-64-shippable/opt:
     build-platform: macosx64-shippable/opt
     test-sets:
         - macosx64-talos
         - macosx64-tests
         - desktop-screenshot-capture
         - awsy
         - raptor-chromium
         - raptor-firefox
         - raptor-profiling
         - marionette-media-tests
-macosx64-devedition/opt:
+
+macosx1010-64-devedition/opt:
     build-platform: macosx64-devedition-nightly/opt
     test-sets:
         - macosx64-tests
 
-macosx64-shippable-qr/opt:
+macosx1010-64-shippable-qr/opt:
     build-platform: macosx64-shippable/opt
     test-sets:
         - macosx64-qr-tests
 
-macosx64-qr/debug:
+macosx1010-64-qr/debug:
     build-platform: macosx64/debug
     test-sets:
         - macosx64-qr-tests
 
-macosx64-ccov/debug:
+macosx1010-64-ccov/debug:
     build-platform: macosx64-ccov/debug
     test-sets:
         - macosx64-tests
 
 ##
 # Android platforms (matching /android-em.*/)
 #
 # android-em test platforms execute on android emulators.
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -303,16 +303,51 @@ windows-talos:
     # - talos-h1 Bug 1487031 - Disabled for not finding actionable regressions
 
 marionette-gpu-tests:
     - marionette-gpu
 
 marionette-media-tests:
     - marionette-media
 
+# macosx1014-64-tests:
+#    - cppunit
+#    - crashtest
+#    - firefox-ui-functional-local
+#    - firefox-ui-functional-remote
+#    - gtest
+#    - jittest
+#    - jsreftest
+#    - marionette
+#    - mochitest
+#    - mochitest-a11y
+#    - mochitest-browser-chrome
+#    - mochitest-chrome
+#    - mochitest-devtools-chrome
+#    - mochitest-devtools-webreplay
+#    - mochitest-gpu
+#    - mochitest-media
+#    - mochitest-webgl1-core
+#    - mochitest-webgl1-ext
+#    - mochitest-webgl2-core
+#     - mochitest-webgl2-ext test  # timeouts
+#    - reftest
+#    - telemetry-tests-client
+#    - test-verify
+#    - test-verify-gpu
+#    - test-verify-wpt
+#    - web-platform-tests
+#    - web-platform-tests-reftests
+#    - web-platform-tests-wdspec
+#    - xpcshell
+
+# macosx1014-64-qr-tests:
+#    - crashtest
+#    - reftest
+
 macosx64-tests:
     - cppunit
     - crashtest
     - firefox-ui-functional-local
     - firefox-ui-functional-remote
     - gtest
     - jittest
     - jsreftest
--- a/taskcluster/ci/test/web-platform.yml
+++ b/taskcluster/ci/test/web-platform.yml
@@ -37,26 +37,24 @@ job-defaults:
 web-platform-tests:
     description: "Web platform test run"
     suite: web-platform-tests
     treeherder-symbol: W(wpt)
     chunks:
         by-test-platform:
             android.*: 18
             linux.*/debug: 18
-            macosx64.*/opt: 8
-            macosx64/debug: 16
+            macosx*/opt: 8
+            macosx.*/debug: 16
             windows10.*/debug: 18
             windows10-aarch64/opt: 12
-            macosx64-ccov/debug: 24
             default: 12
     max-run-time:
         by-test-platform:
-            linux64-ccov/debug: 10800
-            windows10-64-ccov/debug: 10800
+            .*-ccov/debug: 10800
             default: 7200
     e10s:
         by-test-platform:
             linux32/debug: both
             default: true
     run-on-projects:
         by-test-platform:
             android.*: ['mozilla-central', 'try']
@@ -77,18 +75,18 @@ web-platform-tests:
             - --test-type=testharness
 
 web-platform-tests-headless:
     description: "Web platform test headless run"
     suite: web-platform-tests
     treeherder-symbol: W(wptH)
     chunks:
         by-test-platform:
-            macosx64.*/opt: 8
-            macosx64/debug: 16
+            macosx.*/opt: 8
+            macosx.*/debug: 16
     e10s:
         by-test-platform:
             macosx.*: true
             default: true
     max-run-time: 7200
     run-on-projects: []  # disabled pending releng approval
     mozharness:
         chunked: true
@@ -109,17 +107,17 @@ web-platform-tests-reftests:
         name: web-platform-tests-reftests
     schedules-component: web-platform-tests-reftests
     treeherder-symbol: W(Wr)
     chunks:
         by-test-platform:
             .*-ccov/debug: 8
             linux64(-qr|-asan)/.*: 6
             linux64(-shippable|-devedition)?/opt: 3
-            macosx64/debug: 6
+            macosx10(10|14)-64/debug: 6
             windows.*-(32|64)(-qr)?/debug: 5
             android.*: 6
             default: 4
     e10s:
         by-test-platform:
             linux32/debug: both
             default: true
     run-on-projects:
@@ -164,18 +162,17 @@ web-platform-tests-reftests-headless:
 web-platform-tests-wdspec:
     description: "Web platform webdriver-spec run"
     suite:
         name: web-platform-tests-wdspec
     schedules-component: web-platform-tests-wdspec
     treeherder-symbol: W(Wd)
     chunks:
         by-test-platform:
-            linux64-ccov/debug: 4
-            windows10-64-ccov/debug: 4
+            .*-ccov/debug: 4
             default: 2
     mozharness:
         extra-options:
             - --test-type=wdspec
     run-on-projects:
         by-test-platform:
             windows10-aarch64/opt: ['try', 'mozilla-central']
             android.*: ['mozilla-central', 'try']
@@ -216,17 +213,17 @@ test-verify-wpt:
     treeherder-symbol: TVw
     max-run-time: 10800
     run-on-projects:
         by-test-platform:
             # do not run on ccov
             .*-ccov/.*: []
             .*-asan/.*: []
             (?:windows10-64|windows7-32|linux64)(?:-qr)?/opt: ['mozilla-central', 'try']
-            macosx64(?:-qr)?/opt: ['mozilla-central', 'try']
+            macosx.*64(?:-qr)?/opt: ['mozilla-central', 'try']
             # do not run on beta or release: usually just confirms earlier results
             default: ['trunk', 'try']
     tier: 2
     mozharness:
         extra-options:
             - --verify
 
 test-coverage-wpt:
--- a/taskcluster/ci/test/xpcshell.yml
+++ b/taskcluster/ci/test/xpcshell.yml
@@ -42,20 +42,19 @@ xpcshell:
             windows10-64-asan/opt: []  # No XPCShell on ASAN yet
             windows10-aarch64/opt: ['try', 'mozilla-central']
             android-em-4.3-arm7-api-16/opt: ['try']
             default: built-projects
     chunks:
         by-test-platform:
             android-em-4.3-arm7-api-16/.*: 8
             android-em-7.*: 3
-            macosx64-ccov/debug: 8
-            macosx.*/.*: 2
+            macosx10(10|14)-64/.*: 2
             linux64(-qr)?/debug: 6
-            (linux.*|windows.*)-ccov/debug: 6
+            .*-ccov/debug: 6
             windows(7-32|10-64)(-shippable|-devedition|-asan|.*-qr)?/.*: 2
             windows10-aarch64/opt: 3
             default: 5
     instance-size:
         by-test-platform:
             android-em.*: xlarge
             default: default
     max-run-time:
--- a/taskcluster/taskgraph/transforms/job/mozharness_test.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py
@@ -307,16 +307,22 @@ def mozharness_test_on_generic_worker(co
             'mozharness\\scripts\\' + normpath(mozharness['script'])
         ]
     elif is_bitbar:
         mh_command = [
             bitbar_wrapper,
             'bash',
             "./{}".format(bitbar_script)
         ]
+    elif is_macosx and 'macosx1014-64' in test['test-platform']:
+        mh_command = [
+            '/usr/local/bin/python2',
+            '-u',
+            'mozharness/scripts/' + mozharness['script']
+        ]
     else:
         # is_linux or is_macosx
         mh_command = [
             'python2.7',
             '-u',
             'mozharness/scripts/' + mozharness['script']
         ]
 
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -140,17 +140,18 @@ WINDOWS_WORKER_TYPES = {
       'virtual': 't-win10-64',
       'virtual-with-gpu': 't-win10-64-gpu',
       'hardware': 't-win10-64-ux',
     },
 }
 
 # os x worker types keyed by test-platform
 MACOSX_WORKER_TYPES = {
-    'macosx64': 't-osx-1010',
+    'macosx1010-64': 't-osx-1010',
+    'macosx1014-64': 'releng-hardware/gecko-t-osx-1014',
 }
 
 
 def runs_on_central(test):
     return match_run_on_projects('mozilla-central', test['run-on-projects'])
 
 
 TEST_VARIANTS = {
@@ -686,19 +687,22 @@ def set_target(config, tests):
 @transforms.add
 def set_treeherder_machine_platform(config, tests):
     """Set the appropriate task.extra.treeherder.machine.platform"""
     translation = {
         # Linux64 build platforms for asan and pgo are specified differently to
         # treeherder.
         'linux64-asan/opt': 'linux64/asan',
         'linux64-pgo/opt': 'linux64/pgo',
-        'macosx64/debug': 'osx-10-10/debug',
-        'macosx64/opt': 'osx-10-10/opt',
-        'macosx64-shippable/opt': 'osx-10-10-shippable/opt',
+        'macosx1010-64/debug': 'osx-10-10/debug',
+        'macosx1010-64/opt': 'osx-10-10/opt',
+        'macosx1010-64-shippable/opt': 'osx-10-10-shippable/opt',
+        'macosx1014-64/debug': 'osx-10-14/debug',
+        'macosx1014-64/opt': 'osx-10-14/opt',
+        'macosx1014-64-shippable/opt': 'osx-10-14-shippable/opt',
         'win64-asan/opt': 'windows10-64/asan',
         'win64-aarch64/opt': 'windows10-aarch64/opt',
         'win32-pgo/opt': 'windows7-32/pgo',
         'win64-pgo/opt': 'windows10-64/pgo',
         # The build names for Android platforms have partially evolved over the
         # years and need to be translated.
         'android-api-16/debug': 'android-em-4-3-armv7-api16/debug',
         'android-api-16-ccov/debug': 'android-em-4-3-armv7-api16-ccov/debug',
@@ -773,24 +777,32 @@ def set_tier(config, tests):
                                          'windows10-64-shippable/opt',
                                          'windows10-64-devedition/opt',
                                          'windows10-64-nightly/opt',
                                          'windows10-64-asan/opt',
                                          'windows10-64-qr/opt',
                                          'windows10-64-qr/debug',
                                          'windows10-64-pgo-qr/opt',
                                          'windows10-64-shippable-qr/opt',
-                                         'macosx64/opt',
-                                         'macosx64/debug',
-                                         'macosx64-nightly/opt',
-                                         'macosx64-shippable/opt',
-                                         'macosx64-devedition/opt',
-                                         'macosx64-qr/opt',
-                                         'macosx64-shippable-qr/opt',
-                                         'macosx64-qr/debug',
+                                         'macosx1010-64/opt',
+                                         'macosx1010-64/debug',
+                                         'macosx1010-64-nightly/opt',
+                                         'macosx1010-64-shippable/opt',
+                                         'macosx1010-64-devedition/opt',
+                                         'macosx1010-64-qr/opt',
+                                         'macosx1010-64-shippable-qr/opt',
+                                         'macosx1010-64-qr/debug',
+                                         'macosx1014-64/opt',
+                                         'macosx1014-64/debug',
+                                         'macosx1014-64-nightly/opt',
+                                         'macosx1014-64-shippable/opt',
+                                         'macosx1014-64-devedition/opt',
+                                         'macosx1014-64-qr/opt',
+                                         'macosx1014-64-shippable-qr/opt',
+                                         'macosx1014-64-qr/debug',
                                          'android-em-4.3-arm7-api-16/opt',
                                          'android-em-4.3-arm7-api-16/debug',
                                          'android-em-4.3-arm7-api-16/pgo',
                                          'android-em-4.2-x86/opt',
                                          'android-em-7.0-x86_64/opt',
                                          'android-em-7.0-x86_64/debug',
                                          'android-em-7.0-x86/opt']:
                 test['tier'] = 1
@@ -1163,18 +1175,20 @@ def set_worker_type(config, tests):
     """Set the worker type based on the test platform."""
     for test in tests:
         # during the taskcluster migration, this is a bit tortured, but it
         # will get simpler eventually!
         test_platform = test['test-platform']
         if test.get('worker-type'):
             # This test already has its worker type defined, so just use that (yields below)
             pass
-        elif test_platform.startswith('macosx'):
-            test['worker-type'] = MACOSX_WORKER_TYPES['macosx64']
+        elif test_platform.startswith('macosx1010-64'):
+            test['worker-type'] = MACOSX_WORKER_TYPES['macosx1010-64']
+        elif test_platform.startswith('macosx1014-64'):
+            test['worker-type'] = MACOSX_WORKER_TYPES['macosx1014-64']
         elif test_platform.startswith('win'):
             # figure out what platform the job needs to run on
             if test['virtualization'] == 'hardware':
                 # some jobs like talos and reftest run on real h/w - those are all win10
                 if test_platform.startswith('windows10-64-ux'):
                     win_worker_type_platform = WINDOWS_WORKER_TYPES['windows10-64-ux']
                 elif test_platform.startswith('windows10-aarch64'):
                     win_worker_type_platform = WINDOWS_WORKER_TYPES['windows10-aarch64']
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -128,17 +128,18 @@ UNITTEST_PLATFORM_PRETTY_NAMES = {
         'linux64-asan',
         'linux64-stylo-sequential'
     ],
     'Android 4.3 Emulator': ['android-em-4.3-arm7-api-16'],
     'Android 4.3 Emulator PGO': ['android-em-4-3-armv7-api16-pgo'],
     'Android 7.0 Moto G5 32bit': ['android-hw-g5-7.0-arm7-api-16'],
     'Android 8.0 Google Pixel 2 32bit': ['android-hw-p2-8.0-arm7-api-16'],
     'Android 8.0 Google Pixel 2 64bit': ['android-hw-p2-8.0-android-aarch64'],
-    '10.10': ['macosx64'],
+    '10.10': ['macosx1010-64'],
+    '10.14': ['macosx1014-64'],
     # other commonly-used substrings for platforms not yet supported with
     # in-tree taskgraphs:
     # '10.10.5': [..TODO..],
     # '10.6': [..TODO..],
     # '10.8': [..TODO..],
     # 'Android 2.3 API9': [..TODO..],
     'Windows 7':  ['windows7-32'],
     'Windows 7 VM':  ['windows7-32-vm'],
--- a/taskcluster/taskgraph/util/seta.py
+++ b/taskcluster/taskgraph/util/seta.py
@@ -96,18 +96,18 @@ class SETA(object):
 
             seta_conversions = {
                 # old: new
                 'test-linux32/opt': 'test-linux32-shippable/opt',
                 'test-linux64/opt': 'test-linux64-shippable/opt',
                 'test-linux64-pgo/opt': 'test-linux64-shippable/opt',
                 'test-linux64-pgo-qr/opt': 'test-linux64-shippable-qr/opt',
                 'test-linux64-qr/opt': 'test-linux64-shippable-qr/opt',
-                'test-macosx64/opt': 'test-macosx64-shippable/opt',
-                'test-macosx64-qr/opt': 'test-macosx64-shippable-qr',
+                'test-macosx64/opt': 'test-macosx1010-64-shippable/opt',
+                'test-macosx64-qr/opt': 'test-macosx1010-64-shippable-qr',
                 'test-windows7-32/opt': 'test-windows7-32-shippable/opt',
                 'test-windows7-32-pgo/opt': 'test-windows7-32-shippable/opt',
                 'test-windows10-64/opt': 'test-windows10-64-shippable/opt',
                 'test-windows10-64-pgo/opt': 'test-windows10-64-shippable/opt',
                 'test-windows10-64-pgo-qr/opt': 'test-windows10-64-shippable-qr/opt',
                 'test-windows10-64-qr/opt': 'test-windows10-64-shippable-qr/opt',
                 }
             # Now add new variants to the low-value set
--- a/taskcluster/taskgraph/util/workertypes.py
+++ b/taskcluster/taskgraph/util/workertypes.py
@@ -21,16 +21,17 @@ WORKER_TYPES = {
     'scriptworker-prov-v1/balrogworker-v1': ('balrog', None),
     'scriptworker-prov-v1/beetmoverworker-v1': ('beetmover', None),
     'scriptworker-prov-v1/pushapk-v1': ('push-apk', None),
     "scriptworker-prov-v1/signing-linux-v1": ('scriptworker-signing', None),
     "scriptworker-prov-v1/shipit": ('shipit', None),
     "scriptworker-prov-v1/shipit-dev": ('shipit', None),
     "scriptworker-prov-v1/treescript-v1": ('treescript', None),
     'terraform-packet/gecko-t-linux': ('docker-worker', 'linux'),
+    'releng-hardware/gecko-t-osx-1014': ('generic-worker', 'macosx'),
 }
 
 
 @memoize
 def worker_type_implementation(graph_config, worker_type):
     """Get the worker implementation and OS for the given workerType, where the
     OS represents the host system, not the target OS, in the case of
     cross-compiles."""