summaryrefslogtreecommitdiff
path: root/taskcluster/ci
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /taskcluster/ci
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloaduxp-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
Add m-esr52 at 52.6.0
Diffstat (limited to 'taskcluster/ci')
-rw-r--r--taskcluster/ci/artifact-build/kind.yml39
-rw-r--r--taskcluster/ci/build-signing/kind.yml8
-rw-r--r--taskcluster/ci/build/android.yml137
-rw-r--r--taskcluster/ci/build/kind.yml16
-rw-r--r--taskcluster/ci/build/linux.yml254
-rw-r--r--taskcluster/ci/build/macosx.yml71
-rw-r--r--taskcluster/ci/build/windows.yml122
-rw-r--r--taskcluster/ci/desktop-test/kind.yml12
-rw-r--r--taskcluster/ci/desktop-test/test-platforms.yml73
-rw-r--r--taskcluster/ci/desktop-test/test-sets.yml118
-rw-r--r--taskcluster/ci/desktop-test/tests.yml721
-rw-r--r--taskcluster/ci/docker-image/image.yml68
-rw-r--r--taskcluster/ci/docker-image/kind.yml19
-rw-r--r--taskcluster/ci/hazard/kind.yml58
-rw-r--r--taskcluster/ci/l10n/kind.yml89
-rw-r--r--taskcluster/ci/marionette-harness/kind.yml51
-rw-r--r--taskcluster/ci/source-check/doc.yml32
-rw-r--r--taskcluster/ci/source-check/kind.yml15
-rw-r--r--taskcluster/ci/source-check/mozlint.yml97
-rw-r--r--taskcluster/ci/source-check/python-tests.yml49
-rw-r--r--taskcluster/ci/spidermonkey/kind.yml199
-rw-r--r--taskcluster/ci/static-analysis/kind.yml63
-rw-r--r--taskcluster/ci/toolchain/kind.yml14
-rw-r--r--taskcluster/ci/toolchain/linux.yml66
-rw-r--r--taskcluster/ci/toolchain/windows.yml23
-rw-r--r--taskcluster/ci/upload-symbols/job-template.yml19
-rw-r--r--taskcluster/ci/upload-symbols/kind.yml19
-rw-r--r--taskcluster/ci/valgrind/kind.yml40
28 files changed, 2492 insertions, 0 deletions
diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml
new file mode 100644
index 0000000000..46e522ff5a
--- /dev/null
+++ b/taskcluster/ci/artifact-build/kind.yml
@@ -0,0 +1,39 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs:
+ linux64-artifact/opt:
+ description: "Linux64 Opt Artifact Build"
+ index:
+ product: firefox
+ job-name: linux64-artifact-opt
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ symbol: AB
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build generate-build-stats]
+ config:
+ - builds/releng_sub_linux_configs/64_artifact.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ keep-artifacts: false
+
diff --git a/taskcluster/ci/build-signing/kind.yml b/taskcluster/ci/build-signing/kind.yml
new file mode 100644
index 0000000000..89d6e02209
--- /dev/null
+++ b/taskcluster/ci/build-signing/kind.yml
@@ -0,0 +1,8 @@
+# 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/.
+
+implementation: 'taskgraph.task.signing:SigningTask'
+
+kind-dependencies:
+ - build
diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml
new file mode 100644
index 0000000000..74088e3d30
--- /dev/null
+++ b/taskcluster/ci/build/android.yml
@@ -0,0 +1,137 @@
+android-api-15/debug:
+ description: "Android 4.0 API15+ Debug"
+ index:
+ product: mobile
+ job-name:
+ buildbot: android-api-15-debug
+ gecko-v2: android-api-15-debug
+ treeherder:
+ platform: android-4-0-armv7-api15/debug
+ symbol: tc(B)
+ worker-type: aws-provisioner-v1/gecko-{level}-b-android
+ worker:
+ implementation: docker-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets build multi-l10n update]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - disable_signing.py
+ - platform_supports_post_upload_to_latest.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: api-15-debug
+ tooltool-downloads: internal
+
+android-x86/opt:
+ description: "Android 4.2 x86 Opt"
+ index:
+ product: mobile
+ job-name: android-x86-opt
+ treeherder:
+ platform: android-4-2-x86/opt
+ symbol: tc(B)
+ tier: 1
+ worker-type: aws-provisioner-v1/gecko-{level}-b-android
+ worker:
+ implementation: docker-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets build multi-l10n update]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - disable_signing.py
+ - platform_supports_post_upload_to_latest.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: x86
+ tooltool-downloads: internal
+
+android-api-15/opt:
+ description: "Android 4.0 API15+ Opt"
+ index:
+ product: mobile
+ job-name: android-api-15-opt
+ treeherder:
+ platform: android-4-0-armv7-api15/opt
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-android
+ worker:
+ implementation: docker-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets build multi-l10n update]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - disable_signing.py
+ - platform_supports_post_upload_to_latest.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: api-15
+ tooltool-downloads: internal
+
+android-api-15-nightly/opt:
+ description: "Android 4.0 API15+ Nightly"
+ attributes:
+ nightly: true
+ index:
+ product: mobile
+ job-name: android-api-15-nightly-opt
+ treeherder:
+ platform: android-4-0-armv7-api15/opt
+ symbol: tc(N)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-android
+ worker:
+ implementation: docker-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets build multi-l10n update]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - disable_signing.py
+ - platform_supports_post_upload_to_latest.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: api-15
+ tooltool-downloads: internal
+ run-on-projects: []
+
+android-api-15-gradle/opt:
+ description: "Android 4.0 API15+ (Gradle) Opt"
+ index:
+ product: mobile
+ job-name: android-api-15-gradle-opt
+ treeherder:
+ platform: android-4-0-armv7-api15/opt
+ symbol: tc(Bg)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-android
+ worker:
+ implementation: docker-worker
+ max-run-time: 7200
+ env:
+ # Bug 1292762 - Set GRADLE_USER_HOME to avoid sdk-manager-plugin intermittent
+ GRADLE_USER_HOME: /home/worker/workspace/build/src/dotgradle
+ artifacts:
+ - name: public/android/maven
+ path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+ type: directory
+ - name: public/android/geckoview_example.apk
+ path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+ type: file
+ - name: public/build
+ path: /home/worker/artifacts/
+ type: directory
+ run:
+ using: mozharness
+ actions: [get-secrets build multi-l10n update]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - disable_signing.py
+ - platform_supports_post_upload_to_latest.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: api-15-gradle
+ tooltool-downloads: internal
diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/ci/build/kind.yml
new file mode 100644
index 0000000000..acb8548c96
--- /dev/null
+++ b/taskcluster/ci/build/kind.yml
@@ -0,0 +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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - linux.yml
+ - macosx.yml
+ - windows.yml
diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml
new file mode 100644
index 0000000000..7143522c85
--- /dev/null
+++ b/taskcluster/ci/build/linux.yml
@@ -0,0 +1,254 @@
+linux64/opt:
+ description: "Linux64 Opt"
+ index:
+ product: firefox
+ job-name: linux64-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux64/pgo:
+ description: "Linux64 PGO"
+ index:
+ product: firefox
+ job-name:
+ buildbot: linux64-pgo
+ gecko-v2: linux64-pgo
+ treeherder:
+ platform: linux64/pgo
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ coalesce-name: linux64-pgo
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ options: [enable-pgo]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux64/debug:
+ description: "Linux64 Debug"
+ index:
+ product: firefox
+ job-name:
+ buildbot: linux64-debug
+ gecko-v2: linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: tc(B)
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux/opt:
+ description: "Linux32 Opt"
+ index:
+ product: firefox
+ job-name: linux-opt
+ treeherder:
+ platform: linux32/opt
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ coalesce-name: opt_linux32
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_32_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux/debug:
+ description: "Linux32 Debug"
+ index:
+ product: firefox
+ job-name: linux-debug
+ treeherder:
+ platform: linux32/debug
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ coalesce-name: dbg_linux32
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_32_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux/pgo:
+ description: "Linux32 PGO"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: linux-pgo
+ treeherder:
+ platform: linux32/pgo
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ coalesce-name: linux32-pgo
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ options: [enable-pgo]
+ config:
+ - builds/releng_base_linux_32_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux64-asan/opt:
+ description: "Linux64 Opt ASAN"
+ index:
+ product: firefox
+ job-name: linux64-asan-opt
+ treeherder:
+ platform: linux64/asan
+ symbol: tc(Bo)
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: asan-tc
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux64-asan/debug:
+ description: "Linux64 Debug ASAN"
+ index:
+ product: firefox
+ job-name: linux64-asan-debug
+ treeherder:
+ platform: linux64/asan
+ symbol: tc(Bd)
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: asan-tc-and-debug
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux64-jsdcov/opt:
+ description: "Linux64-JSDCov Opt"
+ index:
+ product: firefox
+ job-name: linux64-jsdcov-opt
+ treeherder:
+ platform: linux64/jsdcov
+ symbol: tc(B)
+ tier: 2
+ run-on-projects: [ ]
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+
+linux64-ccov/opt:
+ description: "Linux64-CCov Opt"
+ index:
+ product: firefox
+ job-name: linux64-ccov-opt
+ treeherder:
+ platform: linux64/ccov
+ symbol: tc(B)
+ tier: 2
+ run-on-projects: [ ]
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build check-test generate-build-stats update]
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: code-coverage
+ tooltool-downloads: public
+ need-xvfb: true
diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/ci/build/macosx.yml
new file mode 100644
index 0000000000..b8d03669c1
--- /dev/null
+++ b/taskcluster/ci/build/macosx.yml
@@ -0,0 +1,71 @@
+macosx64/debug:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ product: firefox
+ job-name: macosx64-debug
+ treeherder:
+ platform: osx-10-7/debug
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build generate-build-stats update]
+ config:
+ - builds/releng_base_mac_64_cross_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: cross-debug
+ tooltool-downloads: internal
+
+macosx64/opt:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ product: firefox
+ job-name: macosx64-opt
+ treeherder:
+ platform: osx-10-7/opt
+ symbol: tc(B)
+ tier: 2
+ run-on-projects: [ ]
+ worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build generate-build-stats update]
+ config:
+ - builds/releng_base_mac_64_cross_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: internal
+
+macosx64-universal/opt:
+ description: "MacOS X Universal Cross-compile"
+ index:
+ product: firefox
+ job-name: macosx64-opt
+ treeherder:
+ platform: osx-10-7/opt
+ symbol: tc(Bu)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ run:
+ using: mozharness
+ actions: [get-secrets build generate-build-stats update]
+ config:
+ - builds/releng_base_mac_64_cross_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: cross-universal
+ tooltool-downloads: internal
diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/ci/build/windows.yml
new file mode 100644
index 0000000000..a3211219ca
--- /dev/null
+++ b/taskcluster/ci/build/windows.yml
@@ -0,0 +1,122 @@
+win32/debug:
+ description: "Win32 Debug"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win32-debug
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win32_debug.py
+
+win32/opt:
+ description: "Win32 Opt"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win32-opt
+ treeherder:
+ platform: windows2012-32/opt
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win32_opt.py
+
+win32/pgo:
+ description: "Win32 Opt PGO"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win32-pgo
+ treeherder:
+ platform: windows2012-32/pgo
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 9000
+ run:
+ using: mozharness
+ options: [enable-pgo]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win32_opt.py
+
+win64/debug:
+ description: "Win64 Debug"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win64-debug
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win64_debug.py
+
+win64/opt:
+ description: "Win64 Opt"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win64-opt
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win64_opt.py
+
+win64/pgo:
+ description: "Win64 Opt PGO"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win64-pgo
+ treeherder:
+ platform: windows2012-64/pgo
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 10800
+ run:
+ using: mozharness
+ options: [enable-pgo]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win64_opt.py
+
diff --git a/taskcluster/ci/desktop-test/kind.yml b/taskcluster/ci/desktop-test/kind.yml
new file mode 100644
index 0000000000..31e305cbe1
--- /dev/null
+++ b/taskcluster/ci/desktop-test/kind.yml
@@ -0,0 +1,12 @@
+implementation: taskgraph.task.test:TestTask
+
+kind-dependencies:
+ - build
+
+transforms:
+ - taskgraph.transforms.tests.test_description:validate
+ - taskgraph.transforms.tests.desktop_test:transforms
+ - taskgraph.transforms.tests.all_kinds:transforms
+ - taskgraph.transforms.tests.test_description:validate
+ - taskgraph.transforms.tests.make_task_description:transforms
+ - taskgraph.transforms.task:transforms
diff --git a/taskcluster/ci/desktop-test/test-platforms.yml b/taskcluster/ci/desktop-test/test-platforms.yml
new file mode 100644
index 0000000000..b03d3c41d6
--- /dev/null
+++ b/taskcluster/ci/desktop-test/test-platforms.yml
@@ -0,0 +1,73 @@
+# This file maps build platforms to test platforms. In some cases, a
+# single build may be tested on multiple test platforms, but a single test
+# platform can only link to one build platform. Both build and test platforms
+# are represented as <platform>/<type>, where <type> is what Treeherder calls a
+# collection.
+#
+# Each test platform further specifies the set of tests that will be scheduled
+# for the platform, referring to tests defined in test-sets.yml.
+#
+# Note that set does not depend on the tree; tree-dependent job selection
+# should be performed in the target task selection phase of task-graph
+# generation.
+
+linux64/debug:
+ build-platform: linux64/debug
+ test-set: all-tests
+linux64/opt:
+ build-platform: linux64/opt
+ test-set: all-tests
+
+# TODO: use 'pgo' and 'asan' labels here, instead of -pgo/opt
+linux64-pgo/opt:
+ build-platform: linux64-pgo/opt
+ test-set: all-tests
+linux64-asan/opt:
+ build-platform: linux64-asan/opt
+ test-set: asan-tests
+
+linux64-ccov/opt:
+ build-platform: linux64-ccov/opt
+ test-set: ccov-code-coverage-tests
+linux64-jsdcov/opt:
+ build-platform: linux64-jsdcov/opt
+ test-set: jsdcov-code-coverage-tests
+
+# win32 vm
+windows7-32-vm/debug:
+ build-platform: win32/debug
+ test-set: windows-vm-tests
+windows7-32-vm/opt:
+ build-platform: win32/opt
+ test-set: windows-vm-tests
+
+# win32 gpu
+#windows7-32/debug:
+# build-platform: win32/debug
+# test-set: windows-gpu-tests
+#windows7-32/opt:
+# build-platform: win32/opt
+# test-set: windows-gpu-tests
+
+# win64 vm
+windows10-64-vm/debug:
+ build-platform: win64/debug
+ test-set: windows-vm-tests
+windows10-64-vm/opt:
+ build-platform: win64/opt
+ test-set: windows-vm-tests
+
+# win64 gpu
+#windows10-64/debug:
+# build-platform: win64/debug
+# test-set: windows-gpu-tests
+#windows10-64/opt:
+# build-platform: win64/opt
+# test-set: windows-gpu-tests
+
+# macosx64/debug:
+# build-platform: macosx64/debug
+# test-set: macosx64-tests
+# macosx64/opt:
+# build-platform: macosx64/opt
+# test-set: macosx64-tests
diff --git a/taskcluster/ci/desktop-test/test-sets.yml b/taskcluster/ci/desktop-test/test-sets.yml
new file mode 100644
index 0000000000..da1ea6263e
--- /dev/null
+++ b/taskcluster/ci/desktop-test/test-sets.yml
@@ -0,0 +1,118 @@
+# Each key in this file specifies a set of tests to run. Different test sets
+# may, for example, be bound to different test platforms.
+#
+# Note that set does not depend on the tree; tree-dependent job selection
+# should be performed in the target task selection phase of task-graph
+# generation.
+#
+# A test set has a name, and a list of tests that it contains.
+#
+# Test names given here reference tests.yml.
+
+all-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - gtest
+ - jittest
+ - jsreftest
+ - marionette
+ - mochitest
+ - mochitest-a11y
+ - mochitest-browser-chrome
+ - mochitest-chrome
+ - mochitest-clipboard
+ - mochitest-devtools-chrome
+ - mochitest-gpu
+ - mochitest-jetpack
+ - mochitest-media
+ - mochitest-webgl
+ - reftest
+ - reftest-no-accel
+ - web-platform-tests
+ - web-platform-tests-reftests
+ - web-platform-tests-wdspec
+ - xpcshell
+
+asan-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - gtest
+ - jittest
+ - jsreftest
+ - marionette
+ - mochitest
+ - mochitest-a11y
+ - mochitest-browser-chrome
+ - mochitest-chrome
+ - mochitest-clipboard
+ - mochitest-devtools-chrome
+ - mochitest-gpu
+ - mochitest-jetpack
+ - mochitest-media
+ - mochitest-webgl
+ - reftest
+ - reftest-no-accel
+ - xpcshell
+
+windows-vm-tests:
+ - cppunit
+ #- crashtest
+ - external-media-tests
+ #- gtest
+ #- jittest
+ #- jsreftest
+ #- marionette
+ #- mochitest
+ #- mochitest-browser-chrome
+ #- mochitest-devtools-chrome
+ #- mochitest-jetpack
+ #- mochitest-media
+ #- web-platform-tests
+ #- web-platform-tests-reftests
+ #- xpcshell
+
+# windows-gpu-tests:
+# - reftest
+# - reftest-no-accel
+# - mochitest-webgl
+
+# these tests currently run on hardware, but may migrate above when validated
+# note: on win, mochitest-a11y and mochitest-chrome come under mochitest-other
+# windows-hw-tests:
+# - mochitest-clipboard
+# - mochitest-gpu
+# - mochitest-other
+
+ccov-code-coverage-tests:
+ - mochitest
+ - mochitest-browser-chrome
+ - mochitest-devtools-chrome
+ - xpcshell
+
+jsdcov-code-coverage-tests:
+ - mochitest-browser-chrome
+ - mochitest-devtools-chrome
+
+macosx64-tests:
+ - cppunit
+ - crashtest
+ # - gtest
+ - jsreftest
+ # - marionette
+ # - mochitest
+ # - mochitest-browser-chrome
+ # - mochitest-clipboard
+ # - mochitest-devtools-chrome
+ # - mochitest-gpu
+ # - mochitest-jetpack
+ # - mochitest-media
+ # - mochitest-other
+ - mochitest-webgl
+ # - reftest
+ # - web-platform-tests
+ # - web-platform-tests-reftests
+ # - xpcshell
diff --git a/taskcluster/ci/desktop-test/tests.yml b/taskcluster/ci/desktop-test/tests.yml
new file mode 100644
index 0000000000..edfb30909d
--- /dev/null
+++ b/taskcluster/ci/desktop-test/tests.yml
@@ -0,0 +1,721 @@
+# Each stanza here describes a particular test suite or sub-suite. These are
+# processed through the transformations described in kind.yml to produce a
+# bunch of tasks. See the schema in `test-descriptions.py` for a description
+# of the fields used here.
+
+# Note that these are in lexical order
+
+cppunit:
+ description: "CPP Unit Tests"
+ suite: cppunittest
+ treeherder-symbol: tc(Cpp)
+ e10s: false
+ run-on-projects:
+ by-test-platform:
+ windows.*: ['mozilla-central', 'try']
+ default: ['all']
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --cppunittest-suite=cppunittest
+
+crashtest:
+ description: "Crashtest run"
+ suite: reftest/crashtest
+ treeherder-symbol: tc-R(C)
+ docker-image: {"in-tree": "desktop1604-test"}
+ e10s:
+ by-test-platform:
+ # Bug 1304435
+ win.*: false
+ default: both
+ mozharness:
+ script: desktop_unittest.py
+ chunked: true
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --reftest-suite=crashtest
+
+external-media-tests:
+ description: "External Media Test run"
+ suite: external-media-tests
+ treeherder-symbol: tc-VP(b-m)
+ e10s: false
+ tier: 2
+ max-run-time: 5400
+ run-on-projects:
+ by-test-platform:
+ windows.*: ['mozilla-central', 'try']
+ default: ['all']
+ mozharness:
+ script: firefox_media_tests_taskcluster.py
+ config:
+ by-test-platform:
+ win.*:
+ - mediatests/taskcluster_windows_config.py
+ default:
+ - mediatests/taskcluster_posix_config.py
+ - remove_executables.py
+
+firefox-ui-functional-local:
+ description: "Firefox-ui-tests functional run"
+ suite: "firefox-ui/functional local"
+ treeherder-symbol: tc-Fxfn-l(en-US)
+ max-run-time: 5400
+ tier: 1
+ docker-image: {"in-tree": "desktop1604-test"}
+ mozharness:
+ script: firefox_ui_tests/functional.py
+ config:
+ - firefox_ui_tests/taskcluster.py
+ - remove_executables.py
+ extra-options:
+ - "--tag"
+ - "local"
+
+firefox-ui-functional-remote:
+ description: "Firefox-ui-tests functional run"
+ suite: "firefox-ui/functional remote"
+ treeherder-symbol: tc-Fxfn-r(en-US)
+ max-run-time: 5400
+ tier: 2
+ docker-image: {"in-tree": "desktop1604-test"}
+ mozharness:
+ script: firefox_ui_tests/functional.py
+ config:
+ - firefox_ui_tests/taskcluster.py
+ - remove_executables.py
+ extra-options:
+ - "--tag"
+ - "remote"
+
+gtest:
+ description: "GTests run"
+ suite: gtest
+ treeherder-symbol: tc(GTest)
+ e10s: false
+ instance-size: xlarge
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --gtest-suite=gtest
+
+jittest:
+ description: "JIT Test run"
+ suite: jittest/jittest-chunked
+ treeherder-symbol: tc(Jit)
+ e10s: false
+ chunks:
+ by-test-platform:
+ win.*: 1
+ default: 6
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --jittest-suite=jittest-chunked
+
+jsreftest:
+ description: "JS Reftest run"
+ suite: reftest/jsreftest
+ treeherder-symbol: tc-R(J)
+ chunks:
+ by-test-platform:
+ win.*: 1
+ default: 2
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --reftest-suite=jsreftest
+
+marionette:
+ description: "Marionette unittest run"
+ suite: marionette
+ treeherder-symbol: tc(Mn)
+ max-run-time: 5400
+ docker-image: {"in-tree": "desktop1604-test"}
+ mozharness:
+ script: marionette.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - marionette/windows_taskcluster_config.py
+ default:
+ - marionette/prod_config.py
+ - remove_executables.py
+
+mochitest:
+ description: "Mochitest plain run"
+ suite: mochitest/plain-chunked
+ treeherder-symbol: tc-M()
+ loopback-video: true
+ run-on-projects:
+ by-test-platform:
+ linux64-ccov/opt: []
+ default: ['all']
+ chunks:
+ by-test-platform:
+ macosx.*: 5
+ win.*: 5
+ default: 10
+ e10s:
+ by-test-platform:
+ linux64-ccov/opt: false
+ default: both
+ max-run-time: 5400
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ by-test-platform:
+ linux64-ccov/opt:
+ - --mochitest-suite=plain-chunked
+ - --code-coverage
+ default:
+ - --mochitest-suite=plain-chunked
+ # Bug 1281241: migrating to m3.large instances
+ instance-size: legacy
+ allow-software-gl-layers: false
+
+mochitest-a11y:
+ description: "Mochitest a11y run"
+ suite: mochitest/a11y
+ treeherder-symbol: tc-M(a11y)
+ loopback-video: true
+ e10s: false
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=a11y
+
+mochitest-browser-chrome:
+ description: "Mochitest browser-chrome run"
+ suite:
+ by-test-platform:
+ linux64-jsdcov/opt: mochitest/browser-chrome-coverage
+ default: mochitest/browser-chrome-chunked
+ treeherder-symbol: tc-M(bc)
+ loopback-video: true
+ run-on-projects:
+ by-test-platform:
+ linux64-jsdcov/opt: []
+ linux64-ccov/opt: []
+ default: ['all']
+ chunks:
+ by-test-platform:
+ linux64-jsdcov/opt: 35
+ default: 10
+ e10s:
+ by-test-platform:
+ linux64-jsdcov/opt: false
+ linux64-ccov/opt: false
+ default: both
+ max-run-time:
+ by-test-platform:
+ linux64-jsdcov/opt: 7200
+ linux64-ccov/opt: 7200
+ linux64/debug: 5400
+ default: 3600
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ by-test-platform:
+ linux64-jsdcov/opt:
+ - --mochitest-suite=browser-chrome-coverage
+ linux64-ccov/opt:
+ - --mochitest-suite=browser-chrome-chunked
+ - --code-coverage
+ default:
+ - --mochitest-suite=browser-chrome-chunked
+ # Bug 1281241: migrating to m3.large instances
+ instance-size:
+ by-test-platform:
+ linux64-jsdcov/opt: xlarge
+ linux64-ccov/opt: xlarge
+ default: legacy
+ allow-software-gl-layers: false
+
+mochitest-chrome:
+ description: "Mochitest chrome run"
+ suite: mochitest/chrome
+ treeherder-symbol: tc-M(c)
+ loopback-video: true
+ chunks:
+ by-test-platform:
+ macosx.*: 1
+ default: 3
+ e10s: false
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=chrome
+
+mochitest-clipboard:
+ description: "Mochitest clipboard run"
+ suite: mochitest/plain-clipboard,chrome-clipboard,browser-chrome-clipboard,jetpack-package-clipboard
+ treeherder-symbol: tc-M(cl)
+ loopback-video: true
+ instance-size: xlarge
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=plain-clipboard,chrome-clipboard,browser-chrome-clipboard,jetpack-package-clipboard
+
+mochitest-devtools-chrome:
+ description: "Mochitest devtools-chrome run"
+ suite:
+ by-test-platform:
+ linux64-jsdcov/opt: mochitest/mochitest-devtools-chrome-coverage
+ default: mochitest/mochitest-devtools-chrome-chunked
+ treeherder-symbol: tc-M(dt)
+ loopback-video: true
+ max-run-time: 5400
+ chunks:
+ by-test-platform:
+ win.*: 8
+ default: 10
+ run-on-projects:
+ by-test-platform:
+ linux64-ccov/opt: []
+ linux64-jsdcov/opt: []
+ windows.*: ['mozilla-central', 'try']
+ default: ['all']
+ e10s:
+ by-test-platform:
+ # Bug 1242986: linux64/debug mochitest-devtools-chrome e10s is not greened up yet
+ linux64/debug: false
+ linux64-ccov/opt: false
+ linux64-jsdcov/opt: false
+ default: both
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ by-test-platform:
+ linux64-ccov/opt:
+ - --mochitest-suite=mochitest-devtools-chrome-chunked
+ - --code-coverage
+ linux64-jsdcov:
+ - --mochitest-suite=mochitest-devtools-chrome-coverage
+ default:
+ - --mochitest-suite=mochitest-devtools-chrome-chunked
+ instance-size:
+ by-test-platform:
+ # Bug 1281241: migrating to m3.large instances
+ linux64-asan/opt: legacy
+ default: default
+ # Bug 1296086: high number of intermittents observed with software GL and large instances
+ allow-software-gl-layers: false
+
+mochitest-gpu:
+ description: "Mochitest GPU run"
+ suite: mochitest/plain-gpu,chrome-gpu,browser-chrome-gpu
+ treeherder-symbol: tc-M(gpu)
+ loopback-video: true
+ e10s:
+ by-test-platform:
+ win.*: both
+ default: true
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=plain-gpu,chrome-gpu,browser-chrome-gpu
+
+mochitest-jetpack:
+ description: "Mochitest jetpack run"
+ suite: mochitest/jetpack-package
+ treeherder-symbol: tc-M(JP)
+ loopback-video: true
+ e10s: false
+ max-run-time: 5400
+ run-on-projects:
+ by-test-platform:
+ windows.*: ['mozilla-central', 'try']
+ default: ['all']
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=jetpack-package
+ - --mochitest-suite=jetpack-addon
+
+mochitest-media:
+ description: "Mochitest media run"
+ suite: mochitest/mochitest-media
+ treeherder-symbol: tc-M(mda)
+ max-run-time: 5400
+ loopback-video: true
+ instance-size: large
+ docker-image: {"in-tree": "desktop1604-test"}
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=mochitest-media
+
+mochitest-other:
+ description: "Mochitest other"
+ suite: mochitest/other
+ treeherder-symbol: tc-M(oth)
+ e10s: false
+ max-run-time: 5400
+ mozharness:
+ script: mozharness/scripts/desktop_unittest.py
+ no-read-buildbot-config: true
+ include-blob-upload-branch: true
+ chunked: true
+ config:
+ by-test-platform:
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=chrome,a11y
+
+mochitest-webgl:
+ description: "Mochitest webgl run"
+ suite: mochitest/mochitest-gl
+ treeherder-symbol: tc-M(gl)
+ chunks: 3
+ loopback-video: true
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ chunked: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --mochitest-suite=mochitest-gl
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+
+reftest:
+ description: "Reftest run"
+ suite: reftest/reftest
+ treeherder-symbol: tc-R(R)
+ docker-image: {"in-tree": "desktop1604-test"}
+ chunks:
+ by-test-platform:
+ macosx.*: 1
+ default: 8
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --reftest-suite=reftest
+
+reftest-no-accel:
+ description: "Reftest not accelerated run"
+ suite: reftest/reftest-no-accel
+ treeherder-symbol: tc-R(Ru)
+ docker-image: {"in-tree": "desktop1604-test"}
+ chunks:
+ by-test-platform:
+ macosx.*: 1
+ default: 8
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ - --reftest-suite=reftest-no-accel
+
+web-platform-tests:
+ description: "Web platform test run"
+ suite: web-platform-tests
+ treeherder-symbol: tc-W()
+ chunks:
+ by-test-platform:
+ macosx.*: 5
+ default: 12
+ max-run-time: 7200
+ instance-size: xlarge
+ docker-image: {"in-tree": "desktop1604-test"}
+ checkout: true
+ run-on-projects:
+ by-test-platform:
+ windows.*: ['mozilla-central', 'try']
+ default: ['all']
+ mozharness:
+ script: web_platform_tests.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - web_platform_tests/prod_config_windows_taskcluster.py
+ default:
+ - web_platform_tests/prod_config.py
+ - remove_executables.py
+ extra-options:
+ - --test-type=testharness
+
+web-platform-tests-reftests:
+ description: "Web platform reftest run"
+ suite: web-platform-tests-reftests
+ treeherder-symbol: tc-W(Wr)
+ max-run-time: 5400
+ instance-size: xlarge
+ docker-image: {"in-tree": "desktop1604-test"}
+ checkout: true
+ run-on-projects:
+ by-test-platform:
+ windows.*: ['mozilla-central', 'try']
+ default: ['all']
+ mozharness:
+ script: web_platform_tests.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - web_platform_tests/prod_config_windows_taskcluster.py
+ default:
+ - web_platform_tests/prod_config.py
+ - remove_executables.py
+ extra-options:
+ - --test-type=reftest
+
+web-platform-tests-wdspec:
+ description: "Web platform webdriver-spec run"
+ suite: web-platform-tests-wdspec
+ treeherder-symbol: tc-W(Wd)
+ max-run-time: 5400
+ instance-size: xlarge
+ docker-image: {"in-tree": "desktop1604-test"}
+ checkout: true
+ mozharness:
+ script: web_platform_tests.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - web_platform_tests/prod_config_windows_taskcluster.py
+ default:
+ - web_platform_tests/prod_config.py
+ - remove_executables.py
+ extra-options:
+ - --test-type=wdspec
+
+xpcshell:
+ description: "xpcshell test run"
+ suite: xpcshell
+ treeherder-symbol: tc-X()
+ run-on-projects:
+ by-test-platform:
+ linux64-ccov/opt: []
+ default: ['all']
+ chunks:
+ by-test-platform:
+ # win.*: 1
+ macosx.*: 1
+ linux64/debug: 10
+ default: 8
+ max-run-time: 5400
+ e10s: false
+ mozharness:
+ script: desktop_unittest.py
+ no-read-buildbot-config: true
+ config:
+ by-test-platform:
+ win.*:
+ - unittests/win_taskcluster_unittest.py
+ macosx.*:
+ - remove_executables.py
+ - unittests/mac_unittest.py
+ default:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ extra-options:
+ by-test-platform:
+ linux64-ccov/opt:
+ - --xpcshell-suite=xpcshell
+ - --code-coverage
+ default:
+ - --xpcshell-suite=xpcshell
+ # Bug 1281241: migrating to m3.large instances
+ instance-size: legacy
+ allow-software-gl-layers: false
diff --git a/taskcluster/ci/docker-image/image.yml b/taskcluster/ci/docker-image/image.yml
new file mode 100644
index 0000000000..f9a1113f02
--- /dev/null
+++ b/taskcluster/ci/docker-image/image.yml
@@ -0,0 +1,68 @@
+---
+task:
+ created:
+ relative-datestamp: "0 seconds"
+ deadline:
+ relative-datestamp: "24 hours"
+ metadata:
+ name: 'Docker Image Build: {{image_name}}'
+ description: 'Build the docker image {{image_name}} for use by dependent tasks'
+ source: '{{source}}'
+ owner: mozilla-taskcluster-maintenance@mozilla.com
+ tags:
+ createdForUser: '{{owner}}'
+
+ workerType: taskcluster-images
+ provisionerId: aws-provisioner-v1
+ schedulerId: task-graph-scheduler
+
+ routes:
+ # Indexing routes to avoid building the same image twice
+ - index.{{index_image_prefix}}.level-{{level}}.{{image_name}}.latest
+ - index.{{index_image_prefix}}.level-{{level}}.{{image_name}}.pushdate.{{year}}.{{month}}-{{day}}-{{pushtime}}
+ - index.{{index_image_prefix}}.level-{{level}}.{{image_name}}.hash.{{context_hash}}
+ # Treeherder routes
+ - tc-treeherder.v2.{{project}}.{{head_rev}}.{{pushlog_id}}
+ - tc-treeherder-stage.v2.{{project}}.{{head_rev}}.{{pushlog_id}}
+
+ scopes:
+ - secrets:get:project/taskcluster/gecko/hgfingerprint
+ - docker-worker:cache:level-{{level}}-imagebuilder-v1
+
+ payload:
+ env:
+ HASH: '{{context_hash}}'
+ PROJECT: '{{project}}'
+ CONTEXT_URL: '{{context_url}}'
+ IMAGE_NAME: '{{image_name}}'
+ GECKO_BASE_REPOSITORY: '{{base_repository}}'
+ GECKO_HEAD_REPOSITORY: '{{head_repository}}'
+ GECKO_HEAD_REV: '{{head_rev}}'
+ HG_STORE_PATH: '/home/worker/checkouts/hg-store'
+ cache:
+ 'level-{{level}}-imagebuilder-v1': '/home/worker/checkouts'
+ features:
+ dind: true
+ chainOfTrust: true
+ taskclusterProxy: true
+ image: '{{#docker_image}}image_builder{{/docker_image}}'
+ maxRunTime: 3600
+ artifacts:
+ '{{artifact_path}}':
+ type: 'file'
+ path: '/home/worker/workspace/artifacts/image.tar.zst'
+ expires:
+ relative-datestamp: "1 year"
+ extra:
+ imageMeta: # Useful when converting back from JSON in action tasks
+ level: '{{level}}'
+ contextHash: '{{context_hash}}'
+ imageName: '{{image_name}}'
+ treeherderEnv:
+ - staging
+ - production
+ treeherder:
+ jobKind: other
+ build:
+ platform: 'taskcluster-images'
+ groupSymbol: 'I'
diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml
new file mode 100644
index 0000000000..d1c118c8ee
--- /dev/null
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -0,0 +1,19 @@
+# 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/.
+
+implementation: 'taskgraph.task.docker_image:DockerImageTask'
+images_path: '../../../testing/docker'
+
+# make a task for each docker-image we might want. For the moment, since we
+# write artifacts for each, these are whitelisted, but ideally that will change
+# (to use subdirectory clones of the proper directory), at which point we can
+# generate tasks for every docker image in the directory, secure in the
+# knowledge that unnecessary images will be omitted from the target task graph
+images:
+ desktop-test: dt
+ desktop1604-test: dt16t
+ desktop-build: db
+ tester: tst
+ lint: lnt
+ android-gradle-build: agb
diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/ci/hazard/kind.yml
new file mode 100644
index 0000000000..4849cdbd64
--- /dev/null
+++ b/taskcluster/ci/hazard/kind.yml
@@ -0,0 +1,58 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ kind: build
+ tier: 1
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ docker-image: {in-tree: desktop-build}
+
+jobs:
+ linux64-shell-haz/debug:
+ description: "JS Shell Hazard Analysis Linux"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: shell-haz-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM-tc(H)
+ run:
+ using: hazard
+ tooltool-manifest: "browser/config/tooltool-manifests/linux64/hazard.manifest"
+ command: >
+ cd /home/worker/checkouts/gecko/taskcluster/scripts/builder
+ && ./build-haz-linux.sh --project shell $HOME/workspace
+ when:
+ files-changed:
+ - js/public/**
+ - js/src/**
+
+ linux64-haz/debug:
+ description: "Browser Hazard Analysis Linux"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: browser-haz-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: tc(H)
+ run:
+ using: hazard
+ tooltool-manifest: "browser/config/tooltool-manifests/linux64/hazard.manifest"
+ mozconfig: "browser/config/mozconfigs/linux64/hazards"
+ command: >
+ cd /home/worker/checkouts/gecko/taskcluster/scripts/builder
+ && ./build-haz-linux.sh --project browser $HOME/workspace
diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/ci/l10n/kind.yml
new file mode 100644
index 0000000000..dfd011e9a6
--- /dev/null
+++ b/taskcluster/ci/l10n/kind.yml
@@ -0,0 +1,89 @@
+# 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/.
+
+# NOTE: please write a description of this kind in taskcluster/docs/kinds.rst
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.l10n:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ kind: build
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 36000
+
+ # don't run anywhere by default, but still available via try
+ run-on-projects: []
+ run:
+ # NOTE: this should really be a different "using" since it's using
+ # build-l10n.sh instead of build-linux.sh. Preferably, build-linux.sh
+ # and the mozharness run implementation should be modified to support
+ # the functionality that l10n needs
+ using: mozharness
+ job-script: taskcluster/scripts/builder/build-l10n.sh
+ when:
+ files-changed:
+ - browser/locales/all-locales
+ - python/compare-locales/**
+ - testing/mozharness/configs/single_locale/**
+ - testing/mozharness/mozharness/mozilla/l10n/locales.py
+ - testing/mozharness/scripts/desktop_l10n.py
+ - toolkit/locales/**
+ - toolkit/mozapps/installer/**
+
+jobs:
+ linux-l10n/opt:
+ description: "Localization"
+ index:
+ job-name:
+ gecko-v2: linux32-l10n-opt
+ treeherder:
+ platform: linux32/opt
+ symbol: tc(L10n)
+ run:
+ script: mozharness/scripts/desktop_l10n.py
+ actions: [clone-locales list-locales setup repack summary]
+ config:
+ - single_locale/tc_linux32.py
+ options:
+ - environment-config=single_locale/production.py
+ - branch-config=single_locale/{project}.py
+ - platform-config=single_locale/linux32.py
+ - total-chunks=1
+ - this-chunk=1
+ tooltool-downloads: public
+ need-xvfb: true
+
+ linux64-l10n/opt:
+ description: "Localization"
+ index:
+ job-name:
+ gecko-v2: linux64-l10n-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: tc(L10n)
+ run:
+ script: mozharness/scripts/desktop_l10n.py
+ actions: [clone-locales list-locales setup repack summary]
+ config:
+ - single_locale/tc_linux64.py
+ options:
+ - environment-config=single_locale/production.py
+ - branch-config=single_locale/{project}.py
+ - platform-config=single_locale/linux64.py
+ - total-chunks=1
+ - this-chunk=1
+ tooltool-downloads: public
+ need-xvfb: true
diff --git a/taskcluster/ci/marionette-harness/kind.yml b/taskcluster/ci/marionette-harness/kind.yml
new file mode 100644
index 0000000000..8ec8189b9a
--- /dev/null
+++ b/taskcluster/ci/marionette-harness/kind.yml
@@ -0,0 +1,51 @@
+# 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/.
+
+# NOTE: please write a description of this kind in taskcluster/docs/kinds.rst
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.marionette_harness:transforms
+ - taskgraph.transforms.task:transforms
+
+# NOTE: this task should be refactored so that it is invoked as a job either
+# with a run.using of "mozharness", and combined with the source-check kind.
+
+jobs:
+ marionette-harness/opt:
+ description: "Marionette harness unit test"
+ attributes:
+ build_platform: marionette-harness
+ build_type: opt
+ treeherder:
+ platform: linux64/opt
+ kind: test
+ tier: 2
+ symbol: tc(Mn-h)
+ worker-type: aws-provisioner-v1/gecko-t-linux-xlarge
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build} # NOTE: better to use the lint image
+ env:
+ JOB_SCRIPT: "taskcluster/scripts/tester/harness-test-linux.sh"
+ MOZHARNESS_SCRIPT: "testing/mozharness/scripts/marionette_harness_tests.py"
+ TOOLS_DISABLE: "true"
+ TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool"
+ TOOLTOOL_REV: "master"
+ artifacts:
+ - name: public/logs/
+ path: /home/worker/workspace/mozharness_workspace/upload/logs/
+ type: directory
+ command:
+ - "bash"
+ - "/home/worker/bin/build.sh"
+ - "--tests=testing/marionette/harness/marionette_harness/tests/harness_unit"
+ - "--work-dir=mozharness_workspace"
+ max-run-time: 1800
+ when:
+ files-changed:
+ - "testing/marionette/harness/**"
+ - "testing/mozharness/scripts/marionette_harness_tests.py"
+ - "testing/config/marionette_harness_test_requirements.txt"
diff --git a/taskcluster/ci/source-check/doc.yml b/taskcluster/ci/source-check/doc.yml
new file mode 100644
index 0000000000..0ab91c5181
--- /dev/null
+++ b/taskcluster/ci/source-check/doc.yml
@@ -0,0 +1,32 @@
+sphinx/opt:
+ description: Generate the Sphinx documentation
+ treeherder:
+ symbol: tc(Doc)
+ kind: test
+ tier: 1
+ platform: lint/opt
+ worker-type: aws-provisioner-v1/b2gtest
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ artifacts:
+ - type: file
+ name: public/docs.tar.gz
+ path: /home/worker/checkouts/gecko/docs.tar.gz
+ run:
+ using: run-task
+ command: >
+ cd /home/worker/checkouts/gecko &&
+ ./mach doc --outdir docs-out --no-open &&
+ rm -rf docs-out/html/Mozilla_Source_Tree_Docs/_venv &&
+ mv docs-out/html/Mozilla_Source_Tree_Docs docs &&
+ tar -czf docs.tar.gz docs
+ run-on-projects:
+ - integration
+ - release
+ when:
+ files-changed:
+ - '**/*.py'
+ - '**/*.rst'
+ - 'tools/docs/**'
diff --git a/taskcluster/ci/source-check/kind.yml b/taskcluster/ci/source-check/kind.yml
new file mode 100644
index 0000000000..6bc2b4b832
--- /dev/null
+++ b/taskcluster/ci/source-check/kind.yml
@@ -0,0 +1,15 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - python-tests.yml
+ - mozlint.yml
+ - doc.yml
diff --git a/taskcluster/ci/source-check/mozlint.yml b/taskcluster/ci/source-check/mozlint.yml
new file mode 100644
index 0000000000..fd22a9f8f0
--- /dev/null
+++ b/taskcluster/ci/source-check/mozlint.yml
@@ -0,0 +1,97 @@
+mozlint-eslint/opt:
+ description: JS lint check
+ treeherder:
+ symbol: ES
+ kind: test
+ tier: 1
+ platform: lint/opt
+ worker-type: aws-provisioner-v1/b2gtest
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: run-task
+ command: >
+ cd /home/worker/checkouts/gecko/tools/lint/eslint &&
+ /build/tooltool.py fetch -m manifest.tt &&
+ tar xvfz eslint.tar.gz &&
+ rm eslint.tar.gz &&
+ ln -s ../eslint-plugin-mozilla node_modules &&
+ cd ../../.. &&
+ ./mach lint -l eslint -f treeherder --quiet
+ run-on-projects:
+ - integration
+ - release
+ when:
+ files-changed:
+ # Files that are likely audited.
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.html'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ # Run when eslint policies change.
+ - '**/.eslintignore'
+ - '**/*eslintrc*'
+ # The plugin implementing custom checks.
+ - 'tools/lint/eslint/eslint-plugin-mozilla/**'
+ # Other misc lint related files.
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+ - 'testing/docker/lint/**'
+
+mozlint-flake8/opt:
+ description: flake8 run over the gecko codebase
+ treeherder:
+ symbol: f8
+ kind: test
+ tier: 1
+ platform: lint/opt
+ worker-type: aws-provisioner-v1/b2gtest
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: mach
+ mach: lint -l flake8 -f treeherder
+ run-on-projects:
+ - integration
+ - release
+ when:
+ files-changed:
+ - '**/*.py'
+ - '**/.flake8'
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+ - 'testing/docker/lint/**'
+
+wptlint-gecko/opt:
+ description: web-platform-tests linter
+ treeherder:
+ symbol: W
+ kind: test
+ tier: 1
+ platform: lint/opt
+ worker-type: aws-provisioner-v1/b2gtest
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: mach
+ mach: lint -l wpt -l wpt_manifest -f treeherder
+ run-on-projects:
+ - integration
+ - release
+ when:
+ files-changed:
+ - 'testing/web-platform/tests/**'
+ - 'testing/web-platform/mozilla/tests/**'
+ - 'testing/web-platform/meta/MANIFEST.json'
+ - 'testing/web-platform/mozilla/meta/MANIFEST.json'
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+ - 'testing/docker/lint/**'
diff --git a/taskcluster/ci/source-check/python-tests.yml b/taskcluster/ci/source-check/python-tests.yml
new file mode 100644
index 0000000000..2f580f2519
--- /dev/null
+++ b/taskcluster/ci/source-check/python-tests.yml
@@ -0,0 +1,49 @@
+taskgraph-tests/opt:
+ description: taskcluster/taskgraph unit tests
+ treeherder:
+ symbol: tg
+ kind: test
+ tier: 2
+ platform: linux64/opt
+ worker-type: aws-provisioner-v1/b2gtest
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: mach
+ mach: taskgraph python-tests
+ run-on-projects:
+ - integration
+ - release
+ when:
+ files-changed:
+ - 'taskcluster/**/*.py'
+ - 'config/mozunit.py'
+ - 'python/mach/**/*.py'
+
+mozharness/opt:
+ description: mozharness integration tests
+ treeherder:
+ symbol: MH
+ kind: test
+ tier: 2
+ platform: lint/opt
+ worker-type: aws-provisioner-v1/b2gtest
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: run-task
+ cache-dotcache: true
+ command: >
+ cd /home/worker/checkouts/gecko/testing/mozharness &&
+ /usr/bin/pip2 install tox &&
+ /home/worker/.local/bin/tox -e py27-hg3.7
+ run-on-projects:
+ - integration
+ - release
+ when:
+ files-changed:
+ - 'testing/mozharness/**'
diff --git a/taskcluster/ci/spidermonkey/kind.yml b/taskcluster/ci/spidermonkey/kind.yml
new file mode 100644
index 0000000000..9e8f9a682a
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/kind.yml
@@ -0,0 +1,199 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 1
+ index:
+ product: firefox
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ max-run-time: 36000
+ docker-image: {in-tree: desktop-build}
+ run:
+ using: spidermonkey
+ when:
+ files-changed:
+ # any when.files-changed specified below in a job will be
+ # appended to this list
+ - js/public/**
+ - js/src/**
+
+jobs:
+ sm-package/opt:
+ description: "Spidermonkey source package and test"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-package-opt
+ treeherder:
+ symbol: SM-tc(pkg)
+ run:
+ using: spidermonkey-package
+ spidermonkey-variant: plain
+ when:
+ files-changed:
+ - build/**
+ - config/**
+ - configure.py
+ - dom/bindings/**
+ - intl/icu/**
+ - js/moz.configure
+ - layout/tools/reftest/reftest/**
+ - Makefile.in
+ - media/webrtc/trunk/tools/gyp/**
+ - memory/**
+ - mfbt/**
+ - modules/fdlibm/**
+ - modules/zlib/src/**
+ - mozglue/**
+ - moz.build
+ - moz.configure
+ - nsprpub/**
+ - python/**
+ - taskcluster/moz.build
+ - testing/mozbase/**
+ - test.mozbuild
+ - toolkit/mozapps/installer/package-name.mk
+ - toolkit/mozapps/installer/upload-files.mk
+
+ sm-mozjs-sys/debug:
+ description: "Build js/src as the mozjs_sys Rust crate"
+ index:
+ job-name:
+ gecko-v2: sm-mozjs-sys-debug
+ treeherder:
+ symbol: SM-tc(mozjs-crate)
+ run:
+ using: spidermonkey-mozjs-crate
+ spidermonkey-variant: plain
+ run-on-projects:
+ - integration
+ - release
+ - try
+
+ sm-plain/debug:
+ description: "Spidermonkey Plain"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-plaindebug-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM-tc(p)
+ run:
+ spidermonkey-variant: plaindebug
+
+ sm-plain/opt:
+ description: "Spidermonkey Plain"
+ index:
+ job-name: sm-plain-opt
+ treeherder:
+ symbol: SM-tc(p)
+ run:
+ spidermonkey-variant: plain
+
+ sm-arm-sim/debug:
+ description: "Spidermonkey ARM sim"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-arm-sim-debug
+ treeherder:
+ symbol: SM-tc(arm)
+ run:
+ spidermonkey-variant: arm-sim
+
+ sm-arm64-sim/debug:
+ description: "Spidermonkey ARM64 sim"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-arm64-sim-debug
+ treeherder:
+ symbol: SM-tc(arm64)
+ run:
+ spidermonkey-variant: arm64-sim
+
+ sm-asan/opt:
+ description: "Spidermonkey Address Sanitizer"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-asan-opt
+ treeherder:
+ symbol: SM-tc(asan)
+ run:
+ spidermonkey-variant: asan
+ tooltool-manifest: browser/config/tooltool-manifests/linux64/asan.manifest
+
+ sm-compacting/debug:
+ description: "Spidermonkey Compacting"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-compacting-debug
+ treeherder:
+ symbol: SM-tc(cgc)
+ run:
+ spidermonkey-variant: compacting
+
+ sm-msan/opt:
+ description: "Spidermonkey Memory Sanitizer"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-msan-opt
+ treeherder:
+ symbol: SM-tc(msan)
+ run:
+ spidermonkey-variant: msan
+ tooltool-manifest: browser/config/tooltool-manifests/linux64/msan.manifest
+
+ sm-tsan/opt:
+ description: "Spidermonkey Thread Sanitizer"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-tsan-opt
+ treeherder:
+ symbol: SM-tc(tsan)
+ tier: 3
+ run-on-projects: []
+ run:
+ spidermonkey-variant: tsan
+ tooltool-manifest: browser/config/tooltool-manifests/linux64/tsan.manifest
+
+ sm-rootanalysis/debug:
+ description: "Spidermonkey Root Analysis"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-rootanalysis-debug
+ treeherder:
+ symbol: SM-tc(r)
+ run:
+ spidermonkey-variant: rootanalysis
+
+ sm-nonunified/debug:
+ description: "Spidermonkey Non-Unified Debug"
+ index:
+ job-name:
+ buildbot: sm-plain
+ gecko-v2: sm-nonunified-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM-tc(nu)
+ run:
+ spidermonkey-variant: nonunified
diff --git a/taskcluster/ci/static-analysis/kind.yml b/taskcluster/ci/static-analysis/kind.yml
new file mode 100644
index 0000000000..ddd312e705
--- /dev/null
+++ b/taskcluster/ci/static-analysis/kind.yml
@@ -0,0 +1,63 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ symbol: S
+ kind: build
+ tier: 1
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 36000
+
+jobs:
+ macosx64-st-an/opt:
+ description: "MacOS X x64 Cross-compile Static Analysis"
+ index:
+ job-name: macosx64-st-an-opt
+ treeherder:
+ platform: osx-10-7/opt
+ worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64
+ run:
+ using: mozharness
+ actions: [get-secrets build generate-build-stats update]
+ config:
+ - builds/releng_base_mac_64_cross_builds.py
+ - balrog/production.py
+ # Note that, despite the name "cross-opt", this config variant
+ # enables static analysis.
+ custom-build-variant-cfg: cross-opt
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: internal
+ keep-artifacts: false
+
+ linux64-st-an/opt:
+ description: "Linux64 Opt Static Analysis"
+ index:
+ job-name: linux64-st-an-opt
+ treeherder:
+ platform: linux64/opt
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ run:
+ using: mozharness
+ actions: [get-secrets build generate-build-stats]
+ config:
+ - builds/releng_sub_linux_configs/64_stat_and_opt.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ keep-artifacts: false
diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml
new file mode 100644
index 0000000000..acc67a57f8
--- /dev/null
+++ b/taskcluster/ci/toolchain/kind.yml
@@ -0,0 +1,14 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - linux.yml
+ - windows.yml
diff --git a/taskcluster/ci/toolchain/linux.yml b/taskcluster/ci/toolchain/linux.yml
new file mode 100644
index 0000000000..9eeadf3ef3
--- /dev/null
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -0,0 +1,66 @@
+# 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/.
+
+linux64-clang/opt:
+ description: "Clang toolchain build"
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: Cc(Clang)
+ tier: 1
+ run:
+ using: toolchain-script
+ script: build-clang-linux.sh
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 36000
+ when:
+ files-changed:
+ - 'build/build-clang/**'
+ - 'taskcluster/scripts/misc/build-clang-linux.sh'
+ - 'taskcluster/taskgraph/transforms/job/toolchain.py'
+
+linux64-gcc/opt:
+ description: "GCC toolchain build"
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: Cc(GCC)
+ tier: 1
+ run:
+ using: toolchain-script
+ script: build-gcc-linux.sh
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 36000
+ when:
+ files-changed:
+ - 'build/unix/build-gcc/**'
+ - 'taskcluster/scripts/misc/build-gcc-linux.sh'
+ - 'taskcluster/taskgraph/transforms/job/toolchain.py'
+
+linux64-binutils/opt:
+ description: "Binutils toolchain build"
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: Cc(binutils)
+ tier: 1
+ run:
+ using: toolchain-script
+ script: build-binutils-linux.sh
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 36000
+ when:
+ files-changed:
+ - 'build/unix/build-binutils/**'
+ - 'taskcluster/scripts/misc/build-binutils-linux.sh'
+ - 'taskcluster/taskgraph/transforms/job/toolchain.py'
diff --git a/taskcluster/ci/toolchain/windows.yml b/taskcluster/ci/toolchain/windows.yml
new file mode 100644
index 0000000000..b5b9506166
--- /dev/null
+++ b/taskcluster/ci/toolchain/windows.yml
@@ -0,0 +1,23 @@
+# 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/.
+
+win32-clang-cl/opt:
+ description: "Clang-cl toolchain build"
+ treeherder:
+ kind: build
+ platform: windows-2012-32/opt
+ symbol: Cc(ClangCL)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 36000
+ run:
+ using: toolchain-script
+ script: build-clang-windows.sh
+ when:
+ files-changed:
+ - 'build/build-clang/**'
+ - 'taskcluster/scripts/misc/build-clang-windows.sh'
+ - 'taskcluster/taskgraph/transforms/job/toolchain.py'
diff --git a/taskcluster/ci/upload-symbols/job-template.yml b/taskcluster/ci/upload-symbols/job-template.yml
new file mode 100644
index 0000000000..43d6736a07
--- /dev/null
+++ b/taskcluster/ci/upload-symbols/job-template.yml
@@ -0,0 +1,19 @@
+label: # see transforms
+description: Upload Symbols
+dependencies: # see transforms
+expires-after: 7 days
+deadline-after: 24 hours
+run-on-projects:
+ - try
+worker-type: aws-provisioner-v1/symbol-upload
+worker:
+ implementation: docker-worker
+ max-run-time: 600
+ command: ["/bin/bash", "bin/upload.sh"]
+ docker-image: taskclusterprivate/upload_symbols:0.0.4
+ env:
+ GECKO_HEAD_REPOSITORY: # see transforms
+ GECKO_HEAD_REV: # see transforms
+ ARTIFACT_TASKID: {"task-reference": "<build>"}
+scopes:
+ - docker-worker:image:taskclusterprivate/upload_symbols:0.0.4
diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/ci/upload-symbols/kind.yml
new file mode 100644
index 0000000000..b3e2ba5d8b
--- /dev/null
+++ b/taskcluster/ci/upload-symbols/kind.yml
@@ -0,0 +1,19 @@
+# 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/.
+
+implementation: taskgraph.task.post_build:PostBuildTask
+
+transforms:
+ - taskgraph.transforms.upload_symbols:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+
+job-template: job-template.yml
+
+only-for-build-platforms:
+ - linux64/opt
+ - linux64/debug
+ - android-api-15/opt
diff --git a/taskcluster/ci/valgrind/kind.yml b/taskcluster/ci/valgrind/kind.yml
new file mode 100644
index 0000000000..77e37e89b3
--- /dev/null
+++ b/taskcluster/ci/valgrind/kind.yml
@@ -0,0 +1,40 @@
+# 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/.
+
+implementation: taskgraph.task.transform:TransformTask
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs:
+ linux64-valgrind/opt:
+ description: "Linux64 Valgrind Opt"
+ index:
+ product: firefox
+ job-name: linux64-valgrind-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: tc(V)
+ kind: build
+ tier: 1
+ worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+ worker:
+ implementation: docker-worker
+ docker-image: {in-tree: desktop-build}
+ max-run-time: 72000
+ run:
+ using: mozharness
+ actions: [get-secrets build valgrind-test generate-build-stats]
+ custom-build-variant-cfg: valgrind
+ config:
+ - builds/releng_base_linux_64_builds.py
+ - balrog/production.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+
+