summaryrefslogtreecommitdiffstats
path: root/taskcluster/ci
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/ci')
-rw-r--r--taskcluster/ci/addon/kind.yml37
-rw-r--r--taskcluster/ci/artifact-build/kind.yml50
-rw-r--r--taskcluster/ci/balrog/kind.yml30
-rw-r--r--taskcluster/ci/beetmover-checksums/kind.yml26
-rw-r--r--taskcluster/ci/beetmover-geckoview/kind.yml66
-rw-r--r--taskcluster/ci/beetmover-repackage/kind.yml56
-rw-r--r--taskcluster/ci/beetmover-snap/kind.yml19
-rw-r--r--taskcluster/ci/beetmover-source/kind.yml19
-rw-r--r--taskcluster/ci/bouncer-locations/kind.yml52
-rw-r--r--taskcluster/ci/build-fat-aar/kind.yml110
-rw-r--r--taskcluster/ci/build-notarization-part-1/kind.yml27
-rw-r--r--taskcluster/ci/build-notarization-poller/kind.yml19
-rw-r--r--taskcluster/ci/build-signing/kind.yml29
-rw-r--r--taskcluster/ci/build/android-stuff.yml52
-rw-r--r--taskcluster/ci/build/android.yml568
-rw-r--r--taskcluster/ci/build/kind.yml79
-rw-r--r--taskcluster/ci/build/linux-base-toolchains.yml171
-rw-r--r--taskcluster/ci/build/linux.yml1564
-rw-r--r--taskcluster/ci/build/macosx-native.yml75
-rw-r--r--taskcluster/ci/build/macosx.yml698
-rw-r--r--taskcluster/ci/build/windows-mingw.yml156
-rw-r--r--taskcluster/ci/build/windows.yml1717
-rw-r--r--taskcluster/ci/code-review/kind.yml41
-rw-r--r--taskcluster/ci/condprof/kind.yml334
-rw-r--r--taskcluster/ci/config.yml621
-rw-r--r--taskcluster/ci/cron-bouncer-check/kind.yml82
-rw-r--r--taskcluster/ci/diffoscope/kind.yml120
-rw-r--r--taskcluster/ci/docker-image/kind.yml224
-rw-r--r--taskcluster/ci/fetch/benchmarks.yml52
-rw-r--r--taskcluster/ci/fetch/browsertime.yml128
-rw-r--r--taskcluster/ci/fetch/chromium-fetch.yml32
-rw-r--r--taskcluster/ci/fetch/kind.yml20
-rw-r--r--taskcluster/ci/fetch/resource-monitor.yml10
-rw-r--r--taskcluster/ci/fetch/toolchain-clang-tidy-external.yml13
-rw-r--r--taskcluster/ci/fetch/toolchains.yml515
-rw-r--r--taskcluster/ci/fetch/visual-metrics.yml11
-rw-r--r--taskcluster/ci/fuzzing/kind.yml45
-rw-r--r--taskcluster/ci/geckodriver-signing/kind.yml16
-rw-r--r--taskcluster/ci/generate-profile/kind.yml210
-rw-r--r--taskcluster/ci/github-sync/kind.yml65
-rw-r--r--taskcluster/ci/hazard/kind.yml79
-rw-r--r--taskcluster/ci/instrumented-build/kind.yml265
-rw-r--r--taskcluster/ci/iris/kind.yml207
-rw-r--r--taskcluster/ci/l10n-bump/kind.yml118
-rw-r--r--taskcluster/ci/l10n/kind.yml150
-rw-r--r--taskcluster/ci/mar-signing-autograph-stage/kind.yml30
-rw-r--r--taskcluster/ci/mar-signing-l10n/kind.yml35
-rw-r--r--taskcluster/ci/mar-signing/kind.yml36
-rw-r--r--taskcluster/ci/maybe-release/kind.yml48
-rw-r--r--taskcluster/ci/merge-automation/kind.yml71
-rw-r--r--taskcluster/ci/openh264-plugin/kind.yml192
-rw-r--r--taskcluster/ci/openh264-signing/kind.yml13
-rw-r--r--taskcluster/ci/packages/kind.yml237
-rw-r--r--taskcluster/ci/partials-signing/kind.yml20
-rw-r--r--taskcluster/ci/partials/kind.yml35
-rw-r--r--taskcluster/ci/perftest/android.yml218
-rw-r--r--taskcluster/ci/perftest/kind.yml40
-rw-r--r--taskcluster/ci/perftest/linux.yml210
-rw-r--r--taskcluster/ci/perftest/macosx.yml221
-rw-r--r--taskcluster/ci/perftest/windows.yml170
-rw-r--r--taskcluster/ci/post-balrog-dummy/kind.yml21
-rw-r--r--taskcluster/ci/post-beetmover-checksums-dummy/kind.yml35
-rw-r--r--taskcluster/ci/post-beetmover-dummy/kind.yml22
-rw-r--r--taskcluster/ci/post-langpack-dummy/kind.yml33
-rw-r--r--taskcluster/ci/post-update-verify-dummy/kind.yml21
-rw-r--r--taskcluster/ci/python-dependency-update/kind.yml45
-rw-r--r--taskcluster/ci/release-balrog-scheduling/kind.yml86
-rw-r--r--taskcluster/ci/release-balrog-submit-toplevel/kind.yml72
-rw-r--r--taskcluster/ci/release-beetmover-push-to-release/kind.yml31
-rw-r--r--taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml19
-rw-r--r--taskcluster/ci/release-beetmover-signed-langpacks/kind.yml36
-rw-r--r--taskcluster/ci/release-beetmover-source-checksums/kind.yml19
-rw-r--r--taskcluster/ci/release-bouncer-aliases/kind.yml98
-rw-r--r--taskcluster/ci/release-bouncer-check/kind.yml76
-rw-r--r--taskcluster/ci/release-bouncer-sub/kind.yml58
-rw-r--r--taskcluster/ci/release-early-tagging/kind.yml46
-rw-r--r--taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml21
-rw-r--r--taskcluster/ci/release-eme-free-repack-beetmover/kind.yml27
-rw-r--r--taskcluster/ci/release-eme-free-repack-notarization-part-1/kind.yml25
-rw-r--r--taskcluster/ci/release-eme-free-repack-notarization-poller/kind.yml19
-rw-r--r--taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml18
-rw-r--r--taskcluster/ci/release-eme-free-repack-repackage/kind.yml47
-rw-r--r--taskcluster/ci/release-eme-free-repack-signing/kind.yml28
-rw-r--r--taskcluster/ci/release-eme-free-repack/kind.yml78
-rw-r--r--taskcluster/ci/release-final-verify/kind.yml47
-rw-r--r--taskcluster/ci/release-flatpak-push/kind.yml39
-rw-r--r--taskcluster/ci/release-flatpak-repackage/kind.yml64
-rw-r--r--taskcluster/ci/release-generate-checksums-beetmover/kind.yml17
-rw-r--r--taskcluster/ci/release-generate-checksums-signing/kind.yml15
-rw-r--r--taskcluster/ci/release-generate-checksums/kind.yml86
-rw-r--r--taskcluster/ci/release-mark-as-shipped/kind.yml43
-rw-r--r--taskcluster/ci/release-notify-av-announce/kind.yml42
-rw-r--r--taskcluster/ci/release-notify-promote/kind.yml38
-rw-r--r--taskcluster/ci/release-notify-push/kind.yml36
-rw-r--r--taskcluster/ci/release-notify-ship/kind.yml43
-rw-r--r--taskcluster/ci/release-notify-started/kind.yml32
-rw-r--r--taskcluster/ci/release-partner-attribution-beetmover/kind.yml23
-rw-r--r--taskcluster/ci/release-partner-attribution/kind.yml40
-rw-r--r--taskcluster/ci/release-partner-repack-beetmover/kind.yml31
-rw-r--r--taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml42
-rw-r--r--taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml36
-rw-r--r--taskcluster/ci/release-partner-repack-notarization-part-1/kind.yml25
-rw-r--r--taskcluster/ci/release-partner-repack-notarization-poller/kind.yml19
-rw-r--r--taskcluster/ci/release-partner-repack-repackage-signing/kind.yml23
-rw-r--r--taskcluster/ci/release-partner-repack-repackage/kind.yml48
-rw-r--r--taskcluster/ci/release-partner-repack-signing/kind.yml28
-rw-r--r--taskcluster/ci/release-partner-repack/kind.yml84
-rw-r--r--taskcluster/ci/release-push-langpacks/kind.yml54
-rw-r--r--taskcluster/ci/release-secondary-balrog-scheduling/kind.yml40
-rw-r--r--taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml45
-rw-r--r--taskcluster/ci/release-secondary-final-verify/kind.yml38
-rw-r--r--taskcluster/ci/release-secondary-flatpak-push/kind.yml38
-rw-r--r--taskcluster/ci/release-secondary-notify-ship/kind.yml36
-rw-r--r--taskcluster/ci/release-secondary-snap-push/kind.yml38
-rw-r--r--taskcluster/ci/release-secondary-update-verify-config/kind.yml127
-rw-r--r--taskcluster/ci/release-secondary-update-verify/kind.yml75
-rw-r--r--taskcluster/ci/release-snap-push/kind.yml41
-rw-r--r--taskcluster/ci/release-snap-repackage/kind.yml60
-rw-r--r--taskcluster/ci/release-source-checksums-signing/kind.yml16
-rw-r--r--taskcluster/ci/release-source-signing/kind.yml17
-rw-r--r--taskcluster/ci/release-source/kind.yml55
-rw-r--r--taskcluster/ci/release-update-verify-config-next/kind.yml98
-rw-r--r--taskcluster/ci/release-update-verify-config/kind.yml306
-rw-r--r--taskcluster/ci/release-update-verify-next/kind.yml73
-rw-r--r--taskcluster/ci/release-update-verify/kind.yml115
-rw-r--r--taskcluster/ci/release-version-bump/kind.yml59
-rw-r--r--taskcluster/ci/repackage-l10n/kind.yml79
-rw-r--r--taskcluster/ci/repackage-msi/kind.yml45
-rw-r--r--taskcluster/ci/repackage-signing-l10n/kind.yml25
-rw-r--r--taskcluster/ci/repackage-signing-msi/kind.yml21
-rw-r--r--taskcluster/ci/repackage-signing/kind.yml23
-rw-r--r--taskcluster/ci/repackage/kind.yml86
-rw-r--r--taskcluster/ci/repo-update/kind.yml70
-rw-r--r--taskcluster/ci/scriptworker-canary/kind.yml33
-rw-r--r--taskcluster/ci/searchfox/kind.yml193
-rw-r--r--taskcluster/ci/shippable-l10n-notarization-part-1/kind.yml26
-rw-r--r--taskcluster/ci/shippable-l10n-notarization-poller/kind.yml17
-rw-r--r--taskcluster/ci/shippable-l10n-signing/kind.yml26
-rw-r--r--taskcluster/ci/shippable-l10n/kind.yml207
-rw-r--r--taskcluster/ci/source-test/clang.yml118
-rw-r--r--taskcluster/ci/source-test/codeql.yml45
-rw-r--r--taskcluster/ci/source-test/coverity.yml97
-rw-r--r--taskcluster/ci/source-test/cram.yml21
-rw-r--r--taskcluster/ci/source-test/doc.yml54
-rw-r--r--taskcluster/ci/source-test/file-metadata.yml144
-rw-r--r--taskcluster/ci/source-test/infer.yml53
-rw-r--r--taskcluster/ci/source-test/jsshell.yml87
-rw-r--r--taskcluster/ci/source-test/kind.yml40
-rw-r--r--taskcluster/ci/source-test/mozlint-android.yml100
-rw-r--r--taskcluster/ci/source-test/mozlint.yml465
-rw-r--r--taskcluster/ci/source-test/node.yml116
-rw-r--r--taskcluster/ci/source-test/python.yml553
-rw-r--r--taskcluster/ci/source-test/remote.yml59
-rw-r--r--taskcluster/ci/source-test/shadow-scheduler.yml167
-rw-r--r--taskcluster/ci/source-test/webidl.yml24
-rw-r--r--taskcluster/ci/source-test/wpt-manifest.yml39
-rw-r--r--taskcluster/ci/source-test/wpt-metadata.yml35
-rw-r--r--taskcluster/ci/spidermonkey/kind.yml74
-rw-r--r--taskcluster/ci/spidermonkey/linux.yml287
-rw-r--r--taskcluster/ci/spidermonkey/windows.yml117
-rw-r--r--taskcluster/ci/static-analysis-autotest/kind.yml102
-rw-r--r--taskcluster/ci/system-symbols-upload/kind.yml31
-rw-r--r--taskcluster/ci/system-symbols/kind.yml70
-rw-r--r--taskcluster/ci/test/awsy.yml86
-rw-r--r--taskcluster/ci/test/browsertime-desktop.yml151
-rw-r--r--taskcluster/ci/test/browsertime-mobile.yml426
-rw-r--r--taskcluster/ci/test/compiled.yml105
-rw-r--r--taskcluster/ci/test/firefox-ui.yml38
-rw-r--r--taskcluster/ci/test/kind.yml72
-rw-r--r--taskcluster/ci/test/marionette.yml69
-rw-r--r--taskcluster/ci/test/misc.yml254
-rw-r--r--taskcluster/ci/test/mochitest.yml607
-rw-r--r--taskcluster/ci/test/raptor-chrome.yml247
-rw-r--r--taskcluster/ci/test/raptor-chromium.yml219
-rw-r--r--taskcluster/ci/test/raptor-gve.yml120
-rw-r--r--taskcluster/ci/test/raptor-refbrow.yml86
-rw-r--r--taskcluster/ci/test/raptor.yml784
-rw-r--r--taskcluster/ci/test/reftest.yml235
-rw-r--r--taskcluster/ci/test/talos.yml646
-rw-r--r--taskcluster/ci/test/test-platforms.yml537
-rw-r--r--taskcluster/ci/test/test-sets.yml560
-rw-r--r--taskcluster/ci/test/web-platform.yml342
-rw-r--r--taskcluster/ci/test/xpcshell.yml99
-rw-r--r--taskcluster/ci/toolchain/android.yml84
-rw-r--r--taskcluster/ci/toolchain/cbindgen.yml66
-rw-r--r--taskcluster/ci/toolchain/cctools-port.yml26
-rw-r--r--taskcluster/ci/toolchain/clang-tidy.yml125
-rw-r--r--taskcluster/ci/toolchain/clang.yml320
-rw-r--r--taskcluster/ci/toolchain/dist-toolchains.yml42
-rw-r--r--taskcluster/ci/toolchain/dump-syms.yml65
-rw-r--r--taskcluster/ci/toolchain/fix-stacks.yml66
-rw-r--r--taskcluster/ci/toolchain/gcc.yml78
-rw-r--r--taskcluster/ci/toolchain/geckodriver.yml112
-rw-r--r--taskcluster/ci/toolchain/gn.yml61
-rw-r--r--taskcluster/ci/toolchain/grcov.yml51
-rw-r--r--taskcluster/ci/toolchain/kind.yml47
-rw-r--r--taskcluster/ci/toolchain/llvm-symbolizer.yml35
-rw-r--r--taskcluster/ci/toolchain/mingw.yml64
-rw-r--r--taskcluster/ci/toolchain/minidump_stackwalk.yml62
-rw-r--r--taskcluster/ci/toolchain/misc.yml386
-rw-r--r--taskcluster/ci/toolchain/nasm.yml74
-rw-r--r--taskcluster/ci/toolchain/node.yml45
-rw-r--r--taskcluster/ci/toolchain/resourcemonitor.yml44
-rw-r--r--taskcluster/ci/toolchain/rust-size.yml39
-rw-r--r--taskcluster/ci/toolchain/rust.yml248
-rw-r--r--taskcluster/ci/toolchain/sccache.yml69
-rw-r--r--taskcluster/ci/updatebot/kind.yml69
-rw-r--r--taskcluster/ci/upload-generated-sources/kind.yml33
-rw-r--r--taskcluster/ci/upload-symbols/kind.yml48
-rw-r--r--taskcluster/ci/valgrind/kind.yml62
-rw-r--r--taskcluster/ci/visual-metrics-dep/kind.yml45
-rw-r--r--taskcluster/ci/webrender/kind.yml501
-rw-r--r--taskcluster/ci/wgpu/kind.yml53
213 files changed, 26219 insertions, 0 deletions
diff --git a/taskcluster/ci/addon/kind.yml b/taskcluster/ci/addon/kind.yml
new file mode 100644
index 0000000000..1d47f88c6e
--- /dev/null
+++ b/taskcluster/ci/addon/kind.yml
@@ -0,0 +1,37 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs:
+ tps-xpi:
+ description: Build the TPS add-on
+ index:
+ product: firefox
+ job-name: addons.tps
+ treeherder:
+ platform: linux64/opt
+ symbol: TPS(addon)
+ kind: build
+ tier: 1
+ run-on-projects: [mozilla-central]
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-amd64-build}
+ max-run-time: 1800
+ artifacts:
+ - type: file
+ name: public/tps.xpi
+ path: /builds/worker/checkouts/gecko/tps-out/tps.xpi
+ run:
+ using: mach
+ mach: tps-build --dest tps-out
+ sparse-profile: tps
+ when:
+ files-changed:
+ - 'services/sync/tps/extensions/tps/**'
diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml
new file mode 100644
index 0000000000..ebf5bb813a
--- /dev/null
+++ b/taskcluster/ci/artifact-build/kind.yml
@@ -0,0 +1,50 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints: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
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: artifact
+ MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'}
+ USE_ARTIFACT: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ keep-artifacts: false
+ dependencies:
+ linux64-opt: build-linux64/opt
+ fetches:
+ toolchain:
+ - linux64-node
diff --git a/taskcluster/ci/balrog/kind.yml b/taskcluster/ci/balrog/kind.yml
new file mode 100644
index 0000000000..4ab9a24659
--- /dev/null
+++ b/taskcluster/ci/balrog/kind.yml
@@ -0,0 +1,30 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.balrog_submit:transforms
+ - taskgraph.transforms.scriptworker:add_balrog_scopes
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+not-for-build-platforms:
+ - android-api-16-shippable/opt
+ - android-x86_64-shippable/opt
+ - android-x86-shippable/opt
+ - android-aarch64-shippable/opt
+
+job-template:
+ update-no-wnp:
+ by-release-type:
+ nightly.*: false
+ default: true
diff --git a/taskcluster/ci/beetmover-checksums/kind.yml b/taskcluster/ci/beetmover-checksums/kind.yml
new file mode 100644
index 0000000000..a315cf4161
--- /dev/null
+++ b/taskcluster/ci/beetmover-checksums/kind.yml
@@ -0,0 +1,26 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_checksums:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map:
+ by-release-type:
+ beta|release.*|esr.*: taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml
+ default: taskcluster/taskgraph/manifests/firefox_nightly_checksums.yml
diff --git a/taskcluster/ci/beetmover-geckoview/kind.yml b/taskcluster/ci/beetmover-geckoview/kind.yml
new file mode 100644
index 0000000000..97c2fd3f2e
--- /dev/null
+++ b/taskcluster/ci/beetmover-geckoview/kind.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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_geckoview:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-signing
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+not-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+ - linux64-asan-reporter-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ attributes:
+ artifact_map: taskcluster/taskgraph/manifests/fennec_geckoview.yml
+ run-on-projects: ['mozilla-release']
+ run-on-hg-branches:
+ by-project:
+ mozilla-release:
+ - '^GECKOVIEW_\d+_RELBRANCH$'
+ default:
+ - 'all'
+ shipping-phase:
+ by-project:
+ # Beetmoving geckoview makes it available to the official maven repo.
+ # As of December 2019, we have automated betas shipped without being
+ # blocked on QA, hence we can upload geckoview as part of the
+ # `push` phase of the release graphs.
+ # So we want beetmover to act only when the release is greenlit. That
+ # is to say:
+ # 1. (to be changed soon to be as part of the nightly graph) right after nightly builds on mozilla-central
+ # 2. as part of Firefox push graphs on both mozilla-beta and mozilla-release
+ # 3. as part of ship-rc graphs on Firefox RC
+ # 4. at every patch uplifted on the GECKOVIEW_XX_RELBRANCH on mozilla-release
+ # Reminder: There is no Android/geckoview build on ESR.
+ #
+ # The logic of point 2 and 3 is handled in target_tasks directly because it's mixing and
+ # matching 2 different shipping-products
+ mozilla-release: build
+ default: push
+ bucket-scope:
+ by-release-level:
+ production: 'project:releng:beetmover:bucket:maven-production'
+ staging: 'project:releng:beetmover:bucket:maven-staging'
diff --git a/taskcluster/ci/beetmover-repackage/kind.yml b/taskcluster/ci/beetmover-repackage/kind.yml
new file mode 100644
index 0000000000..fe82db8c23
--- /dev/null
+++ b/taskcluster/ci/beetmover-repackage/kind.yml
@@ -0,0 +1,56 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: single-locale
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_repackage_l10n:transforms
+ - taskgraph.transforms.beetmover_repackage:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-signing
+ - repackage
+ - repackage-signing
+ - shippable-l10n
+ - shippable-l10n-signing
+ - repackage-l10n
+ - repackage-signing-l10n
+ - partials
+ - partials-signing
+ - repackage-signing-msi
+ - mar-signing
+ - mar-signing-l10n
+
+primary-dependency:
+ - repackage
+ - repackage-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+ - linux64-asan-reporter-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map:
+ by-release-type:
+ beta|release.*|esr.*: taskcluster/taskgraph/manifests/firefox_candidates.yml
+ default: taskcluster/taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/beetmover-snap/kind.yml b/taskcluster/ci/beetmover-snap/kind.yml
new file mode 100644
index 0000000000..03706d60f7
--- /dev/null
+++ b/taskcluster/ci/beetmover-snap/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover:transforms
+ - taskgraph.transforms.beetmover_snap:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-snap-repackage # snap builds builds aren't signed
+
+job-template:
+ attributes:
+ artifact_map: taskcluster/taskgraph/manifests/firefox_snap.yml
+ shipping-phase: promote
diff --git a/taskcluster/ci/beetmover-source/kind.yml b/taskcluster/ci/beetmover-source/kind.yml
new file mode 100644
index 0000000000..c174b8dde6
--- /dev/null
+++ b/taskcluster/ci/beetmover-source/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover:transforms
+ - taskgraph.transforms.beetmover_source:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map: taskcluster/taskgraph/manifests/source_files.yml
diff --git a/taskcluster/ci/bouncer-locations/kind.yml b/taskcluster/ci/bouncer-locations/kind.yml
new file mode 100644
index 0000000000..a3e32bc555
--- /dev/null
+++ b/taskcluster/ci/bouncer-locations/kind.yml
@@ -0,0 +1,52 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+transforms:
+ - taskgraph.transforms.bouncer_locations:transforms
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: nightly bouncer locations job
+ attributes:
+ shippable: true
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-locations
+ scopes:
+ by-project:
+ mozilla-central:
+ - project:releng:bouncer:action:locations
+ - project:releng:bouncer:server:production
+ default:
+ - project:releng:bouncer:action:locations
+ - project:releng:bouncer:server:staging
+ shipping-phase: ship
+ treeherder:
+ symbol: BncLoc
+ kind: other
+ tier: 1
+
+jobs:
+ firefox:
+ run-on-releases: ['nightly']
+ run-on-projects: ['mozilla-central']
+ shipping-product: firefox
+ bouncer-products:
+ - firefox-nightly-latest
+ - firefox-nightly-latest-ssl
+ - firefox-nightly-latest-l10n
+ - firefox-nightly-latest-l10n-ssl
+ - firefox-nightly-msi-latest-ssl
+ - firefox-nightly-msi-latest-l10n-ssl
+ - firefox-nightly-pkg-latest-ssl
+ - firefox-nightly-pkg-latest-l10n-ssl
+ treeherder:
+ platform: firefox-release/opt
diff --git a/taskcluster/ci/build-fat-aar/kind.yml b/taskcluster/ci/build-fat-aar/kind.yml
new file mode 100644
index 0000000000..6434aef86d
--- /dev/null
+++ b/taskcluster/ci/build-fat-aar/kind.yml
@@ -0,0 +1,110 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - build
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.build_fat_aar:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ artifact_map: taskcluster/taskgraph/manifests/fennec_geckoview.yml
+ index:
+ product: mobile
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 7200
+ env:
+ # Online in order to download the per-architecture AARs.
+ GRADLE_USER_HOME: "/builds/worker/checkouts/build/gecko/mobile/android/gradle/dotgradle-online"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_ANDROID_FAT_AAR_ARCHITECTURES: "armeabi-v7a,arm64-v8a,x86,x86_64"
+ artifacts:
+ - name: public/build/maven
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/maven/
+ type: directory
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ run:
+ using: mozharness
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: null
+ tooltool-downloads: internal
+ custom-build-variant-cfg: api-16
+ # Note: These settings are only honored by nightly (i.e. shipping) builds
+ update-channel:
+ by-release-type:
+ nightly: nightly
+ nightly-oak: nightly-oak
+ beta:
+ by-shipping-product:
+ devedition: aurora
+ default: beta
+ release.*: release
+ esr.*: esr
+ default:
+ by-project:
+ try: nightly-try
+ default: null
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+
+jobs:
+ android-geckoview-fat-aar-shippable/opt:
+ description: "Android GeckoView multi-architecture fat AAR Shippable"
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ disable-push-apk: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-geckoview-fat-aar-opt
+ type: shippable-with-multi-l10n
+ treeherder:
+ platform: android-4-0-geckoview-fat-aar-shippable/opt
+ symbol: Bgv
+ dependencies:
+ android-x86-shippable: build-android-x86-shippable/opt
+ android-x86_64-shippable: build-android-x86_64-shippable/opt
+ android-api-16-shippable: build-android-api-16-shippable/opt
+ android-aarch64-shippable: build-android-aarch64-shippable/opt
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ optimization:
+ skip-unless-backstop: null
diff --git a/taskcluster/ci/build-notarization-part-1/kind.yml b/taskcluster/ci/build-notarization-part-1/kind.yml
new file mode 100644
index 0000000000..e0f4a75fe1
--- /dev/null
+++ b/taskcluster/ci/build-notarization-part-1/kind.yml
@@ -0,0 +1,27 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.build_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - shippable
+ - nightly
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+
+job-template:
+ treeherder:
+ symbol: BN
+ enable-signing-routes: false
diff --git a/taskcluster/ci/build-notarization-poller/kind.yml b/taskcluster/ci/build-notarization-poller/kind.yml
new file mode 100644
index 0000000000..db0013fa0e
--- /dev/null
+++ b/taskcluster/ci/build-notarization-poller/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.mac_notarization_poller:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-notarization-part-1
+
+job-template:
+ treeherder:
+ symbol: BN-poll
+ description-suffix: 'Mac Notarization Poller'
+ worker:
+ implementation: notarization-poller
diff --git a/taskcluster/ci/build-signing/kind.yml b/taskcluster/ci/build-signing/kind.yml
new file mode 100644
index 0000000000..5057997da6
--- /dev/null
+++ b/taskcluster/ci/build-signing/kind.yml
@@ -0,0 +1,29 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.upstream_artifact_task:transforms
+ - taskgraph.transforms.build_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-fat-aar
+ - build-notarization-part-1
+ - build-notarization-poller
+
+primary-dependency:
+ - build
+ - build-fat-aar
+
+only-for-attributes:
+ - nightly
+ - shippable
+ - enable-build-signing
diff --git a/taskcluster/ci/build/android-stuff.yml b/taskcluster/ci/build/android-stuff.yml
new file mode 100644
index 0000000000..e1d2acd91e
--- /dev/null
+++ b/taskcluster/ci/build/android-stuff.yml
@@ -0,0 +1,52 @@
+# 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/.
+---
+job-defaults:
+ tags:
+ android-stuff: "true"
+ run:
+ mozconfig-variant: null
+
+android-geckoview-docs/opt:
+ description: "Android GeckoView docs"
+ index:
+ product: mobile
+ job-name: android-geckoview-docs
+ treeherder:
+ platform: android-4-0-armv7-api16/opt
+ kind: build
+ tier: 2
+ symbol: A(gv-docs)
+ run-on-projects: [mozilla-central]
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: android-build}
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-docs
+ GECKOVIEW_DOCS_UPLOAD_SECRET: "project/releng/gecko/build/level-{level}/geckoview-docs-upload"
+ artifacts:
+ - name: public/android/geckoview-docs/geckoview-javadoc.jar
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/libs/geckoview-javadoc.jar
+ type: file
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_android_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: android-geckoview-docs
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-sdk-linux
+ - linux64-node
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/**/*.java"
+ - "mobile/android/gradle.configure"
+ - "**/*.gradle"
diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml
new file mode 100644
index 0000000000..35e662e315
--- /dev/null
+++ b/taskcluster/ci/build/android.yml
@@ -0,0 +1,568 @@
+# 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/.
+---
+job-defaults:
+ attributes:
+ artifact_map: taskcluster/taskgraph/manifests/fennec_geckoview.yml
+ index:
+ product: mobile
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 7200
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ artifacts:
+ - name: public/build/maven
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/maven/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ run:
+ using: mozharness
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: null
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+
+android-api-16/debug:
+ description: "Android 4.0 api-16+ Debug"
+ index:
+ job-name: android-api-16-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-0-armv7-api16/debug
+ symbol: B
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: api-16-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+android-x86/opt:
+ description: "Android 4.2 x86 Opt"
+ index:
+ job-name: android-x86-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-2-x86/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+android-x86-fuzzing/debug:
+ description: "Android x86 Fuzzing Debug"
+ index:
+ job-name: android-x86-fuzzing-debug
+ treeherder:
+ platform: android-4-2-x86/debug
+ symbol: Bf
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86-fuzzing-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-expanded: null
+
+android-x86-shippable/opt:
+ description: "Android 4.2 x86 Shippable"
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86-opt
+ type: android-shippable
+ treeherder:
+ platform: android-4-2-x86-shippable/opt
+ symbol: B
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86
+ fetches:
+ toolchain:
+ - linux64-clang
+
+android-api-16/opt:
+ description: "Android 4.0 api-16+ Opt"
+ index:
+ job-name: android-api-16-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-0-armv7-api16/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: api-16
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+android-api-16-shippable/opt:
+ description: "Android 4.0 api-16+ Shippable"
+ use-pgo: true
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-api-16-opt
+ type: android-shippable-with-multi-l10n
+ treeherder:
+ platform: android-4-0-armv7-api16-shippable/opt
+ symbol: Bpgo(B)
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: api-16
+ fetches:
+ toolchain:
+ - linux64-clang
+
+android-aarch64/opt:
+ description: "Android 5.0 AArch64 Opt"
+ index:
+ job-name: android-aarch64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+android-aarch64/debug:
+ description: "Android 5.0 AArch64 Debug"
+ index:
+ job-name: android-aarch64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/debug
+ symbol: B
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+android-aarch64-shippable/opt:
+ description: "Android 5.0 AArch64 Shippable"
+ use-pgo: android-api-16-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-aarch64-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-aarch64-shippable/opt
+ symbol: Bpgo(B)
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: aarch64
+ fetches:
+ toolchain:
+ - linux64-clang
+
+android-x86_64/opt:
+ description: "Android 5.0 x86-64 Opt"
+ index:
+ job-name: android-x86_64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+android-x86_64-shippable/opt:
+ description: "Android 5.0 x86-64 Shippable"
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86_64-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-x86_64-shippable/opt
+ symbol: B
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86_64
+ fetches:
+ toolchain:
+ - linux64-clang
+
+android-x86_64/debug:
+ description: "Android 5.0 x86-64 Debug"
+ index:
+ job-name: android-x86_64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/debug
+ symbol: B
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+
+android-api-16-gcp/debug:
+ description: "Android 4.0 api-16+ Debug - built on GCP"
+ index:
+ job-name: android-api-16-gcp-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-0-armv7-api16/debug
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: api-16-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-backstop: null
+
+
+android-x86-gcp/opt:
+ description: "Android 4.2 x86 Opt - built on GCP"
+ index:
+ job-name: android-x86-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-2-x86/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-backstop: null
+
+android-api-16-gcp/opt:
+ description: "Android 4.0 api-16+ Opt - built on GCP"
+ index:
+ job-name: android-api-16-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-0-armv7-api16/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: api-16
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-backstop: null
+
+android-aarch64-gcp/opt:
+ description: "Android 5.0 AArch64 Opt - built on GCP"
+ index:
+ job-name: android-aarch64-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-backstop: null
+
+android-aarch64-gcp/debug:
+ description: "Android 5.0 AArch64 Debug - built on GCP"
+ index:
+ job-name: android-aarch64-gcp-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/debug
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-backstop: null
+
+android-x86_64-gcp/opt:
+ description: "Android 5.0 x86-64 Opt - built on GCP"
+ index:
+ job-name: android-x86_64-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ optimization:
+ skip-unless-backstop: null
+
+android-x86_64-gcp/debug:
+ description: "Android 5.0 x86-64 Debug - built on GCP"
+ index:
+ job-name: android-x86_64-gcp-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/debug
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-debug
+ fetches:
+ toolchain:
+ - linux64-clang
+ optimization:
+ skip-unless-backstop: null
+
+android-x86_64-asan-fuzzing/opt:
+ description: "Android 5.0 x86-64 Fuzzing Opt ASAN"
+ index:
+ job-name: android-x86_64-fuzzing-asan
+ treeherder:
+ platform: android-5-0-x86_64/asan
+ symbol: Bof
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-fuzzing-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang-android-cross
+ - linux64-sccache
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/ci/build/kind.yml
new file mode 100644
index 0000000000..71baa0da79
--- /dev/null
+++ b/taskcluster/ci/build/kind.yml
@@ -0,0 +1,79 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+ - generate-profile
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - android.yml
+ - android-stuff.yml
+ - linux.yml
+ - linux-base-toolchains.yml
+ - macosx.yml
+ - macosx-native.yml
+ - windows.yml
+ - windows-mingw.yml
+
+job-defaults:
+ run:
+ mozconfig-variant:
+ by-release-type:
+ beta: beta
+ release.*: release
+ # We keep using the release configs as the beta and release configs are
+ # identical except for
+ # https://searchfox.org/mozilla-central/rev/ce9ff94ffed34dc17ec0bfa406156d489eaa8ee1/browser/config/mozconfigs/linux32/release#1 # noqa
+ esr.*: release
+ default: nightly
+ # Note: These settings are only honored by nightly (i.e. shipping) builds
+ update-channel:
+ by-release-type:
+ nightly: nightly
+ nightly-oak: nightly-oak
+ beta:
+ by-shipping-product:
+ devedition: aurora
+ default: beta
+ release.*: release
+ esr.*: esr
+ default:
+ by-project:
+ try: nightly-try
+ default: null
+ # ACCEPTED_MAR_CHANNEL_IDS should usually be the same as the value MAR_CHANNEL_ID.
+ # If more than one ID is needed, then you should use a comma separated list
+ # of values.
+ # The MAR_CHANNEL_ID must not contain the following 3 characters: ",\t "
+ mar-channel-id:
+ by-release-type:
+ nightly.*: firefox-mozilla-central
+ beta:
+ by-shipping-product:
+ devedition: firefox-mozilla-aurora
+ default: firefox-mozilla-beta
+ release.*: firefox-mozilla-release
+ esr.*: firefox-mozilla-esr
+ default: firefox-mozilla-central
+ accepted-mar-channel-ids:
+ by-release-type:
+ nightly.*: firefox-mozilla-central
+ beta:
+ by-shipping-product:
+ devedition: firefox-mozilla-aurora
+ default: firefox-mozilla-beta,firefox-mozilla-release
+ release.*: firefox-mozilla-release
+ esr.*: firefox-mozilla-esr
+ default: firefox-mozilla-central
diff --git a/taskcluster/ci/build/linux-base-toolchains.yml b/taskcluster/ci/build/linux-base-toolchains.yml
new file mode 100644
index 0000000000..0e315f778e
--- /dev/null
+++ b/taskcluster/ci/build/linux-base-toolchains.yml
@@ -0,0 +1,171 @@
+# 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/.
+#
+# We have these build jobs in a separate file because their definitions are
+# different enough from the main Linux build jobs that their presence in
+# linux.yml would make using job-defaults there significantly less useful.
+---
+linux64-base-toolchains/opt:
+ description: "Linux64 base toolchains Opt"
+ index:
+ product: firefox
+ job-name: linux64-base-toolchains-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bb
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-amd64-build-base}
+ max-run-time: 7200
+ env:
+ MOZ_LOW_PARALLELISM_BUILD: '1'
+ PERFHERDER_EXTRA_OPTIONS: base-toolchains
+ FORCE_GCC: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang-5.0
+ - linux64-gcc-7
+ - linux64-rust-1.47
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm-2.14.02
+ - linux64-node
+
+linux64-base-toolchains/debug:
+ description: "Linux64 base toolchains Debug"
+ index:
+ product: firefox
+ job-name: linux64-base-toolchains-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: Bb
+ optimization:
+ skip-unless-expanded: null
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-amd64-build-base}
+ max-run-time: 7200
+ env:
+ MOZ_LOW_PARALLELISM_BUILD: '1'
+ PERFHERDER_EXTRA_OPTIONS: base-toolchains
+ FORCE_GCC: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang-5.0
+ - linux64-gcc-7
+ - linux64-rust-1.47
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm-2.14.02
+ - linux64-node
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+
+linux64-base-toolchains-clang/opt:
+ description: "Linux64 base toolchains clang Opt"
+ index:
+ product: firefox
+ job-name: linux64-base-toolchains-clang-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bbc
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-amd64-build-base}
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: base-toolchains-clang
+ DISABLE_CLANG_PLUGIN: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-5.0
+ - linux64-rust-1.47
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm-2.14.02
+ - linux64-node
+
+linux64-base-toolchains-clang/debug:
+ description: "Linux64 base toolchains clang Debug"
+ index:
+ product: firefox
+ job-name: linux64-base-toolchains-clang-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: Bbc
+ optimization:
+ skip-unless-expanded: null
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-amd64-build-base}
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: base-toolchains-clang
+ DISABLE_CLANG_PLUGIN: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-5.0
+ - linux64-rust-1.47
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm-2.14.02
+ - linux64-node
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml
new file mode 100644
index 0000000000..380c2a1847
--- /dev/null
+++ b/taskcluster/ci/build/linux.yml
@@ -0,0 +1,1564 @@
+# 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/opt:
+ description: "Linux64 Opt"
+ index:
+ product: firefox
+ job-name: linux64-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64/opt
+ symbol: B
+ worker-type: b-linux
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-plain/opt:
+ description: "Linux64 Opt Plain"
+ index:
+ product: firefox
+ job-name: linux64-plain-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bp
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ run:
+ using: mozharness
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: mozharness/scripts/fx_desktop_build.py
+ tooltool-downloads: public
+ extra-config:
+ disable_package_metrics: true
+ mozconfig-variant: plain-opt
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ optimization:
+ skip-unless-expanded: null
+
+linux64-fuzzing/debug:
+ description: "Linux64 Fuzzing Debug"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-debug
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/debug
+ symbol: Bf
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_LOW_PARALLELISM_BUILD: '1'
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: fuzzing-debug
+ mozconfig-variant: debug-fuzzing
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+ optimization:
+ skip-unless-expanded: null
+
+linux64/debug:
+ description: "Linux64 Debug"
+ index:
+ product: firefox
+ job-name: linux64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64/debug
+ symbol: B
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+
+linux64/codeql-cpp:
+ description: Builds a C++ codeql database
+ index:
+ job-name: linux64-codeql-cpp
+ product: firefox
+ treeherder:
+ platform: codeql/all
+ symbol: linux64-cpp
+ tier: 2
+ kind: other
+ shipping-phase: ship
+ shipping-product: firefox
+ worker-type: b-linux-xlarge
+ expires-after: 4 days
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cpp
+ max-run-time: 86400
+ artifacts:
+ - type: file
+ name: public/codeql/codeql-db-cpp.tar.xz
+ path: /builds/worker/codeql-db-cpp.tar.xz
+ run:
+ using: mozharness
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ job-script: taskcluster/scripts/misc/generate-codeql-db-cpp.sh
+ secrets: false
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: []
+ fetches:
+ fetch:
+ - codeql-2.0.3
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+ notifications:
+ subject: '{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} linux64 codeql-cpp status'
+ message: '{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} linux64 codeql-cpp status'
+ emails:
+ by-project:
+ mozilla-release: ["tom@mozilla.com", "freddy@mozilla.com"]
+ try: ["{config[params][owner]}"]
+ default: []
+ optimization: null
+
+
+linux64-plain/debug:
+ description: "Linux64 Debug Plain"
+ index:
+ product: firefox
+ job-name: linux64-plain-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: Bp
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ run:
+ using: mozharness
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ disable_package_metrics: true
+ mozconfig-variant: plain-debug
+ script: mozharness/scripts/fx_desktop_build.py
+ tooltool-downloads: public
+ run-on-projects: [trunk]
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ optimization:
+ skip-unless-expanded: null
+
+linux64-devedition/opt:
+ description: "Linux64 devedition (shippable)"
+ use-pgo: linux64-shippable/opt
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: devedition
+ index:
+ product: devedition
+ job-name: linux64-opt
+ type: shippable
+ treeherder:
+ platform: linux64-devedition/opt
+ symbol: B
+ worker-type: b-linux
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: 'linux64-devedition'
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux/opt:
+ description: "Linux32 Opt"
+ index:
+ product: firefox
+ job-name: linux-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux32/opt
+ symbol: B
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr78']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux/debug:
+ description: "Linux32 Debug"
+ index:
+ product: firefox
+ job-name: linux-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux32/debug
+ symbol: B
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+
+linux-rusttests/opt:
+ description: "Linux32 Rust Tests Opt"
+ index:
+ product: firefox
+ job-name: linux-rusttests-opt
+ treeherder:
+ platform: linux32/opt
+ symbol: BR
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 2700
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: rusttests
+ mozconfig-variant: rusttests
+ tooltool-downloads: public
+ keep-artifacts: false
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ test-inclusive: [rusttests]
+
+linux-rusttests/debug:
+ description: "Linux32 Rust Tests Debug"
+ index:
+ product: firefox
+ job-name: linux-rusttests-debug
+ treeherder:
+ platform: linux32/debug
+ symbol: BR
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 2700
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: rusttests-debug
+ mozconfig-variant: rusttests-debug
+ tooltool-downloads: public
+ keep-artifacts: false
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ test-inclusive: [rusttests]
+
+linux-devedition/opt:
+ description: "Linux32 devedition (shippable)"
+ use-pgo: linux-shippable/opt
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: devedition
+ index:
+ product: devedition
+ job-name: linux-opt
+ type: shippable
+ treeherder:
+ platform: linux32-devedition/opt
+ symbol: B
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: linux-devedition
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux-shippable/opt:
+ description: "Linux32 Shippable"
+ use-pgo: true
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux-opt
+ type: shippable
+ treeherder:
+ platform: linux32-shippable/opt
+ symbol: Bpgo(B)
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 9000
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux-reproduced/opt:
+ description: "Linux32 Reproduced"
+ use-pgo: linux-shippable/opt
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux-reproduced-opt
+ treeherder:
+ platform: linux32-shippable/opt
+ symbol: Bpgo(repr)
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 9000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: repr
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ # Original comment: Limited to trunk until bug 1596350 is fixed.
+ # Addendum: Do not run on autoland, Bug 1599197
+ run-on-projects: ['mozilla-central', 'comm-central']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-reproduced/opt:
+ description: "Linux64 Reproduced"
+ use-pgo: linux64-shippable/opt
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux64-reproduced-opt
+ treeherder:
+ platform: linux64-shippable/opt
+ symbol: Bpgo(repr)
+ worker-type: b-linux
+ worker:
+ max-run-time: 9000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: repr
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ # Original comment: Limited to trunk until bug 1596350 is fixed.
+ # Addendum: Do not run on autoland, Bug 1599197
+ run-on-projects: ['mozilla-central', 'comm-central']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-asan/opt:
+ description: "Linux64 Opt ASAN"
+ index:
+ product: firefox
+ job-name: linux64-asan-opt
+ treeherder:
+ platform: linux64/asan
+ symbol: Bo
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt asan"
+ ASAN_OPTIONS: "detect_leaks=0"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: asan-tc
+ mozconfig-variant: nightly-asan
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-nightly
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-tsan/opt:
+ description: "Linux64 Opt TSAN"
+ index:
+ product: firefox
+ job-name: linux64-tsan-opt
+ treeherder:
+ platform: linux64/tsan
+ symbol: Bo
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt tsan"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: tsan-tc
+ mozconfig-variant: tsan
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-nightly
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-tsan-fuzzing/opt:
+ description: "Linux64 Fuzzing Opt TSAN"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-tsan-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/tsan
+ symbol: Bof
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: tsan-fuzzing
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: fuzzing-tsan-tc
+ mozconfig-variant: tsan-fuzzing
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-nightly
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
+
+linux64-asan-fuzzing/opt:
+ description: "Linux64 Fuzzing Opt ASAN"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-asan-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/asan
+ symbol: Bof
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing
+ ASAN_OPTIONS: "detect_leaks=0"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: fuzzing-asan-tc
+ mozconfig-variant: nightly-fuzzing-asan
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-nightly
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
+
+linux64-asan-fuzzing-ccov/opt:
+ description: "Linux64 Fuzzing Opt ASAN w/ Coverage"
+ index:
+ product: firefox
+ job-name: linux64-ccov-fuzzing-asan-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/asan
+ symbol: Bocf
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-ccov
+ ASAN_OPTIONS: "detect_leaks=0"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: asan-fuzzing-ccov
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-fuzzing-ccov/opt:
+ description: "Linux64 Fuzzing Opt w/ Coverage"
+ index:
+ product: firefox
+ job-name: linux64-ccov-fuzzing-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bocf
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_LOW_PARALLELISM_BUILD: '1'
+ PERFHERDER_EXTRA_OPTIONS: fuzzing-ccov
+ FORCE_GCC: '1'
+ ASAN_OPTIONS: "detect_leaks=0"
+ RUSTC_BOOTSTRAP: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: fuzzing-ccov
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-gcc-7
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
+
+linux64-asan-reporter-shippable/opt:
+ description: "Linux64 Opt ASAN Reporter (Shippable)"
+ attributes:
+ shippable: true
+ shipping-product:
+ by-release-type:
+ nightly: firefox
+ default: null
+ index:
+ product: firefox
+ job-name: linux64-asan-reporter-opt
+ type: shippable
+ treeherder:
+ platform: linux64-asan-reporter/opt
+ symbol: BoR
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-reporter
+ ASAN_OPTIONS: "detect_leaks=0"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 3600
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: asan-reporter-tc
+ mozconfig-variant: nightly-asan-reporter
+ tooltool-downloads: public
+ need-xvfb: true
+ mar-channel-id:
+ firefox-mozilla-central-asan
+ accepted-mar-channel-ids:
+ firefox-mozilla-central-asan
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-asan/debug:
+ description: "Linux64 Debug ASAN"
+ index:
+ product: firefox
+ job-name: linux64-asan-debug
+ treeherder:
+ platform: linux64/asan
+ symbol: Bd
+ worker-type: b-linux
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "debug asan"
+ ASAN_OPTIONS: "detect_leaks=0"
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: asan-tc-and-debug
+ mozconfig-variant: debug-asan
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-nightly
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+ optimization:
+ skip-unless-expanded: null
+
+linux64-shippable/opt:
+ description: "Linux64 Shippable"
+ use-pgo: true
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux64-opt
+ type: shippable
+ treeherder:
+ platform: linux64-shippable/opt
+ symbol: Bpgo(B)
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ max-run-time: 9000
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-noopt/debug:
+ description: "Linux64 No-optimize Debug"
+ index:
+ product: firefox
+ job-name: linux64-noopt-debug
+ treeherder:
+ platform: linux64-noopt/debug
+ symbol: B
+ tier: 2
+ attributes:
+ enable-full-crashsymbols: true
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: noopt-debug
+ mozconfig-variant: noopt-debug
+ tooltool-downloads: public
+ keep-artifacts: false
+ need-xvfb: true
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+
+linux64-rusttests/opt:
+ description: "Linux64 Rust Tests Opt"
+ index:
+ product: firefox
+ job-name: linux64-rusttests-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: BR
+ tier: 1
+ worker-type: b-linux
+ worker:
+ max-run-time: 2700
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: rusttests
+ mozconfig-variant: rusttests
+ tooltool-downloads: public
+ keep-artifacts: false
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ test-inclusive: [rusttests]
+
+linux64-rusttests/debug:
+ description: "Linux64 Rust Tests Debug"
+ index:
+ product: firefox
+ job-name: linux64-rusttests-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: BR
+ tier: 1
+ worker-type: b-linux
+ worker:
+ max-run-time: 2700
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: rusttests-debug
+ mozconfig-variant: rusttests-debug
+ tooltool-downloads: public
+ keep-artifacts: false
+ run-on-projects: ['trunk']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ test-inclusive: [rusttests]
+
+linux64-ccov/opt:
+ description: "Linux64-CCov Opt"
+ index:
+ product: firefox
+ job-name: linux64-ccov-opt
+ treeherder:
+ platform: linux64-ccov/opt
+ symbol: B
+ tier: 2
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ worker:
+ artifacts:
+ - name: public/code-coverage-grcov.zip
+ path: /builds/worker/workspace/obj-build/code-coverage-grcov.zip
+ type: file
+ max-run-time: 7200
+ env:
+ MOZ_LOW_PARALLELISM_BUILD: '1'
+ FORCE_GCC: '1'
+ RUSTC_BOOTSTRAP: '1'
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: code-coverage-opt
+ mozconfig-variant: code-coverage-opt
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-gcc-7
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-grcov
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-add-on-devel/opt:
+ description: "Linux64 add-on-devel"
+ index:
+ product: firefox
+ job-name: linux64-add-on-devel
+ treeherder:
+ platform: linux64-add-on-devel/opt
+ symbol: B
+ tier: 2
+ worker-type: b-linux
+ worker:
+ max-run-time: 3600
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: add-on-devel
+ mozconfig-variant: add-on-devel
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-aarch64/opt:
+ description: "Linux64 aarch64 Opt"
+ index:
+ product: firefox
+ job-name: linux64-aarch64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64-aarch64/opt
+ symbol: B
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-arm64-build}
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ mozconfig_platform: linux64-aarch64
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: opt
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-aarch64-cross
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
+
+linux-gcp/debug:
+ description: "Linux32 Debug - built on GCP"
+ index:
+ product: firefox
+ job-name: linux-gcp-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux32/debug
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+ optimization:
+ skip-unless-backstop: null
+
+linux-gcp/opt:
+ description: "Linux32 Opt - built on GCP"
+ index:
+ product: firefox
+ job-name: linux-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux32/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+linux64-gcp/debug:
+ description: "Linux64 Debug - built on GCP"
+ index:
+ product: firefox
+ job-name: linux64-gcp-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64/debug
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ # `fix-stacks` is needed because xpcshell self tests run as part of
+ # the build step. Once bug 1614626 moves them to the xpcshell task,
+ # this dependency can be removed.
+ - linux64-fix-stacks
+ optimization:
+ skip-unless-backstop: null
+
+linux64-gcp/opt:
+ description: "Linux64 Opt - built on GCP"
+ index:
+ product: firefox
+ job-name: linux64-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
diff --git a/taskcluster/ci/build/macosx-native.yml b/taskcluster/ci/build/macosx-native.yml
new file mode 100644
index 0000000000..361f9cf5e0
--- /dev/null
+++ b/taskcluster/ci/build/macosx-native.yml
@@ -0,0 +1,75 @@
+# 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/.
+---
+job-defaults:
+ index:
+ product: firefox
+ worker-type: b-osx-1015
+ worker:
+ max-run-time: 7200
+ run:
+ using: mozharness
+ script: "mozharness/scripts/fx_desktop_build.py"
+
+macosx64-plain/opt:
+ description: "MacOS X x64 Opt Plain"
+ index:
+ job-name: macosx64-plain-opt
+ treeherder:
+ symbol: Bp
+ platform: osx/opt
+ tier: 2
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ run:
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_macosx.py
+ extra-config:
+ disable_package_metrics: true
+ stage_platform: macosx64
+ mozconfig_platform: macosx64
+ mozconfig-variant: plain-opt
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - macosx64-cbindgen
+ - macosx64-nasm
+ - macosx64-node
+ - macosx64-rust
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-plain/debug:
+ description: "MacOS X x64 Debug Plain"
+ index:
+ job-name: macosx64-plain-debug
+ treeherder:
+ symbol: Bp
+ platform: osx/debug
+ tier: 2
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ run:
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_macosx.py
+ extra-config:
+ disable_package_metrics: true
+ stage_platform: macosx64
+ mozconfig_platform: macosx64
+ mozconfig-variant: plain-debug
+ run-on-projects: ['trunk']
+ fetches:
+ toolchain:
+ - macosx64-cbindgen
+ - macosx64-nasm
+ - macosx64-node
+ - macosx64-rust
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/ci/build/macosx.yml
new file mode 100644
index 0000000000..7e5e2c8933
--- /dev/null
+++ b/taskcluster/ci/build/macosx.yml
@@ -0,0 +1,698 @@
+# 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/.
+---
+job-defaults:
+ index:
+ product: firefox
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ secrets: true
+ script: "mozharness/scripts/fx_desktop_build.py"
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-dump-syms
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-llvm-dsymutil
+ - linux64-rust-macos
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+
+macosx64/debug:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ job-name: macosx64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/debug
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: cross-debug
+ mozconfig-variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+
+macosx64/opt:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ job-name: macosx64-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/opt
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+
+macosx64-asan-fuzzing/opt:
+ description: "MacOS X x64 Cross-compile Fuzzing ASAN"
+ index:
+ job-name: macosx64-fuzzing-asan-opt
+ treeherder:
+ platform: osx-cross/asan
+ symbol: Bof
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: cross-fuzzing-asan
+ mozconfig-variant: nightly-fuzzing-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - macosx64-llvm-symbolizer
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-fuzzing/debug:
+ description: "MacOS X x64 Cross-compile Fuzzing Debug"
+ index:
+ job-name: macosx64-fuzzing-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/debug
+ symbol: Bf
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: cross-fuzzing-debug
+ mozconfig-variant: debug-fuzzing
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-x64-devedition/opt:
+ description: "MacOS X Dev Edition x64 (shippable)"
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: devedition
+ index:
+ product: devedition
+ job-name: macosx64-x64-opt
+ type: shippable
+ treeherder:
+ platform: osx-cross-devedition/opt
+ symbol: Bx
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: macosx64-devedition
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - wasi-sysroot
+
+macosx64-aarch64-devedition/opt:
+ description: "MacOS X Dev Edition Aarch64 (shippable)"
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: devedition
+ index:
+ product: devedition
+ job-name: macosx64-aarch64-opt
+ type: shippable
+ treeherder:
+ platform: osx-aarch64-devedition/opt
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: ""
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: macosx64-aarch64-devedition
+ mozconfig_platform: macosx64-aarch64
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - macosx64-sdk-11.0
+
+macosx64-devedition/opt:
+ description: "MacOS X Dev Edition Universal"
+ attributes:
+ shippable: true
+ enable-build-signing: true
+ skip-upload-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: devedition
+ index:
+ product: devedition
+ job-name: macosx64-opt
+ type: shippable
+ treeherder:
+ platform: osx-cross-devedition/opt
+ symbol: B
+ tier: 1
+ run-on-projects: ['mozilla-beta']
+ worker:
+ max-run-time: 1800
+ run:
+ job-script: taskcluster/scripts/misc/unify.sh
+ config:
+ - builds/releng_base_firefox.py
+ dependencies:
+ macosx64-x64-devedition-opt: build-macosx64-x64-devedition/opt
+ macosx64-aarch64-devedition-opt: build-macosx64-aarch64-devedition/opt
+ fetches:
+ macosx64-x64-devedition-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: x64
+ - artifact: buildhub.json
+ extract: false
+ dest: ../artifacts
+ - artifact: host/bin/mar
+ extract: false
+ dest: ../artifacts/host/bin
+ - artifact: host/bin/mbsdiff
+ extract: false
+ dest: ../artifacts/host/bin
+ - artifact: target.txt
+ extract: false
+ dest: ../artifacts
+ - artifact: target_info.txt
+ extract: false
+ dest: ../artifacts
+ - artifact: target.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.mozinfo.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.test_packages.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.perftests.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.common.tests.tar.gz
+ dest: x64/common
+ - artifact: target.cppunittest.tests.tar.gz
+ dest: x64/cppunittest
+ - artifact: target.gtest.tests.tar.gz
+ dest: x64/gtest
+ - artifact: target.jittest.tests.tar.gz
+ dest: x64/jittest
+ - artifact: target.jsreftest.tests.tar.gz
+ dest: x64/jsreftest
+ - artifact: target.mochitest.tests.tar.gz
+ dest: x64/mochitest
+ - artifact: target.reftest.tests.tar.gz
+ dest: x64/reftest
+ - artifact: target.talos.tests.tar.gz
+ dest: x64/talos
+ - artifact: target.raptor.tests.tar.gz
+ dest: x64/raptor
+ - artifact: target.condprof.tests.tar.gz
+ dest: x64/confprof
+ - artifact: target.awsy.tests.tar.gz
+ dest: x64/awsy
+ - artifact: target.xpcshell.tests.tar.gz
+ dest: x64/xpcshell
+ - artifact: target.web-platform.tests.tar.gz
+ dest: x64/web-platform
+ - artifact: target.updater-dep.tests.tar.gz
+ dest: x64/updater-dep
+ - artifact: target.crashreporter-symbols.zip
+ dest: x64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: x64/jsshell
+ - artifact: target.generated-files.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.langpack.xpi
+ extract: false
+ dest: ../artifacts
+ - artifact: mozharness.zip
+ extract: false
+ dest: ../artifacts
+ macosx64-aarch64-devedition-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: aarch64
+ - artifact: target.common.tests.tar.gz
+ dest: aarch64/common
+ - artifact: target.cppunittest.tests.tar.gz
+ dest: aarch64/cppunittest
+ - artifact: target.gtest.tests.tar.gz
+ dest: aarch64/gtest
+ - artifact: target.jittest.tests.tar.gz
+ dest: aarch64/jittest
+ - artifact: target.jsreftest.tests.tar.gz
+ dest: aarch64/jsreftest
+ - artifact: target.mochitest.tests.tar.gz
+ dest: aarch64/mochitest
+ - artifact: target.reftest.tests.tar.gz
+ dest: aarch64/reftest
+ - artifact: target.talos.tests.tar.gz
+ dest: aarch64/talos
+ - artifact: target.raptor.tests.tar.gz
+ dest: aarch64/raptor
+ - artifact: target.condprof.tests.tar.gz
+ dest: aarch64/confprof
+ - artifact: target.awsy.tests.tar.gz
+ dest: aarch64/awsy
+ - artifact: target.xpcshell.tests.tar.gz
+ dest: aarch64/xpcshell
+ - artifact: target.web-platform.tests.tar.gz
+ dest: aarch64/web-platform
+ - artifact: target.updater-dep.tests.tar.gz
+ dest: aarch64/updater-dep
+ - artifact: target.crashreporter-symbols.zip
+ dest: aarch64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: aarch64/jsshell
+ toolchain:
+ - linux64-cctools-port
+
+macosx64-noopt/debug:
+ description: "MacOS X x64 No-optimize Debug"
+ index:
+ job-name: macosx64-noopt-debug
+ treeherder:
+ platform: osx-cross-noopt/debug
+ symbol: B
+ tier: 2
+ worker:
+ max-run-time: 3600
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: cross-noopt-debug
+ mozconfig-variant: cross-noopt-debug
+ keep-artifacts: false
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+
+macosx64-add-on-devel/opt:
+ description: "MacOS X x64 add-on-devel"
+ index:
+ job-name: macosx64-add-on-devel
+ treeherder:
+ platform: osx-cross-add-on-devel/opt
+ symbol: B
+ tier: 2
+ worker:
+ max-run-time: 3600
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: add-on-devel
+ mozconfig-variant: add-on-devel
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+
+macosx64-x64-shippable/opt:
+ description: "MacOS X x64 Cross-compile"
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ job-name: macosx64-x64-opt
+ type: shippable
+ treeherder:
+ platform: osx-shippable/opt
+ symbol: Bpgo(Bx)
+ tier: 1
+ run-on-projects: ['release']
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - wasi-sysroot
+
+macosx64-aarch64-shippable/opt:
+ description: "MacOS X aarch64 Cross-compile"
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ job-name: macosx64-aarch64-opt
+ type: shippable
+ treeherder:
+ platform: osx-aarch64-shippable/opt
+ symbol: Bpgo(B)
+ tier: 1
+ run-on-projects: ['release']
+ worker:
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: ""
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - macosx64-sdk-11.0
+
+macosx64-shippable/opt:
+ description: "MacOS X Universal"
+ attributes:
+ shippable: true
+ enable-build-signing: true
+ skip-upload-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ job-name: macosx64-opt
+ type: shippable
+ treeherder:
+ platform: osx-shippable/opt
+ symbol: Bpgo(B)
+ tier: 1
+ run-on-projects: ['release']
+ worker:
+ max-run-time: 1800
+ run:
+ job-script: taskcluster/scripts/misc/unify.sh
+ config:
+ - builds/releng_base_firefox.py
+ dependencies:
+ macosx64-x64-shippable-opt: build-macosx64-x64-shippable/opt
+ macosx64-aarch64-shippable-opt: build-macosx64-aarch64-shippable/opt
+ fetches:
+ macosx64-x64-shippable-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: x64
+ - artifact: buildhub.json
+ extract: false
+ dest: ../artifacts
+ - artifact: host/bin/mar
+ extract: false
+ dest: ../artifacts/host/bin
+ - artifact: host/bin/mbsdiff
+ extract: false
+ dest: ../artifacts/host/bin
+ - artifact: target.txt
+ extract: false
+ dest: ../artifacts
+ - artifact: target_info.txt
+ extract: false
+ dest: ../artifacts
+ - artifact: target.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.mozinfo.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.test_packages.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.perftests.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.common.tests.tar.gz
+ dest: x64/common
+ - artifact: target.cppunittest.tests.tar.gz
+ dest: x64/cppunittest
+ - artifact: target.gtest.tests.tar.gz
+ dest: x64/gtest
+ - artifact: target.jittest.tests.tar.gz
+ dest: x64/jittest
+ - artifact: target.jsreftest.tests.tar.gz
+ dest: x64/jsreftest
+ - artifact: target.mochitest.tests.tar.gz
+ dest: x64/mochitest
+ - artifact: target.reftest.tests.tar.gz
+ dest: x64/reftest
+ - artifact: target.talos.tests.tar.gz
+ dest: x64/talos
+ - artifact: target.raptor.tests.tar.gz
+ dest: x64/raptor
+ - artifact: target.condprof.tests.tar.gz
+ dest: x64/confprof
+ - artifact: target.awsy.tests.tar.gz
+ dest: x64/awsy
+ - artifact: target.xpcshell.tests.tar.gz
+ dest: x64/xpcshell
+ - artifact: target.web-platform.tests.tar.gz
+ dest: x64/web-platform
+ - artifact: target.updater-dep.tests.tar.gz
+ dest: x64/updater-dep
+ - artifact: target.crashreporter-symbols.zip
+ dest: x64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: x64/jsshell
+ - artifact: target.generated-files.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.langpack.xpi
+ extract: false
+ dest: ../artifacts
+ - artifact: mozharness.zip
+ extract: false
+ dest: ../artifacts
+ macosx64-aarch64-shippable-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: aarch64
+ - artifact: target.common.tests.tar.gz
+ dest: aarch64/common
+ - artifact: target.cppunittest.tests.tar.gz
+ dest: aarch64/cppunittest
+ - artifact: target.gtest.tests.tar.gz
+ dest: aarch64/gtest
+ - artifact: target.jittest.tests.tar.gz
+ dest: aarch64/jittest
+ - artifact: target.jsreftest.tests.tar.gz
+ dest: aarch64/jsreftest
+ - artifact: target.mochitest.tests.tar.gz
+ dest: aarch64/mochitest
+ - artifact: target.reftest.tests.tar.gz
+ dest: aarch64/reftest
+ - artifact: target.talos.tests.tar.gz
+ dest: aarch64/talos
+ - artifact: target.raptor.tests.tar.gz
+ dest: aarch64/raptor
+ - artifact: target.condprof.tests.tar.gz
+ dest: aarch64/confprof
+ - artifact: target.awsy.tests.tar.gz
+ dest: aarch64/awsy
+ - artifact: target.xpcshell.tests.tar.gz
+ dest: aarch64/xpcshell
+ - artifact: target.web-platform.tests.tar.gz
+ dest: aarch64/web-platform
+ - artifact: target.updater-dep.tests.tar.gz
+ dest: aarch64/updater-dep
+ - artifact: target.crashreporter-symbols.zip
+ dest: aarch64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: aarch64/jsshell
+ toolchain:
+ - linux64-cctools-port
+
+macosx64-ccov/opt:
+ description: "MacOS X x64 Cross-compile Code Coverage"
+ index:
+ job-name: macosx64-ccov-opt
+ treeherder:
+ platform: osx-cross-ccov/opt
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ RUSTC_BOOTSTRAP: '1'
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: code-coverage-opt
+ mozconfig-variant: code-coverage
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+
+macosx64-gcp/debug:
+ description: "MacOS X x64 Cross-compile - built on GCP"
+ index:
+ job-name: macosx64-gcp-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/debug
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: cross-debug
+ mozconfig-variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
+ optimization:
+ skip-unless-backstop: null
+
+macosx64-gcp/opt:
+ description: "MacOS X x64 Cross-compile - built on GCP"
+ index:
+ job-name: macosx64-gcp-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/opt
+ symbol: Bg
+ tier: 3
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcp
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-sccache
+ - wasi-sysroot
diff --git a/taskcluster/ci/build/windows-mingw.yml b/taskcluster/ci/build/windows-mingw.yml
new file mode 100644
index 0000000000..608c52eb3b
--- /dev/null
+++ b/taskcluster/ci/build/windows-mingw.yml
@@ -0,0 +1,156 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: mingw32-build}
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [build]
+ script: mozharness/scripts/fx_desktop_build.py
+ need-xvfb: false
+ optimization:
+ skip-unless-expanded: null
+
+win32-mingwclang/opt:
+ description: "Win32 MinGW-Clang Opt"
+ index:
+ product: firefox
+ job-name: win32-mingwclang-opt
+ treeherder:
+ platform: windows-mingw32/all
+ symbol: WMC32(Bo)
+ tier: 2
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt 32 clang"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_windows_32_mingw_builds.py
+ - builds/releng_sub_windows_configs/32_mingwclang.py
+ mozconfig-variant: mingwclang
+ run-on-projects: ['mozilla-central', 'mozilla-esr78']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - mingw32-rust
+ - linux64-upx
+ - linux64-wine
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-clang-mingw-x86
+ - linux64-mingw32-nsis
+ - linux64-mingw-fxc2-x86
+ - linux64-dump-syms
+
+win32-mingwclang/debug:
+ description: "Win32 MinGW-Clang Debug"
+ index:
+ product: firefox
+ job-name: win32-mingwclang-debug
+ treeherder:
+ platform: windows-mingw32/all
+ symbol: WMC32(Bd)
+ tier: 2
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "debug 32 clang"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_windows_32_mingw_builds.py
+ - builds/releng_sub_windows_configs/32_mingwclang.py
+ mozconfig-variant: mingwclang-debug
+ run-on-projects: ['mozilla-central', 'mozilla-esr78']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - mingw32-rust
+ - linux64-upx
+ - linux64-wine
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-clang-mingw-x86
+ - linux64-mingw32-nsis
+ - linux64-mingw-fxc2-x86
+ - linux64-dump-syms
+
+win64-mingwclang/opt:
+ description: "Win64 MinGW-Clang Opt"
+ index:
+ product: firefox
+ job-name: win64-mingwclang-opt
+ treeherder:
+ platform: windows-mingw32/all
+ symbol: WMC64(Bo)
+ tier: 2
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt 64 clang"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_windows_64_mingw_builds.py
+ - builds/releng_sub_windows_configs/64_mingwclang.py
+ mozconfig-variant: mingwclang
+ run-on-projects: ['mozilla-central', 'mozilla-esr78']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - mingw32-rust
+ - linux64-upx
+ - linux64-wine
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-clang-mingw-x64
+ - linux64-mingw32-nsis
+ - linux64-mingw-fxc2-x86
+ - linux64-dump-syms
+
+win64-mingwclang/debug:
+ description: "Win64 MinGW-Clang Debug"
+ index:
+ product: firefox
+ job-name: win64-mingwclang-debug
+ treeherder:
+ platform: windows-mingw32/all
+ symbol: WMC64(Bd)
+ tier: 2
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "debug 64 clang"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_windows_64_mingw_builds.py
+ - builds/releng_sub_windows_configs/64_mingwclang.py
+ mozconfig-variant: mingwclang-debug
+ run-on-projects: ['mozilla-central', 'mozilla-esr78']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - mingw32-rust
+ - linux64-upx
+ - linux64-wine
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-clang-mingw-x64
+ - linux64-mingw32-nsis
+ - linux64-mingw-fxc2-x86
+ - linux64-dump-syms
diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/ci/build/windows.yml
new file mode 100644
index 0000000000..630e31819f
--- /dev/null
+++ b/taskcluster/ci/build/windows.yml
@@ -0,0 +1,1717 @@
+# 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/.
+---
+job-defaults:
+ run:
+ using: mozharness
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-dump-syms
+ - win64-pdbstr
+
+win32/debug:
+ description: "Win32 Debug"
+ index:
+ product: firefox
+ job-name: win32-debug
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ options: [append-env-variables-from-configs]
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win32/debug.py
+ mozconfig-variant: debug
+ extra-config:
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win32/opt:
+ description: "Win32 Opt"
+ index:
+ product: firefox
+ job-name: win32-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-32/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ options: [append-env-variables-from-configs]
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64/debug:
+ description: "Win64 Debug"
+ index:
+ product: firefox
+ job-name: win64-debug
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ options: [append-env-variables-from-configs]
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/debug.py
+ mozconfig-variant: debug
+ extra-config:
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-fuzzing/debug:
+ description: "Win64 Fuzzing Debug"
+ index:
+ product: firefox
+ job-name: win64-fuzzing-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: Bf
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/debug.py
+ extra-config:
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: debug-fuzzing
+ run-on-projects: ['trunk']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-plain/debug:
+ description: "Win64 Debug Plain"
+ index:
+ product: firefox
+ job-name: win64-plain-debug
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: Bp
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ extra-config:
+ disable_package_metrics: true
+ stage_platform: win64
+ mozconfig-variant: plain-debug
+ run-on-projects: ['trunk']
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-node
+ - win64-nasm
+ - win64-cbindgen
+ - win64-winchecksec
+ optimization:
+ skip-unless-expanded: null
+
+win64/opt:
+ description: "Win64 Opt"
+ index:
+ product: firefox
+ job-name: win64-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ options: [append-env-variables-from-configs]
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ env:
+ # Setting LD_PRELOAD at the worker level would set it during
+ # fetch-content, which can fail randomly when a tar/unzip subprocess
+ # of fetch-content starts while the library is being extracted by
+ # another.
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-plain/opt:
+ description: "Win64 Opt Plain"
+ index:
+ product: firefox
+ job-name: win64-plain-opt
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: Bp
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ extra-config:
+ disable_package_metrics: true
+ stage_platform: win64
+ mozconfig-variant: plain-opt
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-nasm
+ - win64-node
+ - win64-cbindgen
+ - win64-winchecksec
+ optimization:
+ skip-unless-expanded: null
+
+win32-shippable/opt:
+ description: "Win32 Opt Shippable"
+ use-pgo: true
+ index:
+ product: firefox
+ job-name: win32-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ stub-installer:
+ by-release-type:
+ nightly: true
+ beta: true
+ release.*: true
+ esr.*: false
+ default:
+ by-project:
+ # browser/confvars.sh looks for nightly-try
+ try: true
+ default: false
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ symbol: Bpgo(B)
+ tier: 1
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 10800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-shippable/opt:
+ description: "Win64 Shippable"
+ use-pgo: true
+ index:
+ product: firefox
+ job-name: win64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ symbol: Bpgo(B)
+ tier: 1
+ run-on-projects: ['release']
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 10800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win32-add-on-devel/opt:
+ description: "Windows32 add-on-devel"
+ index:
+ product: firefox
+ job-name: win32-add-on-devel
+ treeherder:
+ platform: windows2012-32-add-on-devel/opt
+ symbol: B
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 10800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win32-add-on-devel
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: add-on-devel
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-add-on-devel/opt:
+ description: "Windows64 add-on-devel"
+ index:
+ product: firefox
+ job-name: win64-add-on-devel
+ treeherder:
+ platform: windows2012-64-add-on-devel/opt
+ symbol: B
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 10800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64-on-devel
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: add-on-devel
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-noopt/debug:
+ description: "Win64 No-optimize Debug"
+ index:
+ product: firefox
+ job-name: win64-noopt-debug
+ treeherder:
+ platform: windows2012-64-noopt/debug
+ symbol: B
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/noopt_debug.py
+ mozconfig-variant: noopt-debug
+ extra-config:
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win32-noopt/debug:
+ description: "Win32 No-optimize Debug"
+ index:
+ product: firefox
+ job-name: win32-noopt-debug
+ treeherder:
+ platform: windows2012-32-noopt/debug
+ symbol: B
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win32/noopt_debug.py
+ mozconfig-variant: noopt-debug
+ extra-config:
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win32-rusttests/opt:
+ description: "Win32 Rust Tests Opt"
+ index:
+ product: firefox
+ job-name: win32-rusttests-opt
+ treeherder:
+ platform: windows2012-32/opt
+ symbol: BR
+ tier: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win32.py
+ extra-config:
+ stage_platform: win32-rusttests
+ build_targets: ['pre-export', 'export', 'recurse_rusttests']
+ disable_package_metrics: true
+ mozconfig-variant: rusttests
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ optimization:
+ test-inclusive: [rusttests]
+
+win32-rusttests/debug:
+ description: "Win32 Rust Tests Debug"
+ index:
+ product: firefox
+ job-name: win32-rusttests-debug
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: BR
+ tier: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win32.py
+ extra-config:
+ stage_platform: win32-rusttests
+ build_targets: ['pre-export', 'export', 'recurse_rusttests']
+ disable_package_metrics: true
+ mozconfig-variant: rusttests-debug
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ optimization:
+ test-inclusive: [rusttests]
+
+win64-rusttests/opt:
+ description: "Win64 Rust Tests Opt"
+ index:
+ product: firefox
+ job-name: win64-rusttests-opt
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: BR
+ tier: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/rusttests_opt.py
+ mozconfig-variant: rusttests
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ optimization:
+ test-inclusive: [rusttests]
+
+win64-rusttests/debug:
+ description: "Win64 Rust Tests Debug"
+ index:
+ product: firefox
+ job-name: win64-rusttests-debug
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: BR
+ tier: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/rusttests_opt.py
+ mozconfig-variant: rusttests-debug
+ run-on-projects: ['trunk']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ optimization:
+ test-inclusive: [rusttests]
+
+win64-ccov/opt:
+ description: "Win64 Opt Code Coverage"
+ index:
+ product: firefox
+ job-name: win64-ccov-opt
+ attributes:
+ enable-build-signing: true
+ treeherder:
+ platform: windows2012-64/ccov
+ symbol: B
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ artifacts:
+ - name: public/code-coverage-grcov.zip
+ path: workspace\obj-build\code-coverage-grcov.zip
+ type: file
+ max-run-time: 9000
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ RUSTC_BOOTSTRAP: '1'
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/ccov_opt.py
+ mozconfig-variant: code-coverage
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-rust-size
+ - win64-cbindgen
+ - win64-grcov
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+
+win64-asan/debug:
+ description: "Win64 Debug ASAN"
+ index:
+ product: firefox
+ job-name: win64-asan-debug
+ treeherder:
+ platform: windows2012-64/asan
+ symbol: Bd
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: "debug asan"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/asan_debug.py
+ extra-config:
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: debug-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ - win64-llvm-symbolizer
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-asan/opt:
+ description: "Win64 Opt ASAN"
+ index:
+ product: firefox
+ job-name: win64-asan-opt
+ treeherder:
+ platform: windows2012-64/asan
+ symbol: Bo
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: "opt asan"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64-asan
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: nightly-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ - win64-llvm-symbolizer
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-asan-reporter-shippable/opt:
+ description: "Win64 Opt ASAN Reporter (Shippable)"
+ attributes:
+ shippable: true
+ shipping-product:
+ by-release-type:
+ nightly: firefox
+ default: null
+ index:
+ product: firefox
+ job-name: win64-asan-reporter-opt
+ type: shippable
+ treeherder:
+ platform: win64-asan-reporter/opt
+ symbol: BoR
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: "asan-reporter"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/asan_reporter_opt.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-asan-reporter
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: nightly-asan-reporter
+ mar-channel-id:
+ firefox-mozilla-central-asan
+ accepted-mar-channel-ids:
+ firefox-mozilla-central-asan
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ - win64-llvm-symbolizer
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-asan-fuzzing/opt:
+ description: "Win64 Fuzzing Opt ASAN"
+ index:
+ product: firefox
+ job-name: win64-fuzzing-asan-opt
+ treeherder:
+ platform: windows2012-64/asan
+ symbol: Bof
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: fuzzing-asan
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64-fuzzing-asan
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: nightly-fuzzing-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ - win64-llvm-symbolizer
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win32-devedition/opt:
+ description: "Win32 Dev Edition (shippable)"
+ use-pgo: win32-shippable/opt
+ index:
+ product: devedition
+ job-name: win32-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ stub-installer:
+ by-release-type:
+ nightly: true
+ beta: true
+ release.*: true
+ default:
+ by-project:
+ # browser/confvars.sh looks for nightly-try
+ try: true
+ default: false
+ shipping-phase: build
+ shipping-product: devedition
+ treeherder:
+ platform: windows2012-32-devedition/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 10800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ options: [append-env-variables-from-configs]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win32-devedition
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-devedition/opt:
+ description: "Win64 Dev Edition (shippable)"
+ use-pgo: win64-shippable/opt
+ index:
+ product: devedition
+ job-name: win64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: devedition
+ treeherder:
+ platform: windows2012-64-devedition/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 10800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-devedition
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-aarch64/debug:
+ description: "AArch64 Win64 Debug"
+ index:
+ product: firefox
+ job-name: win64-aarch64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-aarch64/debug
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/debug.py
+ extra-config:
+ mozconfig_platform: win64-aarch64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.9.6"
+ mozconfig-variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-aarch64/opt:
+ description: "AArch64 Win64 Opt"
+ index:
+ product: firefox
+ job-name: win64-aarch64-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ # We need to package tests in order for the win64-aarch64-eme artifact
+ # build to fetch them, even though no tests run against this task
+ # directly.
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: windows2012-aarch64/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64-aarch64
+ mozconfig_platform: win64-aarch64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.9.6"
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-aarch64-eme/opt:
+ description: "AArch64 Win64 Opt w/ EME"
+ index:
+ product: firefox
+ job-name: win64-aarch64-eme-opt
+ treeherder:
+ platform: windows2012-aarch64/opt
+ symbol: Be
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ PERFHERDER_EXTRA_OPTIONS: aarch64-eme
+ MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
+ MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
+ USE_ARTIFACT: '1'
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64-aarch64
+ mozconfig_platform: win64-aarch64
+ dependencies:
+ win32-opt: build-win32/opt
+ win64-aarch64-opt: build-win64-aarch64/opt
+ fetches:
+ toolchain:
+ - linux64-node
+ - linux64-wine
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-aarch64-shippable/opt:
+ description: "AArch64 Win64 Shippable"
+ index:
+ product: firefox
+ job-name: win64-aarch64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ # Skip the test packaging check because we copy test packages from
+ # another build task rather than generating them in this task.
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-aarch64-shippable/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
+ MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
+ USE_ARTIFACT: '1'
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-aarch64
+ mozconfig_platform: win64-aarch64
+ dependencies:
+ win32-opt: build-win32-shippable/opt
+ win64-aarch64-opt: build-win64-aarch64-shippable-no-eme/opt
+ fetches:
+ # Abuse fetches to copy the generated-files, langpack, and test
+ # artifacts from the non-eme build directly to the artifacts directory
+ # of this build.
+ win64-aarch64-opt:
+ - artifact: target.test_packages.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.common.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.cppunittest.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.mochitest.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.reftest.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.talos.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.raptor.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.condprof.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.awsy.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.xpcshell.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.web-platform.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.updater-dep.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.generated-files.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.langpack.xpi
+ extract: false
+ dest: ../artifacts
+ toolchain:
+ - linux64-node
+ - linux64-wine
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-aarch64-shippable-no-eme/opt:
+ description: "AArch64 Win64 Shippable w/o EME"
+ use-pgo: win64-shippable/opt
+ index:
+ product: firefox
+ job-name: win64-aarch64-no-eme-opt
+ type: shippable
+ attributes:
+ enable-full-crashsymbols: true
+ # We need to package tests in order for the actual
+ # win64-aarch64-shippable/opt build to copy them from this task, even
+ # though no tests run against this task directly.
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-aarch64/opt
+ symbol: Nn
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-aarch64
+ mozconfig_platform: win64-aarch64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.9.6"
+ run-on-projects: ['all']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-aarch64-devedition/opt:
+ description: "AArch64 Win64 Dev Edition (shippable)"
+ index:
+ product: devedition
+ job-name: win64-aarch64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ # Skip the test packaging check because we copy test packages from
+ # another build task rather than generating them in this task.
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: devedition
+ treeherder:
+ platform: windows2012-aarch64-devedition/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
+ MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
+ USE_ARTIFACT: '1'
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-aarch64-devedition
+ mozconfig_platform: win64-aarch64
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ dependencies:
+ win32-opt: build-win32-devedition/opt
+ win64-aarch64-opt: build-win64-aarch64-devedition-no-eme/opt
+ fetches:
+ # Abuse fetches to copy the generated-files, langpack, and test
+ # artifacts from the non-eme build directly to the artifacts directory
+ # of this build.
+ win64-aarch64-opt:
+ - artifact: target.test_packages.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.common.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.cppunittest.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.mochitest.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.reftest.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.talos.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.raptor.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.condprof.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.awsy.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.xpcshell.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.web-platform.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.updater-dep.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.generated-files.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.langpack.xpi
+ extract: false
+ dest: ../artifacts
+ toolchain:
+ - linux64-node
+ - linux64-wine
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+win64-aarch64-devedition-no-eme/opt:
+ description: "AArch64 Win64 Dev Edition w/o EME"
+ use-pgo: win64-shippable/opt
+ index:
+ product: devedition
+ job-name: win64-aarch64-no-eme-opt
+ type: shippable
+ attributes:
+ enable-full-crashsymbols: true
+ # We need to package tests in order for the actual
+ # win64-aarch64-devedition/opt build to copy them from this task, even
+ # though no tests run against this task directly.
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: devedition
+ treeherder:
+ platform: windows2012-aarch64-devedition/opt
+ symbol: Nn
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
+ PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-aarch64
+ mozconfig_platform: win64-aarch64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.9.6"
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
diff --git a/taskcluster/ci/code-review/kind.yml b/taskcluster/ci/code-review/kind.yml
new file mode 100644
index 0000000000..77f5215647
--- /dev/null
+++ b/taskcluster/ci/code-review/kind.yml
@@ -0,0 +1,41 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.code_review:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - source-test
+
+jobs:
+ issues:
+ label: code-review-issues
+ description: List all issues found in static analysis and linting tasks
+ worker-type: b-linux
+
+ # Only run by using the code-review target_tasks_method
+ run-on-projects: []
+
+ # This option permits to run the task
+ # regardless of the soft-dependencies tasks exit status
+ # as we are interested in the task failures
+ requires: all-resolved
+
+ # Publish on pulse
+ routes:
+ - project.relman.codereview.v1.try_ending
+
+ # Dummy execution for now, we only need the pulse message
+ worker:
+ docker-image:
+ in-tree: debian10-amd64-build
+ max-run-time: 600
+ run:
+ using: run-task
+ checkout: false
+ command: /bin/true
diff --git a/taskcluster/ci/condprof/kind.yml b/taskcluster/ci/condprof/kind.yml
new file mode 100644
index 0000000000..2e821b4279
--- /dev/null
+++ b/taskcluster/ci/condprof/kind.yml
@@ -0,0 +1,334 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects:
+ - mozilla-central
+ treeherder:
+ kind: other
+ tier: 2
+ run:
+ using: run-task
+ cwd: fetches/condprofile
+ checkout: false
+ tooltool-downloads: public
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
+ worker:
+ taskcluster-proxy: true
+ max-run-time: 10800
+jobs:
+ windows2012-64-firefox:
+ worker-type: b-win2012
+ description: Creates or updates conditioned profiles on Win64
+ treeherder:
+ symbol: condprof(firefox)
+ platform: windows2012-64/opt
+ index:
+ product: firefox
+ job-name: condprof-win64
+ dependencies:
+ build: build-win64-shippable/opt
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.zip
+ toolchain:
+ - win64-geckodriver
+ run:
+ command: >-
+ python3.exe condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
+ --firefox ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ linux64-firefox:
+ worker-type: b-linux
+ description: Creates or updates conditioned profiles on Linux
+ treeherder:
+ symbol: condprof(firefox)
+ platform: linux64/opt
+ index:
+ product: firefox
+ job-name: condprof-linux64
+ dependencies:
+ build: build-linux64-shippable/opt
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.tar.bz2
+ toolchain:
+ - linux64-geckodriver
+ run:
+ command: >-
+ python3.7 virtualenv/virtualenv.py . &&
+ bin/python3.7 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --firefox ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --scenario settled
+ ../../archive
+ worker:
+ docker-image: {in-tree: condprof}
+ artifacts:
+ - name: public/condprof
+ path: /builds/worker/archive
+ type: directory
+ macosx64-firefox:
+ worker-type: t-osx-1014
+ description: Creates or updates conditioned profiles on macOS
+ treeherder:
+ symbol: condprof(firefox)
+ platform: macosx1014-64/opt
+ index:
+ product: firefox
+ job-name: condprof-macosx64
+ dependencies:
+ build: build-macosx64-shippable/opt
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.dmg
+ extract: false
+ toolchain:
+ - macosx64-geckodriver
+ run:
+ command: >-
+ python3 -m venv . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --firefox ${MOZ_FETCHES_DIR}/target.dmg
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ android-hw-g5-7-0-arm7-api-16-geckoview:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Creates or update conditioned profiles on GeckoView+G5
+ treeherder:
+ symbol: condprof(geckoview)
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+ index:
+ product: firefox
+ job-name: condprof-g5-geckoview_example
+ dependencies:
+ build: build-android-api-16-shippable/opt
+ fetches:
+ build:
+ - artifact: en-US/target.condprof.tests.tar.gz
+ - artifact: geckoview_example.apk
+ extract: false
+ toolchain:
+ - linux64-geckodriver
+ run:
+ run-as-root: true
+ command: >-
+ adb install -r $MOZ_FETCHES_DIR/geckoview_example.apk &&
+ python3 virtualenv/virtualenv.py . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --device-name g5
+ --firefox org.mozilla.geckoview_example
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ android-hw-g5-7-0-arm7-api-16-fenix:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Creates or update conditioned profiles on Fenix+G5
+ treeherder:
+ symbol: condprof(fenix)
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+ index:
+ product: firefox
+ job-name: condprof-g5-fenix
+ dependencies:
+ build: build-linux64-shippable/opt
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ toolchain:
+ - linux64-geckodriver
+ run:
+ run-as-root: true
+ command: >-
+ curl -L -o target.apk https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/mobile.v2.fenix.nightly.latest.armeabi-v7a/artifacts/public/build/armeabi-v7a/target.apk &&
+ adb install -r target.apk &&
+ rm -rf target.apk &&
+ python3 virtualenv/virtualenv.py . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --device-name g5
+ --firefox org.mozilla.fenix
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ android-hw-g5-7-0-arm7-api-16-fennec68:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Creates or update conditioned profiles on Fennec68+G5
+ treeherder:
+ symbol: condprof(fennec68)
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+ index:
+ product: firefox
+ job-name: condprof-g5-firefox
+ dependencies:
+ build: build-linux64-shippable/opt
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ toolchain:
+ - linux64-geckodriver
+ run:
+ run-as-root: true
+ command: >-
+ curl -L -o target.apk https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-esr68.signed-nightly.nightly.latest.mobile.android-api-16-release-opt/artifacts/public/build/target.apk &&
+ adb install -r target.apk &&
+ python3 virtualenv/virtualenv.py . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --device-name g5
+ --firefox org.mozilla.firefox
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ android-hw-p2-8-0-aarch64-fenix:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Creates or update conditioned profiles on Fenix+P2
+ treeherder:
+ symbol: condprof(fenix)
+ platform: android-hw-p2-8-0-android-aarch64/opt
+ index:
+ product: firefox
+ job-name: condprof-p2_aarch64-fenix
+ dependencies:
+ build: build-android-api-16-shippable/opt
+ fetches:
+ build:
+ - artifact: en-US/target.condprof.tests.tar.gz
+ toolchain:
+ - linux64-geckodriver
+ run:
+ run-as-root: true
+ command: >-
+ curl -L -o target.apk https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/mobile.v2.fenix.nightly.latest.arm64-v8a/artifacts/public/build/arm64-v8a/target.apk &&
+ adb install -r target.apk &&
+ rm -rf target.apk &&
+ python3 virtualenv/virtualenv.py . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --device-name p2_aarch64
+ --firefox org.mozilla.fenix
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ android-hw-p2-8-0-android-aarch64-geckoview:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Creates or update conditioned profiles on GeckoView+P2
+ treeherder:
+ symbol: condprof(geckoview)
+ platform: android-hw-p2-8-0-android-aarch64/opt
+ index:
+ product: firefox
+ job-name: condprof-p2_aarch64-geckoview_example
+ dependencies:
+ build: build-android-api-16-shippable/opt
+ fetches:
+ build:
+ - artifact: en-US/target.condprof.tests.tar.gz
+ - artifact: geckoview_example.apk
+ extract: false
+ toolchain:
+ - linux64-geckodriver
+ run:
+ run-as-root: true
+ command: >-
+ adb install -r $MOZ_FETCHES_DIR/geckoview_example.apk &&
+ python3 virtualenv/virtualenv.py . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --device-name p2_aarch64
+ --firefox org.mozilla.geckoview_example
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ android-hw-p2-8-0-aarch64-fennec68:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Creates or update conditioned profiles on Fennec68+P2
+ treeherder:
+ symbol: condprof(fennec68)
+ platform: android-hw-p2-8-0-android-aarch64/opt
+ index:
+ product: firefox
+ job-name: condprof-p2_aarch64-firefox
+ dependencies:
+ build: build-linux64-shippable/opt
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ toolchain:
+ - linux64-geckodriver
+ run:
+ run-as-root: true
+ command: >-
+ curl -L -o target.apk https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-esr68.signed-nightly.nightly.latest.mobile.android-aarch64-release-opt/artifacts/public/build/target.apk &&
+ adb install -r target.apk &&
+ rm -rf target.apk &&
+ python3 virtualenv/virtualenv.py . &&
+ bin/python3 condprof/main.py
+ --force-new
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --device-name p2_aarch64
+ --firefox org.mozilla.firefox
+ --scenario settled
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml
new file mode 100644
index 0000000000..2b9dcdc0fc
--- /dev/null
+++ b/taskcluster/ci/config.yml
@@ -0,0 +1,621 @@
+# 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/.
+---
+trust-domain: gecko
+project-repo-param-prefix: ''
+product-dir: 'browser'
+treeherder:
+ group-names:
+ 'cram': 'Cram tests'
+ 'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey'
+ 'js-bench-v8': 'JavaScript shell benchmarks with Google V8'
+ 'node': 'Node tests'
+ 'py2': 'Python 2 unit tests'
+ 'py3': 'Python 3 unit tests'
+ 'A': 'Android Gradle tests'
+ 'Bpgo': 'Profile-guided optimization builds'
+ 'Btime': 'Browsertime performance tests on Firefox'
+ 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s'
+ 'Btime-wr-1proc': 'Browsertime performance tests on Firefox without e10s, with webrender enabled'
+ 'Btime-fis': 'Browsertime performance tests on Firefox with fission enabled'
+ 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling'
+ 'Btime-Prof-wr': 'Browsertime performance tests on Firefox with Gecko Profiling, webrender enabled'
+ 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s'
+ 'Btime-live': 'Browsertime performance tests on Firefox'
+ 'Btime-live-fenix': 'Browsertime performance tests on Firefox'
+ 'Btime-live-fenix-wr': 'Browsertime performance tests on Firefox with webrender enabled'
+ 'Btime-live-ChR': 'Browsertime performance tests on Firefox'
+ 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release'
+ 'Btime-Cr': 'Browsertime performance tests on Google Chromium'
+ 'Btime-P': 'Browsertime power tests on Firefox/Geckoview'
+ 'Btime-P-wr': 'Browsertime power tests on Firefox/Geckoview with webrender enabled'
+ 'Btime-P-fenix': 'Browsertime power tests on Fenix'
+ 'Btime-P-fenix-wr': 'Browsertime power tests on Fenix with webrender enabled'
+ 'Btime-P-1proc': 'Browsertime power tests on Fennec'
+ 'Btime-P-1proc-wr': 'Browsertime power tests on Fennec with webrender enabled'
+ 'Btime-P-refbrow': 'Browsertime power tests on reference browser'
+ 'Btime-P-refbrow-wr': 'Browsertime power tests on reference browser with webrender enabled'
+ 'Btime-fenix': 'Browsertime performance tests on Fenix'
+ 'Btime-fenix-wr': 'Browsertime performance tests on Fenix with webrender enabled'
+ 'Btime-fennec': 'Browsertime performance tests on Fennec'
+ 'Btime-fennec-1proc': 'Browsertime performance tests on Fennec without e10s'
+ 'Btime-refbrow': 'Browsertime performance tests on the reference browser'
+ 'Btime-refbrow-wr': 'Browsertime performance tests on the reference browser with webrender enabled'
+ 'Btime-Prof-fenix': 'Browsertime performance tests on Fenix with Gecko Profiling'
+ 'Btime-Prof-fennec': 'Browsertime performance tests on Fennec with Gecko Profiling'
+ 'Btime-Prof-fennec-1proc': 'Browsertime performance tests on Fennec without e10s with Gecko Profiling'
+ 'Btime-Prof-refbrow': 'Browsertime performance tests on the reference browser with Gecko Profiling'
+ 'Btime-wr': 'Browsertime performance tests on Android with webrender enabled'
+ 'Btime-live-wr': 'Browsertime performance tests on Android with webrender enabled'
+ 'Fetch': 'Fetch and store content'
+ 'Fxfn-l': 'Firefox functional tests (local)'
+ 'Fxfn-l-1proc': 'Firefox functional tests (local) without e10s'
+ 'Fxfn-r': 'Firefox functional tests (remote)'
+ 'Fxfn-r-1proc': 'Firefox functional tests (remote) without e10s'
+ 'iris': 'Iris testing suite'
+ 'l10n-bump': 'L10n Bumper'
+ 'M': 'Mochitests'
+ 'M-1proc': 'Mochitests without e10s'
+ 'M-a11y-checks': 'Mochitests with accessibility checks enabled'
+ 'M-fis': 'Mochitests with fission enabled'
+ 'M-fis-xorig': 'Mochitests with cross-origin and fission enabled'
+ 'M-gli': 'Mochitests with WebGL over IPC'
+ 'M-spi': 'Mochitests with socket process'
+ 'M-spi-1proc': 'Mochitests with socket process without e10s'
+ 'M-spi-nw': 'Mochitests with networking on socket process'
+ 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s'
+ 'M-V-1proc': 'Mochitests on Valgrind without e10s'
+ 'MSI': 'Repack installers into MSIs'
+ 'MSIs': 'Signing of Repacked installers of MSIs'
+ 'R': 'Reftests'
+ 'R-1proc': 'Reftests without e10s'
+ 'R-fis': 'Reftests with fission enabled'
+ 'R-swr': 'Reftests with software webrender enabled'
+ 'Rap': 'Raptor performance tests on Firefox'
+ 'Rap-wr': 'Raptor performance tests on Firefox'
+ 'Rap-live': 'Raptor performance tests on Firefox with live sites'
+ 'Rap-1proc': 'Raptor performance tests on Firefox without e10s'
+ 'Rap-fis': 'Raptor performance tests on Firefox with fission enabled'
+ 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling'
+ 'Rap-Prof-1proc': 'Raptor performance tests on Firefox with Gecko Profiling and without e10s'
+ 'Rap-ChR': 'Raptor performance tests on Google Chrome Release'
+ 'Rap-Cr': 'Raptor performance tests on Google Chromium'
+ 'Rap-P': 'Raptor power tests on Firefox'
+ 'Rap-P-1proc': 'Raptor power tests on Firefox without e10s'
+ 'Rap-fenix': 'Raptor performance tests on Fenix'
+ 'Rap-fennec': 'Raptor performance tests on Fennec'
+ 'Rap-fennec-1proc': 'Raptor performance tests on Fennec without e10s'
+ 'Rap-refbrow': 'Raptor performance tests on the reference browser'
+ 'Rap-refbrow-wr': 'Raptor performance tests on the reference browser'
+ 'remote': 'Remote debugging protocol tests'
+ 'T': 'Talos performance tests'
+ 'T-1proc': 'Talos performance tests without e10s'
+ 'T-fis': 'Talos performance tests with fission enabled'
+ 'T-gli': 'Talos performance tests with WebGL over IPC'
+ 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling'
+ 'T-Prof-1proc': 'Talos performance tests on Firefox with Gecko Profiling and without e10s'
+ 'T-Prof-fis': 'Talos performance tests on Firefox with fission and Gecko Profiling'
+ 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling'
+ 'T-swr': 'Talos performance tests with software webrender enabled'
+ 'Tss': 'Talos performance tests, Stylo sequential'
+ 'Tss-fis': 'Talos performance tests, Stylo sequential with fission enabled'
+ 'Tss-1proc': 'Talos performance tests with Stylo sequential without e10s'
+ 'tt': 'Telemetry tests'
+ 'tt-1proc': 'Telemetry tests without e10s'
+ 'SY': 'Are we slim yet tests by TaskCluster'
+ 'SY-fis': 'Are we slim yet tests by TaskCluster, fission enabled'
+ 'VP': 'VideoPuppeteer tests'
+ 'W': 'Web platform tests'
+ 'W-1proc': 'Web platform tests without e10s'
+ 'W-fis': 'Web platform tests with fission enabled'
+ 'W-b': 'Web platform tests (backlog)'
+ 'W-b-fis': 'Web platform tests (backlog) with fission enabled'
+ 'X': 'Xpcshell tests'
+ 'X-1proc': 'Xpcshell tests, without e10s'
+ 'X-fis': 'Xpcshell tests with fission enabled'
+ 'X-spi-nw': 'Xpcshell tests with networking on socket process'
+ 'X-f': 'Xpcshell tests that fail on a given config'
+ 'X-f-fis': 'Xpcshell tests that fail on a given config w/fission'
+ 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process'
+ 'L10n': 'Localised Repacks'
+ 'L10n-Rpk': 'Localized Repackaged Repacks'
+ 'BM': 'Beetmover'
+ 'BMR': 'Beetmover repackages'
+ 'c-Up': 'Balrog submission of complete updates'
+ 'cs': 'Checksum signing'
+ 'css': 'Checksum signing for source'
+ 'rs': 'Repackage signing'
+ 'BMcs': 'Beetmover checksums'
+ 'BMcslang': 'Beetmover checksums for language packs'
+ 'BMcss': 'Beetmover checksums for source'
+ 'Aries': 'Aries Device Image'
+ 'Deb8': 'Packages for Debian 8'
+ 'Deb8-32': 'Packages for Debian 8 32-bits'
+ 'Deb9': 'Packages for Debian 9'
+ 'Deb10': 'Packages for Debian 10'
+ 'Nexus 5-L': 'Nexus 5-L Device Image'
+ 'I': 'Docker Image Builds'
+ 'TL': 'Toolchain builds for Linux 64-bits'
+ 'TL32': 'Toolchain builds for Linux 32-bits'
+ 'TM': 'Toolchain builds for OSX'
+ 'TMW': 'Toolchain builds for Windows MinGW'
+ 'TW32': 'Toolchain builds for Windows 32-bits'
+ 'TW64': 'Toolchain builds for Windows 64-bits'
+ 'WMC32': 'MinGW-Clang builds for Windows 32-bits'
+ 'WMC64': 'MinGW-Clang builds for Windows 64-bits'
+ 'Searchfox': 'Searchfox builds'
+ 'SM': 'Spidermonkey builds'
+ 'pub': 'APK publishing'
+ 'p': 'Partial generation'
+ 'ps': 'Partials signing'
+ 'ms': 'Complete MAR signing'
+ 'ms-stage': 'Autograph-stage MAR signing test'
+ 'Rel': 'Release promotion'
+ 'Snap': 'Snap image generation'
+ 'Flatpak': 'Flatpak image generation'
+ 'langpack': 'Langpack sigatures and uploads'
+ 'TPS': 'Sync tests'
+ 'UV': 'Update verify'
+ 'pydep': 'python dependency update'
+ 'WR': 'WebRender standalone'
+ 'Wgpu': 'WebGPU standalone'
+ 'Gd': 'Geckodriver'
+ 'cpp': 'C/C++ checks'
+ 'pedantic': 'pedantic checks'
+ 'text': 'Check on texts'
+ 'misc': 'Misc checks'
+ 'js': 'JavaScript checks'
+ 'py': 'Python checks'
+ 'java': 'Java checks'
+ 'rust': 'Rust checks'
+ 'Static-Analysis': 'Full tree static-analysis'
+ 'SS': 'Shadow scheduler'
+ 'test-info': 'Test manifest skip/fail information'
+ 'vismet': 'Visual Metrics Analysis'
+ 'condprof': 'Conditioned Profile Builder'
+ 'doc': 'Documentation'
+ 'GhS': 'GitHub Synchronization'
+ 'perftest': 'Performance tests'
+ 'perftest-http3': 'Performance tests with HTTP/3'
+ 'fuzzing': 'Fuzzing checks'
+
+index:
+ products:
+ - 'firefox'
+ - 'fennec'
+ - 'mobile'
+ - 'static-analysis'
+ - 'devedition'
+ - 'source'
+ - 'system-symbols'
+ - 'geckodriver'
+
+try:
+ # We have a few platforms for which we want to do some "extra" builds, or at
+ # least build-ish things. Sort of. Anyway, these other things are implemented
+ # as different "platforms". These do *not* automatically ride along with "-p
+ # all"
+ ridealong-builds:
+ 'linux':
+ - 'sm-arm-sim-linux32'
+ 'linux64':
+ - 'sm-plain-linux64'
+ - 'sm-nojit-linux64'
+ - 'sm-nonunified-linux64'
+ - 'sm-arm-sim-linux32'
+ - 'sm-arm64-sim-linux64'
+ - 'sm-compacting-linux64'
+ - 'sm-rootanalysis-linux64'
+ - 'sm-package-linux64'
+ - 'sm-tsan-linux64'
+ - 'sm-asan-linux64'
+ - 'sm-mozjs-sys-linux64'
+ - 'sm-msan-linux64'
+ - 'sm-fuzzing-linux64'
+ - 'sm-rust-bindings-linux64'
+ 'win32':
+ - 'sm-plain-win32'
+ - 'sm-compacting-win32'
+
+release-promotion:
+ products:
+ - 'devedition'
+ - 'fennec'
+ - 'firefox'
+ flavors:
+ promote_devedition:
+ product: devedition
+ target-tasks-method: promote_desktop
+ partial-updates: true
+ promote_firefox:
+ product: firefox
+ target-tasks-method: promote_desktop
+ partial-updates: true
+ promote_firefox_partner_repack:
+ product: firefox
+ rebuild-kinds:
+ - release-partner-repack
+ - release-partner-repack-chunking-dummy
+ - release-partner-repack-signing
+ - release-partner-repack-notarization-part-1
+ - release-partner-repack-notarization-poller
+ - release-partner-repack-repackage
+ - release-partner-repack-repackage-signing
+ - release-partner-repack-beetmover
+ target-tasks-method: promote_desktop
+ promote_firefox_partner_attribution:
+ product: firefox
+ rebuild-kinds:
+ - release-partner-attribution
+ - release-partner-attribution-beetmover
+ target-tasks-method: promote_desktop
+ promote_firefox_rc:
+ product: firefox
+ is-rc: true
+ target-tasks-method: promote_desktop
+ partial-updates: true
+ push_devedition:
+ product: devedition
+ target-tasks-method: push_desktop
+ partial-updates: true
+ push_firefox:
+ product: firefox
+ target-tasks-method: push_desktop
+ partial-updates: true
+ ship_devedition:
+ product: devedition
+ target-tasks-method: ship_desktop
+ version-bump: true
+ partial-updates: true
+ ship_firefox:
+ product: firefox
+ target-tasks-method: ship_desktop
+ version-bump: true
+ partial-updates: true
+ ship_firefox_rc:
+ product: firefox
+ is-rc: true
+ target-tasks-method: ship_desktop
+ partial-updates: true
+
+
+merge-automation:
+ behaviors:
+ central-to-beta:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "config/milestone.txt"
+ new-suffix: ''
+ - filename: "browser/config/version.txt"
+ new-suffix: ''
+ - filename: "browser/config/version_display.txt"
+ new-suffix: 'b1'
+ replacements:
+ - - browser/config/mozconfigs/linux32/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/linux64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/win32/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/win64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/win64-aarch64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/macosx64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - build/mozconfig.common
+ - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}'
+ - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}'
+ - - build/mozconfig.common
+ - '# Disable enforcing that add-ons are signed by the trusted root'
+ - '# Enable enforcing that add-ons are signed by the trusted root'
+ merge-old-head: true
+ base-tag: 'FIREFOX_BETA_{major_version}_BASE'
+ end-tag: 'FIREFOX_BETA_{major_version}_END'
+ from-repo: 'https://hg.mozilla.org/mozilla-central'
+ from-branch: 'central'
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
+ to-branch: 'beta'
+ beta-to-release:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "browser/config/version_display.txt"
+ new-suffix: ''
+ replacements: []
+ merge-old-head: true
+ base-tag: 'FIREFOX_RELEASE_{major_version}_BASE'
+ end-tag: 'FIREFOX_RELEASE_{major_version}_END'
+ from-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
+ from-branch: 'beta'
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-release'
+ to-branch: 'release'
+ release-to-esr:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "browser/config/version_display.txt"
+ new-suffix: 'esr'
+ replacements:
+ - - "build/mozconfig.common"
+ - "# Enable enforcing that add-ons are signed by the trusted root"
+ - "# Disable enforcing that add-ons are signed by the trusted root"
+ - - build/mozconfig.common
+ - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}'
+ - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}'
+ merge-old-head: false
+ base-tag: "FIREFOX_ESR_{major_version}_BASE"
+ from-repo: 'https://hg.mozilla.org/releases/mozilla-release'
+ from-branch: 'release'
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-esr78'
+ to-branch: 'esr78'
+ bump-central:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "config/milestone.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ - filename: "browser/config/version.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ - filename: "browser/config/version_display.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ replacements:
+ - - "xpcom/components/Module.h"
+ - "static const unsigned int kVersion = {current_major_version};"
+ - "static const unsigned int kVersion = {next_major_version};"
+ - - "services/sync/modules/constants.js"
+ - 'WEAVE_VERSION: "1.{current_weave_version}.0"'
+ - 'WEAVE_VERSION: "1.{next_weave_version}.0"'
+ merge-old-head: false
+ end-tag: 'FIREFOX_NIGHTLY_{major_version}_END'
+ to-repo: 'https://hg.mozilla.org/mozilla-central'
+ to-branch: 'central'
+ bump-esr:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "config/milestone.txt"
+ version-bump: "minor"
+ - filename: "browser/config/version.txt"
+ version-bump: "minor"
+ - filename: "browser/config/version_display.txt"
+ version-bump: "minor"
+ replacements: []
+ merge-old-head: false
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-esr78'
+ to-branch: 'esr78'
+
+scriptworker:
+ # See additional configuration in taskcluster/taskgraph/util/scriptworker.py
+ scope-prefix: 'project:releng'
+
+partner-urls:
+ release-partner-repack:
+ by-release-product:
+ default: null
+ firefox:
+ by-release-type:
+ default: null
+ beta|release.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
+ esr.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
+ release-partner-attribution:
+ by-release-product:
+ default: null
+ firefox:
+ by-release-type:
+ default: null
+ beta|release.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
+ release-eme-free-repack:
+ by-release-product:
+ default: null
+ firefox:
+ by-release-type:
+ default: null
+ beta|release.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git'
+ staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git'
+
+
+task-priority:
+ by-project:
+ 'mozilla-release': 'highest'
+ 'mozilla-esr.*': 'very-high'
+ 'mozilla-beta': 'high'
+ 'mozilla-central': 'medium'
+ 'autoland': 'low'
+ 'mozilla-inbound': 'low'
+ 'default': 'very-low'
+
+taskgraph: {}
+
+workers:
+ aliases:
+ b-linux.*:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ b-win2012:
+ provisioner: '{trust-domain}-{level}'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ images:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ balrog:
+ provisioner: scriptworker-k8s
+ implementation: balrog
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-balrog'
+ staging: '{trust-domain}-1-balrog'
+ bouncer:
+ provisioner: scriptworker-k8s
+ # Note that this implementation doesn't correspond with an
+ # payload_builder, there are several `bouncer-*` implemenations.
+ implementation: bouncer
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-bouncer'
+ staging: '{trust-domain}-1-bouncer'
+ beetmover:
+ provisioner: scriptworker-k8s
+ implementation: beetmover
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-beetmover'
+ staging: '{trust-domain}-1-beetmover'
+ linux-depsigning:
+ provisioner: scriptworker-k8s
+ implementation: scriptworker-signing
+ os: linux
+ worker-type: '{trust-domain}-t-signing'
+ linux-signing:
+ provisioner: scriptworker-k8s
+ implementation: scriptworker-signing
+ os: linux
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-signing'
+ staging: '{trust-domain}-t-signing'
+ mac-depsigning:
+ provisioner: scriptworker-prov-v1
+ implementation: scriptworker-signing
+ os: macosx
+ worker-type: depsigning-mac-v1
+ mac-notarization-poller:
+ provisioner: scriptworker-prov-v1
+ implementation: notarization-poller
+ os: macosx
+ worker-type: mac-notarization-poller
+ mac-signing:
+ provisioner: scriptworker-prov-v1
+ implementation: scriptworker-signing
+ os: macosx
+ worker-type:
+ by-release-level:
+ production: signing-mac-v1
+ staging: depsigning-mac-v1
+ tree:
+ provisioner: scriptworker-k8s
+ implementation: treescript
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-tree'
+ staging: '{trust-domain}-1-tree'
+ tree-dev:
+ provisioner: scriptworker-k8s
+ implementation: treescript
+ os: scriptworker
+ worker-type: '{trust-domain}-1-tree-dev'
+ t-bitbar-gw.*:
+ provisioner: proj-autophone
+ implementation: generic-worker
+ os: linux-bitbar
+ worker-type: 'gecko-{alias}'
+ t-linux(-large|-xlarge|-xlarge-source|-metal):
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ t-linux-talos:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: linux
+ worker-type: 'gecko-{alias}'
+ t-osx-1014:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-osx-1014-power:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-linux-xlarge-pgo:
+ provisioner:
+ by-level:
+ '3': '{trust-domain}-{level}'
+ default: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: 't-linux-xlarge'
+ b-osx-1015:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type:
+ by-level:
+ '3': 'gecko-3-b-osx-1015'
+ default: 'gecko-1-b-osx-1015'
+ t-win10-64(|-gpu-s|-source):
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win10-64(-hw|-ref-hw|-1803-hw):
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: windows
+ worker-type: 'gecko-{alias}'
+ t-win7-32(|-gpu):
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win64-aarch64-laptop:
+ provisioner: bitbar
+ implementation: generic-worker
+ os: windows
+ worker-type: 'gecko-{alias}'
+ succeed:
+ provisioner: built-in
+ implementation: succeed
+ os: none
+ worker-type: succeed
+ misc:
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: misc
+
+
+mac-notarization:
+ mac-behavior:
+ by-project:
+ mozilla-(central|beta|release|esr.*):
+ by-shippable:
+ "true": mac_notarize
+ default: mac_sign_and_pkg
+ default: mac_sign_and_pkg
+ mac-entitlements:
+ by-platform:
+ macosx64.*:
+ by-release-level:
+ production: security/mac/hardenedruntime/production.entitlements.xml
+ default: security/mac/hardenedruntime/developer.entitlements.xml
+ default: ''
diff --git a/taskcluster/ci/cron-bouncer-check/kind.yml b/taskcluster/ci/cron-bouncer-check/kind.yml
new file mode 100644
index 0000000000..c976b0a311
--- /dev/null
+++ b/taskcluster/ci/cron-bouncer-check/kind.yml
@@ -0,0 +1,82 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.bouncer_check:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: bouncer-check
+ description: bouncer check
+ worker-type: b-linux
+ worker:
+ max-run-time: 1200
+ docker-image: {in-tree: "update-verify"}
+ run:
+ sparse-profile: mozharness
+ extra-config:
+ bouncer_prefix: "https://download.mozilla.org/"
+ attributes:
+ build_platform: linux64
+ build_type: opt
+ cron: true
+ treeherder:
+ symbol: Rel(ckbouncer)
+ kind: test
+ tier: 1
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: firefox-bouncer-check
+ run:
+ config:
+ by-release-type:
+ nightly:
+ - releases/bouncer_firefox_nightly.py
+ beta:
+ - releases/bouncer_firefox_beta.py
+ release:
+ - releases/bouncer_firefox_release.py
+ esr.*:
+ - releases/bouncer_firefox_esr.py
+ default:
+ - releases/bouncer_firefox_beta.py
+ product-field:
+ by-project:
+ mozilla-central: FIREFOX_NIGHTLY
+ mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION
+ mozilla-release: LATEST_FIREFOX_VERSION
+ mozilla-esr78: FIREFOX_ESR
+ # mozilla-esrXX: FIREFOX_ESR_NEXT
+ default: LATEST_FIREFOX_DEVEL_VERSION
+ products-url: https://product-details.mozilla.org/1.0/firefox_versions.json
+ treeherder:
+ platform: firefox-release/opt
+
+ devedition:
+ shipping-product: devedition
+ run-on-projects: [mozilla-beta]
+ index:
+ product: devedition
+ job-name: devedition-bouncer-check
+ run:
+ config:
+ by-project:
+ mozilla-beta:
+ - releases/bouncer_firefox_devedition.py
+ default:
+ - releases/dev_bouncer_firefox_devedition.py
+ product-field:
+ by-project:
+ mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION
+ default: LATEST_FIREFOX_DEVEL_VERSION
+ products-url: https://product-details.mozilla.org/1.0/firefox_versions.json
+ treeherder:
+ platform: devedition-release/opt
diff --git a/taskcluster/ci/diffoscope/kind.yml b/taskcluster/ci/diffoscope/kind.yml
new file mode 100644
index 0000000000..2eb11badb9
--- /dev/null
+++ b/taskcluster/ci/diffoscope/kind.yml
@@ -0,0 +1,120 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - build
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.diffoscope:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+# Note: --exclude-command .--line-numbers is because of
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879003
+# That skips `objdump --disassemble --line-numbers` and falls back to
+# `objdump --disassemble`
+# Note: the .chk excludes are for files that are known to differ between
+# builds because they are signed with an ephemeral private key that is
+# generated for each build.
+job-defaults:
+ tier: 2
+ args: >-
+ --output-empty
+ --no-default-limits
+ --max-page-size 100000000
+ --max-page-diff-block-lines 10000
+ --exclude-directory-metadata
+ --exclude-command .--line-numbers
+
+jobs:
+ artifact-win64-aarch64-eme-validation:
+ symbol: DWE
+ new: build-win64-aarch64-eme/opt
+ original: build-win64-aarch64/opt
+ unpack: true
+ fail-on-diff: true
+ pre-diff-commands:
+ # The EME version has extra files under i686/.
+ - rm -rf b/firefox/i686
+ # The i686/ files appear in precomplete, so after removing those references,
+ # we expect the same content as the non-EME build.
+ - sed -i '/i686\//d' b/firefox/precomplete
+ # Remove noise from differences in line numbers in preprocessor output
+ # due to #if/#else branches.
+ - sed -i '/^\/\/@line /d' {a,b}/firefox/browser/defaults/preferences/firefox.js
+ # Removing media.gmp-widevinecdm.* preferences, and setting
+ # browser.eme.ui.enabled to false should give us the same preferences as
+ # the non-EME build.
+ - sed -i '/browser\.eme\.ui\.enabled/s/true/false/;/media\.gmp-widevinecdm\./d' b/firefox/browser/defaults/preferences/firefox.js
+ # Extra diffoscope arguments to account for:
+ # - about:buildconfig being expectedly different.
+ # - There are some differences in PE metadata in helper.exe because
+ # it's (re)built in the EME build, and that part of the build is
+ # not reproducible.
+ extra-args: >-
+ --exclude-directory-metadata=recursive
+ --exclude b/firefox/chrome/toolkit/content/global/buildconfig.html
+ --exclude b/firefox/uninstall/helper.exe
+ # This is necessary to avoid building `build-win64-aarch64` on every push on autoland
+ # A more robust fix for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1643346
+ optimization:
+ skip-unless-expanded: null
+
+ reproducible-linux32:
+ symbol: Linux32
+ new: build-linux-reproduced/opt
+ original: build-linux-shippable/opt
+ fail-on-diff: true
+ run-on-projects: ['mozilla-central'] # Do not run linux32 on autoland, Bug 1599197
+
+ reproducible-linux32-generated-files:
+ symbol: Linux32g
+ artifact: target.generated-files.tar.gz
+ new: build-linux-reproduced/opt
+ original: build-linux-shippable/opt
+ fail-on-diff: true
+ run-on-projects: ['mozilla-central'] # Do not run linux32 on autoland, Bug 1599197
+
+ reproducible-linux64:
+ symbol: Linux64
+ new: build-linux64-reproduced/opt
+ original: build-linux64-shippable/opt
+ fail-on-diff: true
+ run-on-projects: ['mozilla-central']
+ pre-diff-commands: ['rm {a,b}/firefox/lib*wasm.so'] # Bug 1612035
+
+ reproducible-linux64-generated-files:
+ symbol: Linux64g
+ artifact: target.generated-files.tar.gz
+ new: build-linux64-reproduced/opt
+ original: build-linux64-shippable/opt
+ fail-on-diff: true
+ run-on-projects: ['mozilla-central']
+
+# Make a task for each diff we might want. The following are just examples,
+# Both original and new can point to builds from the full set of tasks or
+# from other sets through an index-search. Other kinds than `build` can be
+# compared (for example, static-analysis), provided you adjust the
+# kind-dependencies above.
+# android-build-vs-previous-try:
+# symbol: A
+# new: build-android-api-16/opt
+# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.mobile.android-api-16-opt}
+# linux64-build-vs-previous-try:
+# symbol: L
+# new: build-linux64/opt
+# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.firefox.linux64-opt}
+# extra-args: >-
+# --exclude-command .--hex-dump=.gnu_debuglink
+# macosx-build-vs-previous-try:
+# symbol: M
+# new: build-macosx64/opt
+# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.firefox.macosx64-opt}
+# win32-build-vs-previous-try:
+# symbol: W
+# new: build-win32/opt
+# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.firefox.win32-opt}
diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml
new file mode 100644
index 0000000000..cab3ca1a4c
--- /dev/null
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -0,0 +1,224 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - packages
+
+transforms:
+ - taskgraph.transforms.docker_image:transforms
+ - taskgraph.transforms.cached_tasks:transforms
+ - taskgraph.transforms.task:transforms
+
+# 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
+jobs:
+ image_builder:
+ symbol: I(ib)
+ debian10-test:
+ symbol: I(deb10-test)
+ ubuntu1804-test-base:
+ symbol: I(ub18-test-base)
+ ubuntu1804-test:
+ symbol: I(ub18-test)
+ parent: ubuntu1804-test-base
+ # Neither the debian8-*raw nor the debian8-*packages images can have
+ # packages dependencies.
+ debian8-raw:
+ symbol: I(deb8-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: debian:jessie-20200422
+ DIST: jessie
+ SNAPSHOT: '20200422T205110Z'
+ debian8-packages:
+ symbol: I(deb8-pkg)
+ definition: debian-packages
+ parent: debian8-raw
+ debian8-i386-raw:
+ symbol: I(deb8-32-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: i386/debian:jessie-20200422
+ DIST: jessie
+ SNAPSHOT: '20200422T205110Z'
+ debian8-i386-packages:
+ symbol: I(deb8-32-pkg)
+ definition: debian-packages
+ parent: debian8-i386-raw
+ debian8-base:
+ symbol: I(deb8-base)
+ definition: debian-base
+ parent: debian8-raw
+ packages:
+ - deb8-gdb
+ - deb8-git
+ - deb8-mercurial
+ - deb8-python3.6
+ - deb8-python3-defaults
+ - deb8-python-psutil
+ - deb8-python-zstandard
+ - deb8-xz-utils
+ deb8-toolchain-build:
+ symbol: I(toolchain)
+ parent: debian8-base
+ definition: toolchain-build
+ packages:
+ - deb8-cmake
+ - deb8-ninja
+ deb10-toolchain-build:
+ symbol: I(deb10-toolchain)
+ parent: debian10-base
+ definition: toolchain-build
+ packages:
+ - deb10-cmake
+ custom-v8:
+ symbol: I(custom-v8)
+ parent: debian10-base
+ debian8-amd64-build-base:
+ symbol: I(deb8-bb)
+ parent: debian8-base
+ definition: debian-build
+ args:
+ ARCH: amd64
+ debian8-amd64-build:
+ symbol: I(deb8)
+ parent: debian8-base
+ definition: debian-build
+ packages:
+ - deb8-valgrind
+ args:
+ ARCH: amd64
+ debian8-i386-build:
+ symbol: I(deb8-32)
+ parent: debian8-base
+ definition: debian-build
+ packages:
+ - deb8-valgrind
+ - deb8-32-xz-utils
+ args:
+ ARCH: i386
+ debian8-mozjs-rust-build:
+ symbol: I(deb8jsrs)
+ parent: debian8-amd64-build
+ packages:
+ - deb8-cmake
+ valgrind-build:
+ symbol: I(vb)
+ parent: debian8-amd64-build
+ lint:
+ symbol: I(lnt)
+ # Neither the debian10-raw nor the debian10-packages images can have
+ # packages dependencies.
+ debian10-raw:
+ symbol: I(deb10-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: debian:buster-20200422
+ DIST: buster
+ SNAPSHOT: '20200422T205110Z'
+ debian10-packages:
+ symbol: I(deb10-pkg)
+ definition: debian-packages
+ parent: debian10-raw
+ debian10-base:
+ symbol: I(deb10-base)
+ definition: debian-base
+ parent: debian10-raw
+ packages:
+ - deb10-mercurial
+ - deb10-python-zstandard
+ debian10-amd64-build:
+ symbol: I(deb10)
+ parent: debian10-base
+ definition: debian-build
+ args:
+ ARCH: amd64
+ debian10-arm64-build:
+ symbol: I(deb10-arm64)
+ parent: debian10-base
+ definition: debian-build
+ args:
+ ARCH: arm64
+ toolchain-arm64-build:
+ symbol: I(toolchain-arm64)
+ parent: debian10-arm64-build
+ definition: toolchain-build
+ debian10-test-iris:
+ symbol: I(deb10-ti)
+ parent: debian10-test
+ packages:
+ - deb10-python-zstandard
+ android-build:
+ symbol: I(agb)
+ parent: debian10-base
+ packages:
+ - deb8-valgrind
+ fetch:
+ symbol: I(fetch)
+ parent: debian10-raw
+ packages:
+ - deb10-python-zstandard
+ static-analysis-build:
+ symbol: I(static-analysis-build)
+ parent: debian10-base
+ gdb-test:
+ symbol: I(gdb)
+ parent: debian8-amd64-build
+ definition: gdb-test
+ mingw32-build:
+ symbol: I(mingw)
+ parent: debian10-base
+ index-task:
+ symbol: I(idx)
+ funsize-update-generator:
+ symbol: I(pg)
+ update-verify:
+ symbol: I(uv)
+ diffoscope:
+ symbol: I(diff)
+ parent: debian10-base
+ partner-repack:
+ symbol: I(PR)
+ parent: debian10-base
+ definition: partner-repack
+ updatebot:
+ symbol: I(3rdp)
+ parent: push-to-try
+ periodic-updates:
+ symbol: I(file)
+ python-dependency-update:
+ symbol: I(pip)
+ firefox-snap:
+ symbol: I(snap)
+ firefox-flatpak:
+ symbol: I(flatpak)
+ webrender:
+ symbol: I(webrender)
+ parent: debian10-base
+ wgpu:
+ symbol: I(wgpu)
+ parent: debian10-base
+ condprof:
+ symbol: I(condprof)
+ parent: ubuntu1804-test
+ visual-metrics:
+ symbol: I(visual-metrics)
+ parent: debian10-base
+ github-sync:
+ symbol: I(github-sync)
+ parent: debian10-base
+ system-symbols-mac:
+ symbol: I(system-symbols-mac)
+ parent: debian10-base
+ system-symbols-win:
+ symbol: I(system-symbols-win)
+ parent: debian10-base
+ push-to-try:
+ symbol: I(push-to-try)
+ parent: debian10-base
diff --git a/taskcluster/ci/fetch/benchmarks.yml b/taskcluster/ci/fetch/benchmarks.yml
new file mode 100644
index 0000000000..295b3c0e47
--- /dev/null
+++ b/taskcluster/ci/fetch/benchmarks.yml
@@ -0,0 +1,52 @@
+# 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/.
+---
+octane:
+ description: Octane benchmark
+ fetch:
+ type: static-url
+ url: https://github.com/mozilla/perf-automation/releases/download/octane-v1/octane-0f5b8d48d4a9.zip
+ sha256: 38425ee1abfc5feca178b2f60fbd82b5873897c345112a85359be00024402f9f
+ size: 1816138
+
+unity-webgl:
+ description: unity-webgl benchmark
+ fetch:
+ type: static-url
+ url: https://github.com/mozilla/perf-automation/releases/download/unity-webgl-v3/unity-webgl-2720cdc79082.zip
+ sha256: 2d5a741cb3bfbd191d0aa2b4c4f71d615db84a0760e20c4e4cf701b3682df0d0
+ size: 27062969
+
+assorted-dom:
+ description: assorted-dom benchmark
+ fetch:
+ type: static-url
+ url: https://github.com/mozilla/perf-automation/releases/download/assorted-dom-v1/assorted-dom-4befd28725c6.zip
+ sha256: e4eafe4a8e70c7ae6d42d668d3b1640b9fd9b696c486ff35aab754c368f78c2c
+ size: 402665
+
+wasm-misc:
+ description: wasm-misc benchmark
+ fetch:
+ type: static-url
+ artifact-name: wasm-misc.zip
+ url: https://github.com/mozilla/perf-automation/releases/download/wasm-misc-v1/wasm-misc-c55c3c7690b2.zip
+ sha256: 0ba273b748b872117a4b230c776bbd73550398da164025a735c28a16c0224397
+ size: 4433793
+
+web-tooling-benchmark:
+ description: Web Tooling Benchmark
+ fetch:
+ type: static-url
+ url: https://github.com/mozilla/perf-automation/releases/download/V1/web-tooling-benchmark-b2ac25c897c9.zip
+ sha256: 93b0b51df0cec3ca9bfa0bdf81d782306dcf18532e39b3ff3180409125daaff1
+ size: 5444135
+
+jetstream2:
+ description: JetStream2 Benchmark
+ fetch:
+ type: static-url
+ url: https://github.com/mozilla/perf-automation/releases/download/jetstream2-v1.1/jetstream2-e19a0865c946.zip
+ sha256: 808e67528c114d45d0cf34aedbf71f8ecc8cefa99323879fc503678a32d8c407
+ size: 25486847
diff --git a/taskcluster/ci/fetch/browsertime.yml b/taskcluster/ci/fetch/browsertime.yml
new file mode 100644
index 0000000000..5ce2037366
--- /dev/null
+++ b/taskcluster/ci/fetch/browsertime.yml
@@ -0,0 +1,128 @@
+# 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/.
+---
+win64-ffmpeg-4.1.1:
+ description: 'Win64 ffmpeg'
+ fetch:
+ type: static-url
+ # url: https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-4.1.1-win64-static.zip is 403 (from AWS only?).
+ url: https://github.com/ncalexan/geckodriver/releases/download/v0.24.0-android/ffmpeg-4.1.1-win64-static.zip
+ sha256: 2c19658d69de08ea7ef585fbf801ef6a364795b5288e23d79066876ff0465df6
+ size: 66347524
+
+linux64-ffmpeg-4.1.4:
+ description: 'Linux64 ffmpeg'
+ fetch:
+ type: static-url
+ # url: https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.1.4-i686-static.tar.xz is 406 (from AWS only?).
+ url: https://github.com/ncalexan/geckodriver/releases/download/v0.24.0-android/ffmpeg-4.1.4-i686-static.tar.xz
+ sha256: f7a2f0f8f91506d67f80fbe5b8a5c264d0fb60cb3cd258d03344890fbd55e6fd
+ size: 16633296
+
+mac64-ffmpeg-4.1.1:
+ description: 'Mac64 ffmpeg'
+ fetch:
+ type: static-url
+ # url: https://ffmpeg.zeranoe.com/builds/macos64/static/ffmpeg-4.1.1-macos64-static.zip is 403 (from AWS only?).
+ url: https://github.com/ncalexan/geckodriver/releases/download/v0.24.0-android/ffmpeg-4.1.1-macos64-static.zip
+ sha256: 8612d1e07901779e7ed0eeb5433aea37c7bbaf308d725741f432f454a9f97275
+ size: 66853411
+
+linux64-chromedriver:
+ description: 'Linux64 chromedriver'
+ fetch:
+ type: static-url
+ url: https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.zip
+ sha256: 461919e080e19335a34224e2d353b96b07c7d068621aa940f9c136e86d090047
+ size: 5404417
+
+win32-chromedriver-85:
+ description: 'Win32 chromedriver v85'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_85.tar.zst
+ add-prefix: '85'
+ url: https://chromedriver.storage.googleapis.com/85.0.4183.87/chromedriver_win32.zip
+ sha256: 6d5f81e2a07b4cd8a8dc23f65a50aecc03f6652e35ad14db8e02ab9ed92a68f5
+ size: 5204275
+
+linux64-chromedriver-85:
+ description: 'Linux64 chromedriver v85'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_85.tar.zst
+ add-prefix: '85'
+ url: https://chromedriver.storage.googleapis.com/85.0.4183.87/chromedriver_linux64.zip
+ sha256: 5eba5ca454bb7def6021610477079c132e8d8013b24bc3fd7d0741715dc87a29
+ size: 5359609
+
+mac64-chromedriver-85:
+ description: 'Mac64 chromedriver v85'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_85.tar.zst
+ add-prefix: '85'
+ url: https://chromedriver.storage.googleapis.com/85.0.4183.87/chromedriver_mac64.zip
+ sha256: 717ff47c926b6cfa5ebcb60d7cb57a42f338fa657083928d8e1d74ff9c4833dd
+ size: 7717718
+
+win32-chromedriver-86:
+ description: 'Win32 chromedriver v86'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_86.tar.zst
+ add-prefix: '86'
+ url: https://chromedriver.storage.googleapis.com/86.0.4240.22/chromedriver_win32.zip
+ sha256: 89a40eca457cbfc098af4bbb4342e697c90284c841bc72d3363ce7007673826b
+ size: 5239100
+
+linux64-chromedriver-86:
+ description: 'Linux64 chromedriver v86'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_86.tar.zst
+ add-prefix: '86'
+ url: https://chromedriver.storage.googleapis.com/86.0.4240.22/chromedriver_linux64.zip
+ sha256: d498eaacc414adbaf638333b59390cdfea5d780f941f57f41fd90280df78b159
+ size: 5456932
+
+mac64-chromedriver-86:
+ description: 'Mac64 chromedriver v86'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_86.tar.zst
+ add-prefix: '86'
+ url: https://chromedriver.storage.googleapis.com/86.0.4240.22/chromedriver_mac64.zip
+ sha256: 351ae30e9feab7ca6ccb94a549afcd62d6355561b78b8386cd4271d480a2fdc6
+ size: 7796598
+
+win32-chromedriver-87:
+ description: 'Win32 chromedriver v87'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_87.tar.zst
+ add-prefix: '87'
+ url: https://chromedriver.storage.googleapis.com/87.0.4280.20/chromedriver_win32.zip
+ sha256: 0aba7f547ea4941169a9a0b4e3463459900a3d3ae74e2f5646ed732c0c40598b
+ size: 5429367
+
+linux64-chromedriver-87:
+ description: 'Linux64 chromedriver v87'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_87.tar.zst
+ add-prefix: '87'
+ url: https://chromedriver.storage.googleapis.com/87.0.4280.20/chromedriver_linux64.zip
+ sha256: a3248aa7308727fe1116b7e937511c3486b4efd45da9c50e3b6a7c31563df3b2
+ size: 5564194
+
+mac64-chromedriver-87:
+ description: 'Mac64 chromedriver v87'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_87.tar.zst
+ add-prefix: '87'
+ url: https://chromedriver.storage.googleapis.com/87.0.4280.20/chromedriver_mac64.zip
+ sha256: 99e98317a5f883d53973a044778f81abe71b42c570fb35f75786f86ea617bd1a
+ size: 7897737
diff --git a/taskcluster/ci/fetch/chromium-fetch.yml b/taskcluster/ci/fetch/chromium-fetch.yml
new file mode 100644
index 0000000000..f6b9cad8f3
--- /dev/null
+++ b/taskcluster/ci/fetch/chromium-fetch.yml
@@ -0,0 +1,32 @@
+# 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/.
+---
+job-defaults:
+ fetch:
+ type: chromium-fetch
+ script: /builds/worker/bin/fetch-chromium.py
+
+linux64-chromium:
+ description: 'Linux64 Chromium Fetch'
+ fetch:
+ platform: linux
+ artifact-name: chromium-linux.tar.bz2
+
+win32-chromium:
+ description: 'Windows32 Chromium Fetch'
+ fetch:
+ platform: win32
+ artifact-name: chromium-win32.tar.bz2
+
+win64-chromium:
+ description: 'Windows64 Chromium Fetch'
+ fetch:
+ platform: win64
+ artifact-name: chromium-win64.tar.bz2
+
+mac-chromium:
+ description: 'MacOSX Chromium Fetch'
+ fetch:
+ platform: mac
+ artifact-name: chromium-mac.tar.bz2
diff --git a/taskcluster/ci/fetch/kind.yml b/taskcluster/ci/fetch/kind.yml
new file mode 100644
index 0000000000..814fb55cea
--- /dev/null
+++ b/taskcluster/ci/fetch/kind.yml
@@ -0,0 +1,20 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.fetch:transforms
+ - taskgraph.transforms.try_job:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - benchmarks.yml
+ - browsertime.yml
+ - chromium-fetch.yml
+ - resource-monitor.yml
+ - toolchain-clang-tidy-external.yml
+ - toolchains.yml
+ - visual-metrics.yml
diff --git a/taskcluster/ci/fetch/resource-monitor.yml b/taskcluster/ci/fetch/resource-monitor.yml
new file mode 100644
index 0000000000..2fe94cb4f9
--- /dev/null
+++ b/taskcluster/ci/fetch/resource-monitor.yml
@@ -0,0 +1,10 @@
+# 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/.
+---
+resource-monitor:
+ description: Resource monitoring tools
+ fetch:
+ type: git
+ repo: https://github.com/mozilla-releng/resource-monitor
+ revision: 17371502a3b04579375d707844e6bf08dee95d22
diff --git a/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml b/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml
new file mode 100644
index 0000000000..cb751e745a
--- /dev/null
+++ b/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml
@@ -0,0 +1,13 @@
+# 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/.
+---
+civet-source:
+ description: Repository for external static analysis checks
+ artifact-prefix: project/civet
+ fetch:
+ type: git
+ repo: git@github.com:mozilla-services/civet.git
+ revision: 80aad808762b28268d69cfd503f52a81375249b4
+ ssh-key: project/civet/github-deploy-key
+ artifact-name: civet-source.tar.zst
diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/ci/fetch/toolchains.yml
new file mode 100644
index 0000000000..eb44d1bd27
--- /dev/null
+++ b/taskcluster/ci/fetch/toolchains.yml
@@ -0,0 +1,515 @@
+# 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/.
+---
+binutils-2.27:
+ description: binutils 2.27 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2
+ sha256: 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
+ size: 26099568
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/EAF1C276A747E9ED86210CBAC3126D3B4AE55E93.key
+ artifact-name: binutils-source.tar.zst
+ strip-components: 1
+ add-prefix: binutils-source/
+
+binutils-2.31.1:
+ description: binutils 2.31.1 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.xz
+ sha256: 5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86
+ size: 20467996
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-binutils/3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F.key
+ artifact-name: binutils-source.tar.zst
+ strip-components: 1
+ add-prefix: binutils-source/
+
+gcc-6.4.0:
+ description: GCC 6.4.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz
+ sha256: 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4
+ size: 76156220
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gcc-7.4.0:
+ description: GCC 7.4.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.xz
+ sha256: eddde28d04f334aec1604456e536416549e9b1aa137fc69204e65eb0c009fe51
+ size: 62601888
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gcc-8.3.0:
+ description: GCC 8.3.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz
+ sha256: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c
+ size: 63694700
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/33C235A34C46AA3FFB293709A328C3A2C3C45C06.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gcc-9.3.0:
+ description: GCC 9.3.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.xz
+ sha256: 71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1
+ size: 70533868
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/33C235A34C46AA3FFB293709A328C3A2C3C45C06.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gmp-5.1.3:
+ description: GMP 5.1.3 source code
+ fetch:
+ type: static-url
+ url: https://ftp.gnu.org/gnu/gmp/gmp-5.1.3.tar.bz2
+ sha256: 752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
+ size: 2196480
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/343C2FF0FBEE5EC2EDBEF399F3599FF828C67298.key
+ artifact-name: gmp-source.tar.zst
+ strip-components: 1
+ add-prefix: gmp-source/
+
+gmp-6.1.0:
+ description: GMP 6.1.0 source code
+ fetch:
+ type: static-url
+ url: https://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2
+ sha256: 498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8
+ size: 2383840
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/343C2FF0FBEE5EC2EDBEF399F3599FF828C67298.key
+ artifact-name: gmp-source.tar.zst
+ strip-components: 1
+ add-prefix: gmp-source/
+
+go-1.14.4:
+ description: Golang 1.14.4 build tools
+ fetch:
+ type: static-url
+ url: https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz
+ sha256: aed845e4185a0b2a3c3d5e1d0a35491702c55889192bb9c30e67a3de6849c067
+ size: 123711003
+
+iris-2.0:
+ description: Iris_Firefox source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/iris_firefox
+ revision: a91a1cb88a16b0ee4d30f0dfc165d2cacf48b10c
+
+isl-0.15:
+ description: ISL 0.15 source code
+ fetch:
+ type: static-url
+ url: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2
+ sha256: 8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b
+ size: 1574964
+ artifact-name: isl-source.tar.zst
+ strip-components: 1
+ add-prefix: isl-source/
+
+isl-0.16.1:
+ description: ISL 0.16.1 source code
+ fetch:
+ type: static-url
+ url: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
+ sha256: 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
+ size: 1626446
+ artifact-name: isl-source.tar.zst
+ strip-components: 1
+ add-prefix: isl-source/
+
+mpc-0.8.2:
+ description: mpc 0.8.2 source code
+ fetch:
+ type: static-url
+ url: http://www.multiprecision.org/downloads/mpc-0.8.2.tar.gz
+ sha256: ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7
+ size: 548401
+ gpg-signature:
+ sig-url: "{url}.asc"
+ key-path: build/unix/build-gcc/AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3.key
+ artifact-name: mpc-source.tar.zst
+ strip-components: 1
+ add-prefix: mpc-source/
+
+mpc-1.0.3:
+ description: mpc 1.0.3 source code
+ fetch:
+ type: static-url
+ url: http://www.multiprecision.org/downloads/mpc-1.0.3.tar.gz
+ sha256: 617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3
+ size: 669925
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3.key
+ artifact-name: mpc-source.tar.zst
+ strip-components: 1
+ add-prefix: mpc-source/
+
+mpfr-3.1.4:
+ description: mpfr 3.1.4 source code
+ fetch:
+ type: static-url
+ url: http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4.tar.bz2
+ sha256: d3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775
+ size: 1279284
+ gpg-signature:
+ sig-url: "{url}.asc"
+ key-path: build/unix/build-gcc/07F3DBBECC1A39605078094D980C197698C3739D.key
+ artifact-name: mpfr-source.tar.zst
+ strip-components: 1
+ add-prefix: mpfr-source/
+
+mpfr-3.1.5:
+ description: mpfr 3.1.5 source code
+ fetch:
+ type: static-url
+ url: http://www.mpfr.org/mpfr-3.1.5/mpfr-3.1.5.tar.bz2
+ sha256: ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658
+ size: 1279489
+ gpg-signature:
+ sig-url: "{url}.asc"
+ key-path: build/unix/build-gcc/07F3DBBECC1A39605078094D980C197698C3739D.key
+ artifact-name: mpfr-source.tar.zst
+ strip-components: 1
+ add-prefix: mpfr-source/
+
+nasm-2.14.02:
+ description: nasm 2.14.02 source code
+ fetch:
+ type: static-url
+ url: https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.xz
+ sha256: e24ade3e928f7253aa8c14aa44726d1edf3f98643f87c9d72ec1df44b26be8f5
+ size: 827620
+
+nasm-2.13.02:
+ description: nasm 2.13.02 source code
+ fetch:
+ type: static-url
+ url: https://www.nasm.us/pub/nasm/releasebuilds/2.13.02/nasm-2.13.02.tar.xz
+ sha256: 8ac3235f49a6838ff7a8d7ef7c19a4430d0deecc0c2d3e3e237b5e9f53291757
+ size: 805744
+
+wix-3.14.0:
+ description: wix 3.14.0.2812 binary release
+ # WIX doesn't use a wrapping toplevel DIR, so we should really repackage it when
+ # Bug 1479533 and related code is ready.
+ fetch:
+ type: static-url
+ # This is a dev version of the toolset, upstream will purge over time...
+ url: http://wixtoolset.org/downloads/v3.14.0.2812/wix314-binaries.zip
+ sha256: 923892298f37514622c58cbbd9c2cadf2822d9bb53df8ee83aaeb05280777611
+ size: 34664320
+
+grcov-osx-x86_64:
+ description: grcov binary release
+ fetch:
+ type: static-url
+ url: https://github.com/mozilla/grcov/releases/download/v0.7.1/grcov-osx-x86_64.tar.bz2
+ sha256: c7c323e0647b1309b412874000d677e8f5b898401ec57761c57a9c396c433823
+ size: 2476735
+
+zlib-1.2.11:
+ description: zlib 1.2.11 source code
+ fetch:
+ type: static-url
+ url: http://zlib.net/zlib-1.2.11.tar.gz
+ sha256: c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
+ size: 607698
+ gpg-signature:
+ sig-url: "{url}.asc"
+ key-path: build/unix/build-gcc/5ED46A6721D365587791E2AA783FCD8E58BCAFBA.key
+
+nsis-3.01:
+ description: nsis 3.01 source code
+ fetch:
+ type: static-url
+ url: https://downloads.sourceforge.net/project/nsis/NSIS%203/3.01/nsis-3.01-src.tar.bz2
+ sha256: 604c011593be484e65b2141c50a018f1b28ab28c994268e4ecd377773f3ffba1
+ size: 1649428
+
+nsis-3.01-win:
+ description: nsis 3.01 for windows
+ fetch:
+ type: static-url
+ url: https://hg.mozilla.org/mozilla-build/raw-file/3b8c537ca3c879551956ad47ca9f089583f647c5/nsis-3.01.zip
+ sha256: daa17556c8690a34fb13af25c87ced89c79a36a935bf6126253a9d9a5226367c
+ size: 2505205
+
+upx-3.95-win:
+ description: upx 3.95 for windows
+ fetch:
+ type: static-url
+ url: https://hg.mozilla.org/mozilla-build/raw-file/3b8c537ca3c879551956ad47ca9f089583f647c5/upx-3.95-win64.zip
+ sha256: 5c076f87ba64d82f11513f4af0ceb07246a3540aa3c72ca3ffc2d53971fa56e3
+ size: 462820
+
+wine-5.0:
+ description: wine-5.0.tar.xz
+ fetch:
+ type: static-url
+ url: https://dl.winehq.org/wine/source/5.0/wine-5.0.tar.xz
+ sha256: 181550ba69a80b00c631f80c28ff7642264613bbecdb0c0fc04d6534866713b4
+ size: 22469428
+ gpg-signature:
+ sig-url: "{url}.sign"
+ key-path: build/unix/build-gcc/DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D.key
+
+cbindgen-0.16.0:
+ description: cbindgen source code
+ fetch:
+ type: git
+ repo: https://github.com/eqrion/cbindgen
+ revision: a00b4215a907601680f6e9acaf93df1cbafa8ded
+
+cctools-port:
+ description: cctools-port source code
+ fetch:
+ type: git
+ repo: https://github.com/tpoechtrager/cctools-port
+ revision: 43f32a4c61b5ba7fde011e816136c550b1b3146f
+
+libtapi:
+ description: libtapi source code
+ fetch:
+ type: git
+ repo: https://github.com/tpoechtrager/apple-libtapi
+ revision: b4f141a16c7c82f75973429c92242a8c7de3ddb1
+
+libdmg-hfsplus:
+ description: libdmg-hfsplug source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/libdmg-hfsplus/
+ revision: 2ee327795680101d36f9700bd0fb618362237718
+
+hfsplus-tools:
+ description: hfstools-plus source code
+ fetch:
+ type: static-url
+ # Most-upstream is https://opensource.apple.com/source/diskdev_cmds/
+ url: https://src.fedoraproject.org/repo/pkgs/hfsplus-tools/diskdev_cmds-540.1.linux3.tar.gz/0435afc389b919027b69616ad1b05709/diskdev_cmds-540.1.linux3.tar.gz
+ sha256: b01b203a97f9a3bf36a027c13ddfc59292730552e62722d690d33bd5c24f5497
+ size: 411205
+
+rust-size:
+ description: rust-size source code
+ fetch:
+ type: git
+ repo: https://github.com/luser/rust-size
+ revision: ab659d93b1faba95307df952aefe3fbed3583669
+
+gn:
+ description: GN source code
+ fetch:
+ type: git
+ repo: https://gn.googlesource.com/gn
+ revision: d69a9c3765dee2e650bcccebbadf72c5d42d92b1
+
+grcov:
+ description: grcov source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/grcov
+ revision: 6ccd61964a0ab60d193394f18c0986eb37d14b9e
+
+sccache:
+ description: sccache source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/sccache
+ # 0.2.15 release
+ revision: 6b6d2f7d2dceefeb4f583712aa4c221db62be0bd
+
+fxc2:
+ description: fxc2 source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/fxc2
+ revision: 63ad74b7faa7033f2c1be9cc1cd0225241a1a9a5
+
+mingw-w64:
+ description: mingw-w64 source code
+ fetch:
+ type: git
+ repo: https://git.code.sf.net/p/mingw-w64/mingw-w64
+ revision: 660e09f3cb20f181b6d6435cb623d65a3922a063
+
+libunwind:
+ description: libunwind source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm-mirror/libunwind
+ revision: efd17a11b0fae29d3414e11e99307e082d4ee949
+
+llvm-mingw:
+ description: llvm-mingw source code
+ fetch:
+ type: git
+ repo: https://github.com/mstorsjo/llvm-mingw
+ revision: 9f8e5cebd6dbbb7546e8917e6c59284699a48d26
+
+android-rs-glue:
+ description: android-rs-glue source code
+ fetch:
+ type: git
+ repo: https://github.com/jamienicol/android-rs-glue
+ revision: 86d9cb4db7bf7a8052e6765d9f8caae6009107cb
+
+clang-5.0:
+ description: clang 5.0.2 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 6a075b6de4cafebec9ca1ff9eec7229a617c93f6
+
+clang-7:
+ description: clang 7 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: d0d8eb2e5415b8be29343e3c17a18e49e67b5551
+
+clang-8:
+ description: clang 8.0.1 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 19a71f6bdf2dddb10764939e7f0ec2b98dba76c9
+
+clang-10:
+ description: clang 10.0.0 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: d32170dbd5b0d54436537b6b75beaf44324e0c28
+
+clang-11:
+ description: clang 11.0.1 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 43ff75f2c3feef64f9d73328230d34dac8832a91
+
+rust-1.47.0-dev:
+ description: Rust 1.47.0-dev source code
+ fetch:
+ type: git
+ repo: https://github.com/rust-lang/rust/
+ revision: 18bf6b4f01a6feaf7259ba7cdae58031af1b7b39
+
+wasi-sdk:
+ description: wasi-sdk source code
+ fetch:
+ type: git
+ repo: https://github.com/WebAssembly/wasi-sdk
+ revision: 8446a3f8d49f70d17e38cefd9990a9e79bf3e78a
+
+ninja:
+ description: ninja 1.9.0
+ fetch:
+ type: static-url
+ url: https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip
+ sha256: 2d70010633ddaacc3af4ffbd21e22fae90d158674a09e132e06424ba3ab036e9
+ size: 254497
+ artifact-name: ninja.tar.zst
+ add-prefix: ninja/bin/
+
+cmake:
+ description: cmake 3.15.1
+ fetch:
+ type: static-url
+ url: https://github.com/Kitware/CMake/releases/download/v3.15.1/cmake-3.15.1-win64-x64.zip
+ sha256: 82a0edfed4cb0b45b25d2f99e621d3ed4014f66191d8f3c7eadf1d9ccf9c461b
+ size: 32214192
+ artifact-name: cmake.tar.zst
+ strip-components: 1
+ add-prefix: cmake/
+
+lucetc-source:
+ description: lucetc source code
+ fetch:
+ type: git
+ repo: https://github.com/PLSysSec/lucet_sandbox_compiler/
+ revision: cd07861d1c92147b35b538e6f94fde7d1986f9ad
+
+dump-syms:
+ description: dump_syms source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/dump_syms/
+ revision: 1e64e56720131bcf0ab01f201ed89a337c73069d
+
+fix-stacks:
+ description: fix-stacks source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/fix-stacks/
+ revision: 45a3301151244615df92c503379bb189dc3ee7f5
+
+winchecksec:
+ description: winchecksec source code
+ fetch:
+ type: git
+ repo: https://github.com/trailofbits/winchecksec/
+ revision: 93ffe67dbfc757bf6f440d80b8acf88e652ed60a
+
+codeql-2.0.3:
+ description: CodeQL query tools
+ fetch:
+ type: static-url
+ url: https://github.com/github/codeql-cli-binaries/releases/download/v2.0.3/codeql.zip
+ sha256: 094ff1ffc7211e8222c148e375fdd53b58bd4c0fe20875d9d7abf2a5e6c341a5
+ size: 473738719
+ artifact-name: codeql.zip
+
+sonatype-nexus:
+ description: Sonatype Nexus Maven repository service
+ fetch:
+ type: static-url
+ url: https://download.sonatype.com/nexus/oss/nexus-2.14.18-01-bundle.tar.gz
+ sha256: 350af8b270bec7fda5861a15b8a5b7870fd8903d0b9a210754113d5a966ce6a6
+ size: 83493896
+ artifact-name: sonatype-nexus.tar.zst
+ strip-components: 1
+ add-prefix: sonatype-nexus/
+
+makecab:
+ description: makecab source code
+ fetch:
+ type: git
+ repo: https://github.com/luser/rust-makecab/
+ revision: d2bc6797648b7a834782714a55d339d2fd4e58c8
diff --git a/taskcluster/ci/fetch/visual-metrics.yml b/taskcluster/ci/fetch/visual-metrics.yml
new file mode 100644
index 0000000000..27032c4a27
--- /dev/null
+++ b/taskcluster/ci/fetch/visual-metrics.yml
@@ -0,0 +1,11 @@
+# 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/.
+---
+visual-metrics:
+ description: "Browsertime visual metrics analsyis script"
+ fetch:
+ type: static-url
+ url: https://raw.githubusercontent.com/sitespeedio/browsertime/7a37d88a2592f3307699973536126b4a6089ac14/browsertime/visualmetrics.py
+ sha256: 8a0043242b095a42b6aa8f052703535be60630305b2a3acee7b26a0cb8c50a3f
+ size: 87647
diff --git a/taskcluster/ci/fuzzing/kind.yml b/taskcluster/ci/fuzzing/kind.yml
new file mode 100644
index 0000000000..9bacfc9203
--- /dev/null
+++ b/taskcluster/ci/fuzzing/kind.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.source_test:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - fetch
+ - toolchain
+ - build
+
+job-defaults:
+ platform: linux64/opt
+ require-build:
+ linux64/opt: build-linux64/opt
+ worker-type: b-linux
+ worker:
+ max-run-time: 3600
+ docker-image: {in-tree: debian10-amd64-build}
+ env:
+ LD_LIBRARY_PATH: /builds/worker/fetches
+ JSSHELL: ./js
+ treeherder:
+ kind: test
+ tier: 3
+ fetches:
+ build:
+ - target.jsshell.zip
+ - target.fuzztest.tests.tar.gz
+
+jobs:
+ simple:
+ description: Simple Fuzzing Test
+ treeherder:
+ symbol: simple-fuzzing
+ run:
+ using: run-task
+ command: >-
+ cd $MOZ_FETCHES_DIR &&
+ python tools/fuzzing/smoke/smoke.py
diff --git a/taskcluster/ci/geckodriver-signing/kind.yml b/taskcluster/ci/geckodriver-signing/kind.yml
new file mode 100644
index 0000000000..77bd0cab02
--- /dev/null
+++ b/taskcluster/ci/geckodriver-signing/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.geckodriver_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+
+only-for-attributes:
+ - geckodriver
diff --git a/taskcluster/ci/generate-profile/kind.yml b/taskcluster/ci/generate-profile/kind.yml
new file mode 100644
index 0000000000..9d2c36165e
--- /dev/null
+++ b/taskcluster/ci/generate-profile/kind.yml
@@ -0,0 +1,210 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - instrumented-build
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.run_pgo_profile:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ treeherder:
+ symbol: Bpgo(run)
+ kind: build
+ tier: 1
+ run-on-projects: ['release']
+
+jobs:
+ linux-shippable/opt:
+ description: "Linux Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux-profile
+ treeherder:
+ platform: linux32-shippable/opt
+ worker-type: b-linux
+ worker:
+ chain-of-trust: true
+ env:
+ NEED_XVFB: "true"
+ max-run-time: 1200
+ docker-image: {in-tree: ubuntu1804-test}
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ ./taskcluster/scripts/misc/run-profileserver.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+
+ linux64-shippable/opt:
+ description: "Linux64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux64-profile
+ treeherder:
+ platform: linux64-shippable/opt
+ worker-type: b-linux
+ worker:
+ chain-of-trust: true
+ env:
+ NEED_XVFB: "true"
+ max-run-time: 1200
+ docker-image: {in-tree: debian10-amd64-build}
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ ./taskcluster/scripts/misc/run-profileserver.sh
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+
+ android-api-16-shippable/opt:
+ description: "Android 4.0 api-16+ Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-api-16-profile
+ treeherder:
+ platform: android-4-0-armv7-api16/pgo
+ worker-type: t-linux-xlarge-pgo
+ worker:
+ chain-of-trust: true
+ max-run-time: 2700
+ docker-image: {in-tree: ubuntu1804-test}
+ env:
+ WORKING_DIR: "/builds/worker"
+ MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: mozharness
+ need-xvfb: true
+ job-script: taskcluster/scripts/tester/test-linux.sh
+ script: android_emulator_pgo.py
+ tooltool-downloads: internal
+ options: [installer-path=/builds/worker/fetches/geckoview-androidTest.apk]
+ config:
+ - android/android_common.py
+ - android/androidarm_4_3.py
+ - android/android_pgo.py
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+
+ win32-shippable/opt:
+ description: "Win32 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: win32-profile
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ worker-type: b-win2012
+ worker:
+ chain-of-trust: true
+ max-run-time: 1200
+ env:
+ UPLOAD_PATH: "artifacts"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: build/src/artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver.sh
+ fetches:
+ toolchain:
+ - win64-clang-cl-2stage
+ - win32-minidump-stackwalk
+
+ win64-shippable/opt:
+ description: "Win64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: win64-profile
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ worker-type: b-win2012
+ worker:
+ chain-of-trust: true
+ max-run-time: 1200
+ env:
+ UPLOAD_PATH: "artifacts"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: build/src/artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver.sh
+ fetches:
+ toolchain:
+ - win64-clang-cl-2stage
+ - win32-minidump-stackwalk
+
+ macosx64-shippable/opt:
+ description: "macosx64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: macosx64-profile
+ treeherder:
+ platform: macosx1014-64-shippable/opt
+ worker-type: b-osx-1015
+ worker:
+ chain-of-trust: true
+ max-run-time: 7200
+ env:
+ SHELL: "/bin/bash"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver-macos.sh
+ fetches:
+ toolchain:
+ - macosx64-clang
+ - macosx64-minidump-stackwalk
diff --git a/taskcluster/ci/github-sync/kind.yml b/taskcluster/ci/github-sync/kind.yml
new file mode 100644
index 0000000000..54b4c0c52b
--- /dev/null
+++ b/taskcluster/ci/github-sync/kind.yml
@@ -0,0 +1,65 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - taskgraph.transforms.github_sync:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux
+ treeherder:
+ platform: other/opt
+ tier: 2
+ kind: other
+ worker:
+ max-run-time: 3600
+ docker-image: {in-tree: github-sync}
+ run:
+ sparse-profile: github-sync
+ using: run-task
+
+jobs:
+ wgpu:
+ description: Sync wgpu to github mirror
+ secret: gecko/gfx-github-sync/token
+ run:
+ command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh wgpu gfx/wgpu gfx-rs/wgpu bors'
+ run-on-projects: []
+ when:
+ files-changed:
+ - 'gfx/wgpu/**'
+ treeherder:
+ symbol: GhS(wgpu)
+
+ webrender:
+ description: Sync webrender to github mirror
+ secret: gecko/gfx-github-sync/token
+ run:
+ command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh webrender gfx/wr servo/webrender @bors-servo'
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ treeherder:
+ symbol: GhS(wr)
+
+ qcms:
+ description: Sync qcms to github mirror
+ secret: gecko/gfx-github-sync/token
+ run:
+ command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh qcms gfx/qcms FirefoxGraphics/qcms @jrmuizel'
+ when:
+ files-changed:
+ - 'gfx/qcms/**'
+ treeherder:
+ symbol: GhS(qcms)
diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/ci/hazard/kind.yml
new file mode 100644
index 0000000000..3bb865e899
--- /dev/null
+++ b/taskcluster/ci/hazard/kind.yml
@@ -0,0 +1,79 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ treeherder:
+ kind: build
+ tier: 1
+ worker-type: b-linux
+ worker:
+ max-run-time: 36000
+ docker-image: {in-tree: debian8-amd64-build}
+
+jobs:
+ linux64-shell-haz/debug:
+ description: "JS Shell Hazard Analysis Linux"
+ index:
+ product: firefox
+ job-name: shell-haz-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(H)
+ run:
+ using: hazard
+ command: >
+ cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder
+ && ./build-haz-linux.sh --project js $HOME/workspace
+ when:
+ files-changed:
+ - js/public/**
+ - js/src/**
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc-9
+ - linux64-gcc-sixgill
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-node
+
+ linux64-haz/debug:
+ description: "Browser Hazard Analysis Linux"
+ index:
+ product: firefox
+ job-name: browser-haz-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: H
+ run:
+ using: hazard
+ command: >
+ cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder
+ && ./build-haz-linux.sh --project browser $HOME/workspace
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc-9
+ - linux64-gcc-sixgill
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ skip-unless-backstop: null
diff --git a/taskcluster/ci/instrumented-build/kind.yml b/taskcluster/ci/instrumented-build/kind.yml
new file mode 100644
index 0000000000..ceed2ec239
--- /dev/null
+++ b/taskcluster/ci/instrumented-build/kind.yml
@@ -0,0 +1,265 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ shipping-phase: build
+ treeherder:
+ symbol: Bpgo(instr)
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: instrumented
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ use-sccache:
+ by-release-level:
+ production: false
+ staging: true
+ fetches:
+ toolchain:
+ - linux64-sccache
+ run-on-projects: ['release']
+
+jobs:
+ linux-shippable/opt:
+ description: "Linux Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-linux
+ shipping-product: firefox
+ treeherder:
+ platform: linux32-shippable/opt
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ mozconfig-variant: profile-generate
+ tooltool-downloads: public
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+
+ linux64-shippable/opt:
+ description: "Linux64 Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-linux64
+ shipping-product: firefox
+ treeherder:
+ platform: linux64-shippable/opt
+ worker-type: b-linux
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ mozconfig-variant: profile-generate
+ tooltool-downloads: public
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+ macosx64-shippable/opt:
+ description: "MacOS X x64 Cross-compile Instrumented"
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: osx-shippable/opt
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: instrumented
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: profile-generate
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-llvm-dsymutil
+ - linux64-rust-macos
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+ android-api-16-shippable/opt:
+ description: "Android 4.0 api-16+ PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-api-16
+ shipping-product: fennec
+ treeherder:
+ platform: android-4-0-armv7-api16/pgo
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: android-build}
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ artifacts:
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ run:
+ config:
+ - builds/releng_base_android_64_builds.py
+ custom-build-variant-cfg: api-16-profile-generate
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-clang-android-cross
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-nasm
+ - linux64-node
+
+ win32-shippable/opt:
+ description: "Win32 Shippable PGO Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-win32
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ tooltool-downloads: internal
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+ win64-shippable/opt:
+ description: "Win64 Shippable PGO Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-win64
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ tooltool-downloads: internal
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
diff --git a/taskcluster/ci/iris/kind.yml b/taskcluster/ci/iris/kind.yml
new file mode 100644
index 0000000000..2f2c277393
--- /dev/null
+++ b/taskcluster/ci/iris/kind.yml
@@ -0,0 +1,207 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.iris:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - fetch
+ - toolchain
+
+# These are the platforms that will run iris tests
+iris-build-platforms:
+ - linux64-shippable/opt
+ # This is disabled while we sort out bootstrapping issues
+ # - osx-shippable/opt
+ - windows10-64-shippable/opt
+
+job-defaults:
+ attributes:
+ retrigger: true
+ dependencies:
+ build:
+ by-platform:
+ linux64.*: build-linux64-shippable/opt
+ osx.*: build-macosx64-shippable/opt
+ windows10-64.*: build-win64-shippable/opt
+ description: Run the iris test suite's {} tests
+ notify:
+ email:
+ by-project:
+ mozilla-central:
+ subject: 'Iris Firefox {chunk} tests failed (mozilla-central)'
+ message: This calls for an action from the QA Automation team. Use the link to view it on Treeherder.
+ link:
+ text: Treeherder Job
+ href: '{th_root}jobs?repo={project}&revision={head_rev}{tiers}{filterstring}'
+ on-reasons: [failed]
+ emails: [iris@mozilla.com]
+ default: []
+ fetches:
+ build:
+ by-platform:
+ linux64.*:
+ - target.tar.bz2
+ osx.*:
+ - target.dmg
+ windows10-64.*:
+ - target.zip
+ fetch:
+ - iris-2.0
+ run:
+ cwd: '{checkout}'
+ command:
+ by-platform:
+ linux64.*: >-
+ ./taskcluster/scripts/iris/run-iris-linux.sh
+ osx.*: >-
+ ./taskcluster/scripts/iris/run-iris-macos.sh
+ windows10-64.*: >-
+ ./taskcluster/scripts/iris/run-iris-windows.sh
+ using: run-task
+ tooltool-downloads: public
+ run-on-projects: []
+ treeherder:
+ kind: test
+ platform:
+ by-platform:
+ linux64.*: linux64-shippable/opt
+ osx.*: macosx1014-64-shippable/opt
+ windows10-64.*: windows10-64-shippable/opt
+ tier: 3
+ worker:
+ docker-image:
+ by-platform:
+ linux64.*:
+ in-tree: debian10-test-iris
+ default: null
+ artifacts:
+ by-platform:
+ linux64.*:
+ - type: file
+ name: public/runs.zip
+ path: /builds/worker/runs.zip
+ osx.*:
+ - type: file
+ name: public/runs.zip
+ path: runs.zip
+ windows10-64.*:
+ - type: file
+ name: public/runs.zip
+ path: runs.zip
+ env:
+ PATH:
+ by-platform:
+ windows10-64.*: "%PATH%;%USERPROFILE%\\scoop\\shims"
+ default: null
+ max-run-time:
+ by-name:
+ # Some chunks need longer to complete than others
+ bookmark.*: 10800
+ download_manager.*: 7200
+ history.*: 10800
+ default: 5400
+ worker-type:
+ by-platform:
+ linux64.*: t-linux-xlarge
+ osx.*: t-osx-1014
+ windows10-64.*: t-win10-64
+
+jobs:
+ anti_tracking:
+ name: anti_tracking
+ treeherder:
+ symbol: iris(at)
+ antivirus:
+ name: antivirus
+ treeherder:
+ symbol: iris(av)
+ awesomebar:
+ name: awesomebar
+ treeherder:
+ symbol: iris(ab)
+ bookmark:
+ name: bookmark
+ treeherder:
+ symbol: iris(bm)
+ ci_tests:
+ name: ci_tests
+ treeherder:
+ symbol: iris(ct)
+ content_scroll:
+ name: content_scroll
+ treeherder:
+ symbol: iris(cs)
+ download_manager:
+ name: download_manager
+ treeherder:
+ symbol: iris(dm)
+ drag_and_drop:
+ name: drag_and_drop
+ treeherder:
+ symbol: iris(dnd)
+ find_toolbar:
+ name: find_toolbar
+ treeherder:
+ symbol: iris(ft)
+ history:
+ name: history
+ treeherder:
+ symbol: iris(h)
+ in_browser_pdf:
+ name: in_browser_pdf
+ treeherder:
+ symbol: iris(ibp)
+ # Nightly is a special case running a subset of tests as a smoketest of the
+ # entire test suite. Giving it a capital initial as a symbol will make
+ # Treeherder sort it in front of the other chunks for visibility.
+ nightly:
+ name: nightly
+ treeherder:
+ symbol: iris(N)
+ plugin_compatibility:
+ name: plugin_compatibility
+ treeherder:
+ symbol: iris(pc)
+ prefs:
+ name: prefs
+ treeherder:
+ symbol: iris(p)
+ private_browsing:
+ name: private_browsing
+ treeherder:
+ symbol: iris(pb)
+ safe_browsing:
+ name: safe_browsing
+ treeherder:
+ symbol: iris(sb)
+ search_and_update:
+ name: search_and_update
+ treeherder:
+ symbol: iris(sau)
+ session_restore:
+ name: session_restore
+ treeherder:
+ symbol: iris(sr)
+ themes:
+ name: themes
+ treeherder:
+ symbol: iris(t)
+ toolbars_window_controls:
+ name: toolbars_window_controls
+ treeherder:
+ symbol: iris(twc)
+ unit_tests:
+ name: unit_tests
+ treeherder:
+ symbol: iris(ut)
+ zoom_indicator:
+ name: zoom_indicator
+ treeherder:
+ symbol: iris(zi)
diff --git a/taskcluster/ci/l10n-bump/kind.yml b/taskcluster/ci/l10n-bump/kind.yml
new file mode 100644
index 0000000000..7bd331c639
--- /dev/null
+++ b/taskcluster/ci/l10n-bump/kind.yml
@@ -0,0 +1,118 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_version_bump:transforms
+ - taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ worker-type: tree
+ worker:
+ implementation: treescript
+ tags: []
+ bump: false
+ dontbuild:
+ by-project:
+ mozilla-beta: false
+ default: true
+ ignore-closed-tree: false
+ push:
+ by-project:
+ mozilla-(central|beta): true
+ default: false
+ source-repo:
+ by-release-type:
+ beta: https://hg.mozilla.org/releases/mozilla-beta
+ default: https://hg.mozilla.org/mozilla-central
+ l10n-bump-info:
+ by-release-type:
+ # XXX whenever the `beta` config changes, make sure to make
+ # the corresponding change in merge-automation/kind.yml
+ beta:
+ name: Firefox l10n changesets
+ path: browser/locales/l10n-changesets.json
+ version-path: browser/config/version.txt
+ l10n-repo-url: "https://hg.mozilla.org/l10n-central/%(locale)s/json-pushes?version=2&tipsonly=1"
+ ignore-config:
+ ja:
+ - macosx64
+ - macosx64-devedition
+ ja-JP-mac:
+ - linux
+ - linux-devedition
+ - linux64
+ - linux64-devedition
+ - win32
+ - win32-devedition
+ - win64
+ - win64-devedition
+ - win64-aarch64
+ - win64-aarch64-devedition
+ platform-configs: [{
+ "platforms": [
+ "linux",
+ "linux-devedition",
+ "linux64",
+ "linux64-devedition",
+ "macosx64",
+ "macosx64-devedition",
+ "win32",
+ "win32-devedition",
+ "win64",
+ "win64-devedition",
+ "win64-aarch64",
+ "win64-aarch64-devedition",
+ ],
+ "path": "browser/locales/shipped-locales",
+ }]
+ default:
+ name: Firefox l10n changesets
+ path: browser/locales/l10n-changesets.json
+ version-path: browser/config/version.txt
+ ignore-config:
+ ja:
+ - macosx64
+ - macosx64-devedition
+ ja-JP-mac:
+ - linux
+ - linux-devedition
+ - linux64
+ - linux64-devedition
+ - win32
+ - win32-devedition
+ - win64
+ - win64-devedition
+ - win64-aarch64
+ - win64-aarch64-devedition
+ platform-configs: [{
+ "platforms": [
+ "linux",
+ "linux-devedition",
+ "linux64",
+ "linux64-devedition",
+ "macosx64",
+ "macosx64-devedition",
+ "win32",
+ "win32-devedition",
+ "win64",
+ "win64-devedition",
+ "win64-aarch64",
+ "win64-aarch64-devedition",
+ ],
+ "path": "browser/locales/all-locales",
+ }]
+
+jobs:
+ l10n-bumper:
+ name: l10n_bumper
+ description: l10n changesets bumper
+ run-on-projects: []
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: l10n-bump(lb)
+ tier: 1
diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/ci/l10n/kind.yml
new file mode 100644
index 0000000000..3bfd84d6d8
--- /dev/null
+++ b/taskcluster/ci/l10n/kind.yml
@@ -0,0 +1,150 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - taskgraph.transforms.l10n:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - repackage
+ - toolchain
+
+primary-dependency: build
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ description: Localization
+ locales-file: browser/locales/l10n-onchange-changesets.json
+ ignore-locales:
+ by-build-platform:
+ # OSX has a special locale for japanese
+ macosx64.*: [ja]
+ default: [ja-JP-mac]
+ run-time:
+ by-build-platform:
+ default: 900
+ win.*: 1800
+ secrets: false
+ fetches:
+ toolchain:
+ by-build-platform:
+ default: []
+ macosx64.*:
+ - linux64-libdmg
+ - linux64-hfsplus
+ win.*:
+ - linux64-wine
+ - linux64-liblowercase
+ fetch:
+ by-build-platform:
+ default: []
+ win.*:
+ - nsis-3.01-win
+ - upx-3.95-win
+ tooltool:
+ by-build-platform:
+ default: internal
+ linux.*: public
+ index:
+ type: l10n
+ product: firefox
+ job-name:
+ by-build-platform:
+ linux(?!64).*: linux-opt
+ linux64.*: linux64-opt
+ macosx64.*: macosx64-opt
+ win32.*: win32-opt
+ win64.*: win64-opt
+ run-on-projects:
+ by-build-platform:
+ linux-shippable.*: ['release'] # Do not run on autoland - Bug 1599197
+ default: ['all']
+ worker-type: b-linux
+ docker-image:
+ by-build-platform:
+ linux.*: {in-tree: debian8-amd64-build}
+ default: {in-tree: debian10-amd64-build}
+ treeherder:
+ symbol: L10n
+ tier: 1
+ platform:
+ by-build-platform:
+ linux64: linux64/opt
+ linux64-shippable: linux64-shippable/opt
+ linux: linux32/opt
+ linux-shippable: linux32-shippable/opt
+ macosx64: osx-cross/opt
+ macosx64-shippable: osx-shippable/opt
+ win32: windows2012-32/opt
+ win32-shippable: windows2012-32-shippable/opt
+ win64: windows2012-64/opt
+ win64-shippable: windows2012-64-shippable/opt
+ env:
+ by-build-platform:
+ linux.*: # linux64 and 32 get same treatment here
+ EN_US_PACKAGE_NAME: target.tar.bz2
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ macosx64.*:
+ EN_US_PACKAGE_NAME: target.dmg
+ EN_US_BINARY_URL:
+ artifact-reference: <repackage/{artifact_prefix}>
+ win.*:
+ EN_US_PACKAGE_NAME: target.zip
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ mozharness:
+ config:
+ by-build-platform:
+ linux(?!64).*:
+ - single_locale/firefox.py
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ linux64.*:
+ - single_locale/firefox.py
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ macosx64.*:
+ - single_locale/firefox.py
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ win32.*:
+ - single_locale/firefox.py
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ win64.*:
+ - single_locale/firefox.py
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ # no default, so we fail on new entries
+ actions: ['clone-locales', 'list-locales', 'setup', 'repack', 'summary']
+ script: mozharness/scripts/desktop_l10n.py
+ when:
+ files-changed:
+ - browser/locales/l10n-onchange-changesets.json
+ - testing/mozharness/configs/single_locale/**
+ - testing/mozharness/mozharness/mozilla/l10n/locales.py
+ - testing/mozharness/scripts/desktop_l10n.py
+ - third_party/python/compare-locales/**
+ - toolkit/locales/**
+ - toolkit/mozapps/installer/**
diff --git a/taskcluster/ci/mar-signing-autograph-stage/kind.yml b/taskcluster/ci/mar-signing-autograph-stage/kind.yml
new file mode 100644
index 0000000000..e6522e9987
--- /dev/null
+++ b/taskcluster/ci/mar-signing-autograph-stage/kind.yml
@@ -0,0 +1,30 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.mar_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+
+job-template:
+ shipping-phase: null
+ treeherder-group: ms-stage
+ treeherder:
+ tier: 3
+ description-suffix: 'autograph-stage mar signing test'
+ required_signoffs:
+ - mar-signing
+ run-on-projects: []
+ shippable: false
+ attributes:
+ retrigger: true
+ worker-type: linux-depsigning
diff --git a/taskcluster/ci/mar-signing-l10n/kind.yml b/taskcluster/ci/mar-signing-l10n/kind.yml
new file mode 100644
index 0000000000..1010899160
--- /dev/null
+++ b/taskcluster/ci/mar-signing-l10n/kind.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.mar_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux64-asan-reporter-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+
+job-template:
+ shipping-phase: promote
+ treeherder-group: ms
+ description-suffix: 'mar signing'
+ required_signoffs:
+ - mar-signing
diff --git a/taskcluster/ci/mar-signing/kind.yml b/taskcluster/ci/mar-signing/kind.yml
new file mode 100644
index 0000000000..fd512a5b39
--- /dev/null
+++ b/taskcluster/ci/mar-signing/kind.yml
@@ -0,0 +1,36 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.mar_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+ - linux64-asan-reporter-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ treeherder-group: ms
+ description-suffix: 'mar signing'
+ required_signoffs:
+ - mar-signing
diff --git a/taskcluster/ci/maybe-release/kind.yml b/taskcluster/ci/maybe-release/kind.yml
new file mode 100644
index 0000000000..12e4be2f29
--- /dev/null
+++ b/taskcluster/ci/maybe-release/kind.yml
@@ -0,0 +1,48 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.maybe_release:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: Check recent releases and trigger a new ship-it phase if worthwhile.
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-shipit
+ staging: scriptworker-k8s/gecko-1-shipit
+ worker:
+ implementation: shipit-maybe-release
+ scopes:
+ by-release-level:
+ production:
+ - project:releng:ship-it:server:production
+ - project:releng:ship-it:action:create-new-release
+ staging:
+ - project:releng:ship-it:server:staging
+ - project:releng:ship-it:action:create-new-release
+ run-on-projects: []
+ treeherder:
+ symbol: Rel(maybe-release)
+ tier: 1
+ kind: build
+
+jobs:
+ firefox:
+ name: maybe-release-firefox
+ shipping-product: firefox
+ worker:
+ phase: ship_firefox
+ treeherder:
+ platform: firefox-release/opt
+
+ devedition:
+ name: maybe-release-devedition
+ shipping-product: devedition
+ worker:
+ phase: ship_devedition
+ treeherder:
+ platform: devedition-release/opt
diff --git a/taskcluster/ci/merge-automation/kind.yml b/taskcluster/ci/merge-automation/kind.yml
new file mode 100644
index 0000000000..af2d0b0f93
--- /dev/null
+++ b/taskcluster/ci/merge-automation/kind.yml
@@ -0,0 +1,71 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.merge_automation:transforms
+ - taskgraph.transforms.task:transforms
+
+
+jobs:
+ merge-automation:
+ name: merge-automation
+ label: merge-automation
+ treeherder:
+ symbol: Rel(merge-automation)
+ tier: 1
+ kind: build
+ platform: firefox-release/opt
+ description: Merge repositories for release management.
+ worker-type: tree
+ scopes: []
+ worker:
+ implementation: treescript
+ tags: []
+ bump: false
+ dontbuild: false
+ ignore-closed-tree: true
+ push: false
+ l10n-bump-info:
+ by-behavior:
+ central-to-beta:
+ name: Firefox l10n changesets
+ path: browser/locales/l10n-changesets.json
+ version-path: browser/config/version.txt
+ l10n-repo-url: "https://hg.mozilla.org/l10n-central/%(locale)s/json-pushes?version=2&tipsonly=1"
+ ignore-config:
+ ja:
+ - macosx64
+ - macosx64-devedition
+ ja-JP-mac:
+ - linux
+ - linux-devedition
+ - linux64
+ - linux64-devedition
+ - win32
+ - win32-devedition
+ - win64
+ - win64-devedition
+ - win64-aarch64
+ - win64-aarch64-devedition
+ platform-configs: [{
+ "platforms": [
+ "linux",
+ "linux-devedition",
+ "linux64",
+ "linux64-devedition",
+ "macosx64",
+ "macosx64-devedition",
+ "win32",
+ "win32-devedition",
+ "win64",
+ "win64-devedition",
+ "win64-aarch64",
+ "win64-aarch64-devedition",
+ ],
+ "path": "browser/locales/shipped-locales",
+ }]
+ default: null
+ run-on-projects: []
diff --git a/taskcluster/ci/openh264-plugin/kind.yml b/taskcluster/ci/openh264-plugin/kind.yml
new file mode 100644
index 0000000000..eda4e591c7
--- /dev/null
+++ b/taskcluster/ci/openh264-plugin/kind.yml
@@ -0,0 +1,192 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.openh264:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: "Build OpenH264 plugin"
+ treeherder:
+ kind: build
+ symbol: h264
+ tier: 2
+ run-on-projects: []
+ repo: 'https://github.com/cisco/openh264.git'
+ revision: '2e1774ab6dc6c43debb0b5b628bdf122a391d521'
+ worker:
+ chain-of-trust: true
+
+jobs:
+ linux32/opt:
+ attributes:
+ build_platform: linux32
+ build_type: opt
+ treeherder:
+ platform: linux32/opt
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: /builds/worker/workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/linux32.py
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-dump-syms
+ - linux64-nasm
+ linux64/opt:
+ attributes:
+ build_platform: linux64
+ build_type: opt
+ treeherder:
+ platform: linux64/opt
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: /builds/worker/workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/linux64.py
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-dump-syms
+ - linux64-nasm
+ macosx64/opt:
+ attributes:
+ build_platform: macosx64
+ build_type: opt
+ treeherder:
+ platform: macosx64/opt
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: /builds/worker/workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/macosx64.py
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-dump-syms
+ macosx64-aarch64/opt:
+ attributes:
+ build_platform: macosx64-aarch64
+ build_type: opt
+ treeherder:
+ platform: macosx64-aarch64/opt
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: /builds/worker/workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/macosx64-aarch64.py
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-dump-syms
+ - macosx64-sdk-11.0
+ win32/opt:
+ attributes:
+ build_platform: win32
+ build_type: opt
+ treeherder:
+ platform: win32/opt
+ worker-type: b-win2012
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/win32.py
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-dump-syms
+ win64/opt:
+ attributes:
+ build_platform: win64
+ build_type: opt
+ treeherder:
+ platform: win64/opt
+ worker-type: b-win2012
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/win64.py
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-dump-syms
+ win64-aarch64/opt:
+ attributes:
+ build_platform: win64-aarch64
+ build_type: opt
+ treeherder:
+ platform: win64-aarch64/opt
+ worker-type: b-win2012
+ worker:
+ max-run-time: 1800
+ artifacts:
+ - name: private/openh264
+ path: workspace/openh264/artifacts
+ type: directory
+ run:
+ using: mozharness
+ script: mozharness/scripts/openh264_build.py
+ config:
+ - openh264/win64-aarch64.py
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-dump-syms
diff --git a/taskcluster/ci/openh264-signing/kind.yml b/taskcluster/ci/openh264-signing/kind.yml
new file mode 100644
index 0000000000..fd4e5c4748
--- /dev/null
+++ b/taskcluster/ci/openh264-signing/kind.yml
@@ -0,0 +1,13 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.openh264_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - openh264-plugin
diff --git a/taskcluster/ci/packages/kind.yml b/taskcluster/ci/packages/kind.yml
new file mode 100644
index 0000000000..06439617c2
--- /dev/null
+++ b/taskcluster/ci/packages/kind.yml
@@ -0,0 +1,237 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.try_job:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.cached_tasks:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ kind: build
+ platform: packages/opt
+ tier: 1
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run-on-projects: []
+ run:
+ dist: jessie
+ snapshot: 20200422T205110Z
+
+jobs:
+ deb8-python3.6:
+ description: "Python 3.6 backport for Debian jessie"
+ treeherder:
+ symbol: Deb8(python3.6)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20171205T222638Z/pool/main/p/python3.6/python3.6_3.6.3-2.dsc
+ sha256: d791dd2671127394ce5383e345b2fed9ab2481be65b6c420fa53b2ee18c240ca
+ patch: python3.6-jessie.diff
+ pre-build-command: debian/rules control-file
+
+ deb8-python3-defaults:
+ description: "python3-defaults backport for Debian jessie"
+ treeherder:
+ symbol: Deb8(python3-defaults)
+ run:
+ using: debian-package
+ dsc:
+ # The last version that doesn't also require python 3.7 or a separate python3-distutils package.
+ url: http://snapshot.debian.org/archive/debian/20171026T221955Z/pool/main/p/python3-defaults/python3-defaults_3.6.3-2.dsc
+ sha256: df91831a9a307f5e7f3fabdda52f21eeffd2f683cbeca5a581c37c1c0912549d
+ packages:
+ - deb8-python3.6
+ pre-build-command: debian/rules control-file
+
+ deb8-python-setuptools:
+ description: "python-setuptools backport for Debian jessie"
+ treeherder:
+ symbol: Deb8(python-setuptools)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20170413T152542Z/pool/main/p/python-setuptools/python-setuptools_33.1.1-1%7Ebpo8%2B1.dsc
+ sha256: e5a152e45151ee2d19959d8266e9bff09f5164ee04a0613aeb8f1d7a304fa073
+
+ deb8-cmake:
+ description: "Cmake backport for Debian jessie"
+ treeherder:
+ symbol: Deb8(cmake)
+ worker:
+ env:
+ DEB_BUILD_PROFILES: stage1
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20200320T222820Z/pool/main/c/cmake/cmake_3.16.3-1%7Ebpo9%2B1.dsc
+ sha256: 714651ac6c974694eb3452f37a70624d3d786ac02fb8ea4eb8fddae44649105d
+ patch: cmake-jessie.diff
+
+ deb10-cmake:
+ description: "Cmake backport for Debian buster"
+ treeherder:
+ symbol: Deb10(cmake)
+ run:
+ using: debian-package
+ dist: buster
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20200202T210747Z/pool/main/c/cmake/cmake_3.16.3-1.dsc
+ sha256: ecfa7cbc93dc6a9749022ccd9538843f4a0e2e77a14bb2f87e325aaf3c36b519
+ pre-build-command: apt-get install debhelper/buster-backports
+
+ deb8-ninja:
+ description: "Ninja backport for Debian jessie"
+ treeherder:
+ symbol: Deb8(ninja)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20160209T042121Z/pool/main/n/ninja-build/ninja-build_1.6.0-1.dsc
+ sha256: 25cd62b011d669c31bcd51d36d454dd826bc50af6a3af8d87bcab8948ec21626
+
+ deb8-mercurial:
+ description: "Modern Mercurial for Debian jessie"
+ treeherder:
+ symbol: Deb8(hg)
+ run:
+ using: debian-package
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-4.8.1.tar.gz
+ sha256: 48a45f5cde9104fbc2daf310d710d4ebf286d879b89fa327d24b005434b0fa21
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.deb8moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/jessie/" debian/changelog
+
+ deb10-mercurial:
+ description: "Modern Mercurial for Debian buster"
+ treeherder:
+ symbol: Deb10(hg)
+ run:
+ using: debian-package
+ dist: buster
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-4.8.1.tar.gz
+ sha256: 48a45f5cde9104fbc2daf310d710d4ebf286d879b89fa327d24b005434b0fa21
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.deb10moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/stretch/" debian/changelog
+
+ deb8-git:
+ description: "Modern git for Debian jessie"
+ treeherder:
+ symbol: Deb8(git)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20160317T100542Z/pool/main/g/git/git_2.8.0%7Erc3-1.dsc
+ sha256: 6e81a318fb4eb5cca0333b7b6ff0c70dd0097e9fe711b159d5eac4b9f47c6c27
+
+ deb8-valgrind:
+ description: "Valgrind for Debian jessie"
+ treeherder:
+ symbol: Deb8(valgrind)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20200628T204444Z/pool/main/v/valgrind/valgrind_3.16.1-1.dsc
+ sha256: bd9b1bf5454da3d93d2dfab8de44df0c3aebe0371022c4f00aef6850aa0b4e07
+ patch: valgrind-jessie.diff
+
+ deb8-dh-python:
+ description: "dh-python for Debian jessie"
+ treeherder:
+ symbol: Deb8(dh-python)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20170125T211752Z/pool/main/d/dh-python/dh-python_2.20170125.dsc
+ sha256: ef4f2951cea36ae4aac29126a1017505f98b595432fb5bdac0f21b4b4d72c1b4
+ packages:
+ - deb8-python3.6
+ - deb8-python3-defaults
+
+ deb8-xz-utils:
+ description: "xz-utils for Debian jessie"
+ treeherder:
+ symbol: Deb8(xz)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20161010T223637Z/pool/main/x/xz-utils/xz-utils_5.2.2-1.2.dsc
+ sha256: 13c8d8d0c243af78dc89b6e2cd670c8d8a2522379e1fcd196957c95d988d5961
+
+ deb8-32-xz-utils:
+ description: "xz-utils for Debian jessie 32-bits"
+ treeherder:
+ symbol: Deb8-32(xz)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20161010T223637Z/pool/main/x/xz-utils/xz-utils_5.2.2-1.2.dsc
+ sha256: 13c8d8d0c243af78dc89b6e2cd670c8d8a2522379e1fcd196957c95d988d5961
+ arch: i386
+
+ deb8-gdb:
+ description: "gdb for Debian jessie"
+ treeherder:
+ symbol: Deb8(gdb)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20170119T152956Z/pool/main/g/gdb/gdb_7.12-6.dsc
+ sha256: 9727dcb3d6b655e4f2a92110f5db076a490aa50b739804be239905ecff3aacc8
+ patch: gdb-jessie.diff
+
+ deb8-python-psutil:
+ description: "python-psutil rebuild for python 3.6 in Debian jessie"
+ treeherder:
+ symbol: Deb8(python-psutil)
+ run:
+ using: debian-package
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20150815T034233Z/pool/main/p/python-psutil/python-psutil_2.2.1-3.dsc
+ sha256: b47d1fc92094dfd5525cff7d0af5855f7c5335ade9de4c0e738ed490aa5bee7c
+ packages:
+ - deb8-dh-python
+ - deb8-python3.6
+ - deb8-python3-defaults
+
+ deb8-python-zstandard:
+ description: "python-zstandard for Debian jessie"
+ treeherder:
+ symbol: Deb8(python-zstandard)
+ run:
+ using: debian-package
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/archive/0.11.1.tar.gz
+ sha256: 2df90698e22f0da49cdd360438479f363e58eb8c3ac6e8bac84d831cf8e7baf4
+ name: python-zstandard
+ patch: python-zstandard-jessie.diff
+ packages:
+ - deb8-dh-python
+ - deb8-python3.6
+ - deb8-python3-defaults
+
+ deb10-python-zstandard:
+ description: "python-zstandard for Debian buster"
+ treeherder:
+ symbol: Deb10(python-zstandard)
+ run:
+ using: debian-package
+ dist: buster
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/archive/0.11.1.tar.gz
+ sha256: 2df90698e22f0da49cdd360438479f363e58eb8c3ac6e8bac84d831cf8e7baf4
+ name: python-zstandard
+ pre-build-command: debchange -v 0.11.1-1.deb10moz --distribution buster "Mozilla backport for buster"
diff --git a/taskcluster/ci/partials-signing/kind.yml b/taskcluster/ci/partials-signing/kind.yml
new file mode 100644
index 0000000000..e9a651befc
--- /dev/null
+++ b/taskcluster/ci/partials-signing/kind.yml
@@ -0,0 +1,20 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.mar_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - partials
+
+job-template:
+ shipping-phase: promote
+ treeherder-group: ps
+ description-suffix: 'partial signing'
+ required_signoffs:
+ - mar-signing
diff --git a/taskcluster/ci/partials/kind.yml b/taskcluster/ci/partials/kind.yml
new file mode 100644
index 0000000000..fc9c90d1cc
--- /dev/null
+++ b/taskcluster/ci/partials/kind.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.partials:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage
+ - repackage-l10n
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+ - win32-shippable/opt
+ - win32-devedition/opt
+ - win64-shippable/opt
+ - win64-devedition/opt
+ - win64-aarch64-shippable/opt
+ - win64-aarch64-devedition/opt
+ - linux-shippable/opt
+ - linux-devedition/opt
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+
+job-template:
+ shipping-phase: promote
diff --git a/taskcluster/ci/perftest/android.yml b/taskcluster/ci/perftest/android.yml
new file mode 100644
index 0000000000..e27de64a6a
--- /dev/null
+++ b/taskcluster/ci/perftest/android.yml
@@ -0,0 +1,218 @@
+# 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/.
+---
+
+job-defaults:
+ fetches:
+ toolchain:
+ - linux64-node-10
+ - linux64-geckodriver
+ run:
+ sparse-profile: perftest
+ checkout: true
+ command: >-
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --on-try
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+hw-g5:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Run ./mach perftest on a G5
+ treeherder:
+ symbol: perftest-g5
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+
+hw-p2:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Run ./mach perftest on a Pixel 2
+ treeherder:
+ symbol: perftest-p2
+ platform: android-hw-p2-8-0-android-aarch64/opt
+
+hw-g5-view-fenix:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Run VIEW perftest on Fenix on a G5
+ treeherder:
+ symbol: perftest(view-fenix)
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+ attributes:
+ cron: true
+ batch: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor mobile-browser
+ --android
+ --android-app-name org.mozilla.fenix
+ --android-activity org.mozilla.fenix.IntentReceiverActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --perfherder-metrics name:processLaunchToNavStart,shouldAlert:True
+ --android-install-apk fenix_nightlysim_multicommit_armeabi_v7a
+ --hooks testing/performance/hooks_android_view.py
+ --perfherder
+ --perfherder-app fenix
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --browsertime-iterations 25
+ --output $MOZ_FETCHES_DIR/../artifacts
+ testing/performance/perftest_android_view.js
+
+hw-p2-view-fenix:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Run VIEW perftest on Fenix on a Pixel2
+ treeherder:
+ symbol: perftest(view-fenix)
+ platform: android-hw-p2-8-0-android-aarch64/opt
+ attributes:
+ cron: true
+ batch: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor mobile-browser
+ --android
+ --android-app-name org.mozilla.fenix
+ --perfherder-metrics name:processLaunchToNavStart,shouldAlert:True
+ --android-install-apk fenix_nightlysim_multicommit_arm64_v8a
+ --android-activity org.mozilla.fenix.IntentReceiverActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-perf-tuning
+ --hooks testing/performance/hooks_android_view.py
+ --perfherder
+ --perfherder-app fenix
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --browsertime-iterations 25
+ --output $MOZ_FETCHES_DIR/../artifacts
+ testing/performance/perftest_android_view.js
+
+hw-g5-view-gv:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Run VIEW perftest on GV on a G5
+ treeherder:
+ symbol: perftest(view-gv)
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+ attributes:
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor mobile-browser
+ --android
+ --android-app-name org.mozilla.geckoview_example
+ --android-activity org.mozilla.geckoview_example.GeckoViewActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --perfherder-metrics processLaunchToNavStart
+ --android-install-apk gve_nightly_api16
+ --hooks testing/performance/hooks_android_view.py
+ --perfherder
+ --perfherder-app geckoview
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --browsertime-iterations 14
+ --output $MOZ_FETCHES_DIR/../artifacts
+ testing/performance/perftest_android_view.js
+
+hw-p2-view-gv:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Run VIEW perftest on GV on a Pixel 2
+ treeherder:
+ symbol: perftest(view-gv)
+ platform: android-hw-p2-8-0-android-aarch64/opt
+ attributes:
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor mobile-browser
+ --android
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-app-name org.mozilla.geckoview_example
+ --android-activity org.mozilla.geckoview_example.GeckoViewActivity
+ --android-perf-tuning
+ --perfherder-metrics processLaunchToNavStart
+ --android-install-apk gve_nightly_api16
+ --hooks testing/performance/hooks_android_view.py
+ --perfherder
+ --perfherder-app geckoview
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --browsertime-iterations 14
+ --output $MOZ_FETCHES_DIR/../artifacts
+ testing/performance/perftest_android_view.js
+
+hw-g5-main-fenix:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Run main (home activity) perftest on Fenix on a G5
+ treeherder:
+ symbol: perftest(main-fenix)
+ platform: android-hw-g5-7-0-arm7-api-16/opt
+ attributes:
+ cron: false
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor mobile-browser
+ --android
+ --android-app-name org.mozilla.fenix
+ --android-activity .App
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --androidlog
+ --androidlog-first-timestamp ".*Start proc.*org\.mozilla\..*\..*App.*"
+ --androidlog-second-timestamp ".*Fully drawn.*org\.mozilla\..*"
+ --androidlog-subtest-name "MAIN"
+ --android-install-apk fenix_nightly_armeabi_v7a
+ --hooks testing/performance/hooks_android_main.py
+ --perfherder
+ --perfherder-app fenix
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --browsertime-iterations 14
+ testing/performance/perftest_android_main.js
+
+hw-p2-main-fenix:
+ worker-type: t-bitbar-gw-perf-p2
+ description: Run main (home activity) perftest on Fenix on a Pixel 2
+ treeherder:
+ symbol: perftest(main-fenix)
+ platform: android-hw-p2-8-0-android-aarch64/opt
+ attributes:
+ cron: false
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor mobile-browser
+ --android
+ --android-app-name org.mozilla.fenix
+ --android-activity .App
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-perf-tuning
+ --androidlog
+ --androidlog-first-timestamp ".*Start proc.*org\.mozilla\..*\..*App.*"
+ --androidlog-second-timestamp ".*Fully drawn.*org\.mozilla\..*"
+ --androidlog-subtest-name "MAIN"
+ --android-install-apk fenix_nightly_arm64_v8a
+ --hooks testing/performance/hooks_android_main.py
+ --perfherder
+ --perfherder-app fenix
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --browsertime-iterations 14
+ testing/performance/perftest_android_main.js
diff --git a/taskcluster/ci/perftest/kind.yml b/taskcluster/ci/perftest/kind.yml
new file mode 100644
index 0000000000..dd2cee31f9
--- /dev/null
+++ b/taskcluster/ci/perftest/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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - taskgraph.transforms.perftest:transforms
+ - taskgraph.transforms.source_test:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs-from:
+ - android.yml
+ - linux.yml
+ - macosx.yml
+ - windows.yml
+
+job-defaults:
+ run-on-projects: []
+ treeherder:
+ kind: other
+ tier: 3
+ worker:
+ taskcluster-proxy: true
+ max-run-time: 10800
+ env:
+ USE_ARTIFACT: '1'
+ artifacts:
+ - type: directory
+ name: public/build
+ path: artifacts
+ run:
+ run-as-root: true
+ using: run-task
+ checkout: false
diff --git a/taskcluster/ci/perftest/linux.yml b/taskcluster/ci/perftest/linux.yml
new file mode 100644
index 0000000000..e8183d9fb5
--- /dev/null
+++ b/taskcluster/ci/perftest/linux.yml
@@ -0,0 +1,210 @@
+# 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/.
+---
+job-defaults:
+ worker-type: t-linux-talos
+ fetches:
+ toolchain:
+ - linux64-node-10
+ - linux64-geckodriver
+ build:
+ - artifact: target.mozinfo.json
+ - artifact: target.common.tests.tar.gz
+ - artifact: target.perftests.tests.tar.gz
+ - artifact: target.xpcshell.tests.tar.gz
+ - artifact: target.tar.bz2
+ platform: linux64-shippable/opt
+ require-build:
+ linux64-shippable/opt: build-linux64-shippable/opt
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
+
+try-xpcshell:
+ description: Run ./mach perftest on Linux
+ treeherder:
+ symbol: perftest(linux-xpcshell)
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ --on-try
+ --flavor desktop-browser
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --xpcshell-binary ${MOZ_FETCHES_DIR}/bin/xpcshell
+ --xpcshell-mozinfo ${MOZ_FETCHES_DIR}/target.mozinfo.json
+ --xpcshell-nodejs ${MOZ_FETCHES_DIR}/node/bin/node
+ --xpcshell-xre-path ${MOZ_FETCHES_DIR}/firefox
+
+try-browsertime:
+ description: Run ./mach perftest on Linux
+ treeherder:
+ symbol: perftest(linux-bt)
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ --on-try
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --flavor desktop-browser
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+domcount:
+ description: Run DOM test
+ treeherder:
+ symbol: perftest(linux-dom)
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ browser/base/content/test/perftest_browser_xhtml_dom.js
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics name:totalDOMCount,unit:count name:panelMenuCount,unit:count name:lightDOMCount,unit:count name:lightDOMDetails,unit:count
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+http3:
+ description: Run HTTP/3 test
+ treeherder:
+ symbol: perftest(http3)
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ xpcshell/tests/netwerk/test/unit/test_http3_perf.js
+ --flavor xpcshell
+ --perfherder
+ --perfherder-metrics name:speed,unit:bps
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --xpcshell-binary ${MOZ_FETCHES_DIR}/bin/xpcshell
+ --xpcshell-mozinfo ${MOZ_FETCHES_DIR}/target.mozinfo.json
+ --xpcshell-nodejs ${MOZ_FETCHES_DIR}/node/bin/node
+ --xpcshell-cycles 13
+ --xpcshell-xre-path ${MOZ_FETCHES_DIR}/firefox
+ --verbose
+
+livesites:
+ description: Live site performance testing
+ variants: [http3]
+ treeherder:
+ symbol: perftest({symbol})
+ attributes:
+ batch: false
+ cron: true
+ perftest:
+ - [cloudflare, netwerk/test/perf/perftest_http3_cloudflareblog.js]
+ - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
+ - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
+ - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
+ - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
+ - [ytw, netwerk/test/perf/perftest_http3_youtube_watch.js]
+ - [ytw-scroll, netwerk/test/perf/perftest_http3_youtube_watch_scroll.js]
+ perftest-metrics:
+ by-perftest:
+ cloudflare:
+ # Example of how the specify settings for each metric
+ resources:
+ extraOptions: []
+ firstPaint: {}
+ navigationTiming: {}
+ pageTimings: {}
+ timeToContentfulPaint: {}
+ fb-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, requestsPerSecond]
+ g-image: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, imagesPerSecond, imageLoadTime]
+ g-search: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
+ lq-fetch: [navigationTiming, pageTimings, resources, timeToContentfulPaint, resourceLoadTime, imagesLoaded, imagesMissed]
+ ytw: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
+ ytw-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
+ default: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
+ # Leave this here so people know this exists when looking
+ # for examples
+ perftest-perfherder-global:
+ extraOptions: []
+ perftest-extra-options:
+ by-perftest:
+ cloudflare:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ g-search:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ lq-fetch:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ default: []
+ perftest-btime-variants:
+ by-perftest:
+ cloudflare:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ fb-scroll:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ g-search:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ lq-fetch:
+ - [null, "browsertime.waitTime=1000,browsertime.cycles=5"]
+ ytw:
+ - [null, browsertime.waitTime=20000]
+ ytw-scroll:
+ - [null, browsertime.waitTime=20000]
+ default:
+ - [null, browsertime.waitTime=1000]
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ {perftest_testname}
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --browsertime-iterations 10
+ --visualmetrics
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics {perftest_metrics}
+ --perfherder-simplify-names
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+controlled:
+ description: Controlled performance testing
+ treeherder:
+ symbol: perftest(controlled)
+ worker:
+ max-run-time: 14400
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ netwerk/test/perf/perftest_http3_controlled.js
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --browsertime-iterations 1
+ --browsertime-cycles 96
+ --hooks netwerk/test/perf/hooks_throttling.py
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics name:navigationTiming,unit:ms name:pageTimings,unit:ms name:resources,unit:ms name:firstPaint,unit:ms name:timeToContentfulPaint,unit:ms
+ --perfherder-simplify-names
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
diff --git a/taskcluster/ci/perftest/macosx.yml b/taskcluster/ci/perftest/macosx.yml
new file mode 100644
index 0000000000..74aec57a3a
--- /dev/null
+++ b/taskcluster/ci/perftest/macosx.yml
@@ -0,0 +1,221 @@
+# 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/.
+---
+job-defaults:
+ worker-type: t-osx-1014
+ fetches:
+ build:
+ - artifact: target.mozinfo.json
+ - artifact: target.common.tests.tar.gz
+ - artifact: target.xpcshell.tests.tar.gz
+ - artifact: target.perftests.tests.tar.gz
+ - artifact: target.dmg
+ extract: false
+ toolchain:
+ - macosx64-geckodriver
+ - macosx64-node
+ platform: macosx64-shippable/opt
+ require-build:
+ macosx64-shippable/opt: build-macosx64-shippable/opt
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
+
+try-xpcshell:
+ description: Run ./mach perftest on macOs
+ treeherder:
+ symbol: perftest(macos-xpcshell)
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ --on-try
+ --flavor desktop-browser
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --xpcshell-binary ${MOZ_FETCHES_DIR}/bin/xpcshell
+ --xpcshell-mozinfo ${MOZ_FETCHES_DIR}/target.mozinfo.json
+ --xpcshell-nodejs ${MOZ_FETCHES_DIR}/node/bin/node
+ --xpcshell-xre-path ${MOZ_FETCHES_DIR}/target.dmg
+
+try-browsertime:
+ description: Run ./mach perftest on macOs
+ treeherder:
+ symbol: perftest(macos-bt)
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ --on-try
+ --browsertime-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/bin/node
+ --flavor desktop-browser
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+domcount:
+ description: Run DOM test on macOS
+ treeherder:
+ symbol: perftest(macos-dom)
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ browser/base/content/test/perftest_browser_xhtml_dom.js
+ --browsertime-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/bin/node
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics name:totalDOMCount,unit:count name:panelMenuCount,unit:count name:lightDOMCount,unit:count name:lightDOMDetails,unit:count
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+http3:
+ description: Run HTTP/3 test
+ treeherder:
+ symbol: perftest(http3)
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ xpcshell/tests/netwerk/test/unit/test_http3_perf.js
+ --flavor xpcshell
+ --perfherder
+ --perfherder-metrics name:speed,unit:bps
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --xpcshell-binary ${MOZ_FETCHES_DIR}/bin/xpcshell
+ --xpcshell-mozinfo ${MOZ_FETCHES_DIR}/target.mozinfo.json
+ --xpcshell-nodejs ${MOZ_FETCHES_DIR}/node/bin/node
+ --xpcshell-cycles 13
+ --xpcshell-xre-path ${MOZ_FETCHES_DIR}/target.dmg
+ --verbose
+
+
+livesites:
+ description: Live site performance testing
+ variants: [http3]
+ treeherder:
+ symbol: perftest({symbol})
+ attributes:
+ batch: false
+ cron: true
+ perftest:
+ - [cloudflare, netwerk/test/perf/perftest_http3_cloudflareblog.js]
+ - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
+ - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
+ - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
+ - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
+ - [ytw, netwerk/test/perf/perftest_http3_youtube_watch.js]
+ - [ytw-scroll, netwerk/test/perf/perftest_http3_youtube_watch_scroll.js]
+ perftest-metrics:
+ by-perftest:
+ cloudflare:
+ # Example of how the specify settings for each metric
+ resources:
+ extraOptions: []
+ firstPaint: {}
+ navigationTiming: {}
+ pageTimings: {}
+ timeToContentfulPaint: {}
+ fb-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, requestsPerSecond]
+ g-image: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, imagesPerSecond, imageLoadTime]
+ g-search: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
+ lq-fetch: [navigationTiming, pageTimings, resources, timeToContentfulPaint, resourceLoadTime, imagesLoaded, imagesMissed]
+ ytw: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
+ ytw-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
+ default: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
+ # Leave this here so people know this exists when looking
+ # for examples
+ perftest-perfherder-global:
+ extraOptions: []
+ perftest-extra-options:
+ by-perftest:
+ cloudflare:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ g-search:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ lq-fetch:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ default: []
+ perftest-btime-variants:
+ by-perftest:
+ cloudflare:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ fb-scroll:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ g-search:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ lq-fetch:
+ - [null, "browsertime.waitTime=1000,browsertime.cycles=5"]
+ ytw:
+ - [null, browsertime.waitTime=20000]
+ ytw-scroll:
+ - [null, browsertime.waitTime=20000]
+ default:
+ - [null, browsertime.waitTime=1000]
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ {perftest_testname}
+ --browsertime-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/bin/node
+ --browsertime-iterations 10
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics {perftest_metrics}
+ --perfherder-simplify-names
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+controlled:
+ description: Controlled performance testing
+ treeherder:
+ symbol: perftest(controlled)
+ worker:
+ max-run-time: 14400
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ python3 python/mozperftest/mozperftest/runner.py
+ netwerk/test/perf/perftest_http3_controlled.js
+ --browsertime-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/bin/node
+ --browsertime-iterations 1
+ --browsertime-cycles 96
+ --hooks netwerk/test/perf/hooks_throttling.py
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics name:navigationTiming,unit:ms name:pageTimings,unit:ms name:resources,unit:ms name:firstPaint,unit:ms name:timeToContentfulPaint,unit:ms
+ --perfherder-simplify-names
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
diff --git a/taskcluster/ci/perftest/windows.yml b/taskcluster/ci/perftest/windows.yml
new file mode 100644
index 0000000000..faa718d3d4
--- /dev/null
+++ b/taskcluster/ci/perftest/windows.yml
@@ -0,0 +1,170 @@
+# 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/.
+---
+job-defaults:
+ worker-type: t-win10-64-hw
+ fetches:
+ build:
+ - artifact: target.perftests.tests.tar.gz
+ - artifact: target.zip
+ toolchain:
+ - win64-node-10
+ - win64-geckodriver
+ platform: win64-shippable/opt
+ require-build:
+ win64-shippable/opt: build-win64-shippable/opt
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
+
+try-browsertime:
+ description: Run ./mach perftest on windows
+ treeherder:
+ symbol: perftest(win-bt)
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ --on-try
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --flavor desktop-browser
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+domcount:
+ description: Run DOM test
+ treeherder:
+ symbol: perftest(win-dom)
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ browser/base/content/test/perftest_browser_xhtml_dom.js
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics name:totalDOMCount,unit:count name:panelMenuCount,unit:count name:lightDOMCount,unit:count name:lightDOMDetails,unit:count
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+
+livesites:
+ description: Live site performance testing
+ variants: [http3]
+ treeherder:
+ symbol: perftest({symbol})
+ attributes:
+ batch: false
+ cron: true
+ perftest:
+ - [cloudflare, netwerk/test/perf/perftest_http3_cloudflareblog.js]
+ - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
+ - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
+ - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
+ - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
+ - [ytw, netwerk/test/perf/perftest_http3_youtube_watch.js]
+ - [ytw-scroll, netwerk/test/perf/perftest_http3_youtube_watch_scroll.js]
+ perftest-metrics:
+ by-perftest:
+ cloudflare:
+ # Example of how the specify settings for each metric
+ resources:
+ extraOptions: []
+ firstPaint: {}
+ navigationTiming: {}
+ pageTimings: {}
+ timeToContentfulPaint: {}
+ fb-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, requestsPerSecond]
+ g-image: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, imagesPerSecond, imageLoadTime]
+ g-search: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
+ lq-fetch: [navigationTiming, pageTimings, resources, timeToContentfulPaint, resourceLoadTime, imagesLoaded, imagesMissed]
+ ytw: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
+ ytw-scroll: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint, droppedFrames, decodedFrames]
+ default: [navigationTiming, pageTimings, resources, firstPaint, timeToContentfulPaint]
+ # Leave this here so people know this exists when looking
+ # for examples
+ perftest-perfherder-global:
+ extraOptions: []
+ perftest-extra-options:
+ by-perftest:
+ cloudflare:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ g-search:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ lq-fetch:
+ - --perfherder-split-by browserScripts.pageinfo.url
+ default: []
+ perftest-btime-variants:
+ by-perftest:
+ cloudflare:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ fb-scroll:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ g-search:
+ - ["10s", browsertime.waitTime=10000]
+ - ["25s", browsertime.waitTime=25000]
+ - ["35s", browsertime.waitTime=35000]
+ - ["60s", browsertime.waitTime=60000]
+ lq-fetch:
+ - [null, "browsertime.waitTime=1000,browsertime.cycles=5"]
+ ytw:
+ - [null, browsertime.waitTime=20000]
+ ytw-scroll:
+ - [null, browsertime.waitTime=20000]
+ default:
+ - [null, browsertime.waitTime=1000]
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ {perftest_testname}
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --browsertime-iterations 10
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics {perftest_metrics}
+ --perfherder-simplify-names
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+controlled:
+ description: Controlled performance testing
+ treeherder:
+ symbol: perftest(controlled)
+ worker:
+ max-run-time: 14400
+ attributes:
+ batch: false
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ netwerk/test/perf/perftest_http3_controlled.js
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --browsertime-iterations 1
+ --browsertime-cycles 96
+ --hooks netwerk/test/perf/hooks_throttling.py
+ --flavor desktop-browser
+ --perfherder
+ --perfherder-metrics name:navigationTiming,unit:ms name:pageTimings,unit:ms name:resources,unit:ms name:firstPaint,unit:ms name:timeToContentfulPaint,unit:ms
+ --perfherder-simplify-names
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
+ --browsertime-node ${MOZ_FETCHES_DIR}/node/node.exe
+ --output $MOZ_FETCHES_DIR/../artifacts
diff --git a/taskcluster/ci/post-balrog-dummy/kind.yml b/taskcluster/ci/post-balrog-dummy/kind.yml
new file mode 100644
index 0000000000..666e330842
--- /dev/null
+++ b/taskcluster/ci/post-balrog-dummy/kind.yml
@@ -0,0 +1,21 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.per_platform_dummy:transforms
+ - taskgraph.transforms.reverse_chunk_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - balrog
+
+job-template:
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml b/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
new file mode 100644
index 0000000000..6911632ba3
--- /dev/null
+++ b/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.reverse_chunk_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-checksums
+ - release-beetmover-source-checksums
+ - release-eme-free-repack-beetmover-checksums
+ - release-beetmover-signed-langpacks-checksums
+
+jobs:
+ firefox-promote:
+ name: post-beetmover-checksums-dummy
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ shipping-product: firefox
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ devedition-promote:
+ name: post-beetmover-checksums-dummy
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ shipping-product: devedition
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/post-beetmover-dummy/kind.yml b/taskcluster/ci/post-beetmover-dummy/kind.yml
new file mode 100644
index 0000000000..6fa01db9e1
--- /dev/null
+++ b/taskcluster/ci/post-beetmover-dummy/kind.yml
@@ -0,0 +1,22 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.per_platform_dummy:transforms
+ - taskgraph.transforms.reverse_chunk_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-checksums
+ - beetmover-repackage
+
+job-template:
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/post-langpack-dummy/kind.yml b/taskcluster/ci/post-langpack-dummy/kind.yml
new file mode 100644
index 0000000000..829e2c4452
--- /dev/null
+++ b/taskcluster/ci/post-langpack-dummy/kind.yml
@@ -0,0 +1,33 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.reverse_chunk_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-signed-langpacks
+
+jobs:
+ firefox-promote:
+ name: post-langpack-dummy
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ shipping-product: firefox
+ worker-type: succeed
+ worker:
+ implementation: succeed
+
+ devedition-promote:
+ name: post-langpack-dummy
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ shipping-product: devedition
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/post-update-verify-dummy/kind.yml b/taskcluster/ci/post-update-verify-dummy/kind.yml
new file mode 100644
index 0000000000..23ae10558f
--- /dev/null
+++ b/taskcluster/ci/post-update-verify-dummy/kind.yml
@@ -0,0 +1,21 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.per_platform_dummy:transforms
+ - taskgraph.transforms.reverse_chunk_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-update-verify
+
+job-template:
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/python-dependency-update/kind.yml b/taskcluster/ci/python-dependency-update/kind.yml
new file mode 100644
index 0000000000..80e9471313
--- /dev/null
+++ b/taskcluster/ci/python-dependency-update/kind.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.python_update:transforms
+ - taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ name: python_dependency_update
+ description: Update requirements.txt
+ run-on-projects: []
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ tier: 1
+ worker-type: b-linux
+ worker:
+ implementation: docker-worker
+ os: linux
+ docker-image: {in-tree: python-dependency-update}
+ taskcluster-proxy: true
+ max-run-time: 2400
+ command:
+ - /runme.sh
+ artifacts:
+ - name: 'public/build/requirements.txt.diff'
+ path: '/home/worker/artifacts/requirements.txt.diff'
+ type: file
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/arc-phabricator-token
+
+
+jobs:
+ funsize-update-generator:
+ treeherder:
+ symbol: pydep(fug)
+ worker:
+ env:
+ REQUIREMENTS_FILE: "taskcluster/docker/funsize-update-generator/requirements.in"
+ PYTHON3: "1"
+ REVIEWERS: "sfraser, bhearsum"
diff --git a/taskcluster/ci/release-balrog-scheduling/kind.yml b/taskcluster/ci/release-balrog-scheduling/kind.yml
new file mode 100644
index 0000000000..3f89e2141a
--- /dev/null
+++ b/taskcluster/ci/release-balrog-scheduling/kind.yml
@@ -0,0 +1,86 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.scriptworker:add_balrog_scopes
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-bouncer-check
+ - release-push-langpacks
+
+job-defaults:
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: balrog
+ worker:
+ implementation: balrog
+ balrog-action: schedule
+
+jobs:
+ firefox:
+ description: Schedule Firefox publishing in balrog
+ name: release-firefox_schedule_publishing_in_balrog
+ shipping-product: firefox
+ worker:
+ product: firefox
+ publish-rules:
+ by-release-level:
+ production:
+ by-release-type:
+ beta: [32]
+ release: [145]
+ esr78: [3820]
+ default: []
+ staging:
+ by-release-type:
+ beta: [32]
+ release: [145]
+ esr78: [887]
+ default: []
+ background-rate:
+ by-release-type:
+ beta:
+ by-beta-number:
+ '1': 25
+ '2': 50
+ '3': 100
+ default: null
+ default: null
+ force-fallback-mapping-update:
+ by-release-type:
+ beta:
+ by-beta-number:
+ '1': true
+ default: false
+ default: false
+ treeherder:
+ platform: firefox-release/opt
+ symbol: Rel(BSFx)
+ tier: 1
+ kind: build
+ devedition:
+ description: Schedule Devedition publishing in balrog
+ name: release-devedition_schedule_publishing_in_balrog
+ shipping-product: devedition
+ worker:
+ product: devedition
+ publish-rules: [10]
+ background-rate:
+ by-release-type:
+ beta: null
+ default: null
+ force-fallback-mapping-update:
+ by-release-type:
+ beta: true
+ default: false
+ treeherder:
+ platform: devedition-release/opt
+ symbol: Rel(BSDev)
+ tier: 1
+ kind: build
diff --git a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml b/taskcluster/ci/release-balrog-submit-toplevel/kind.yml
new file mode 100644
index 0000000000..06dbc314cc
--- /dev/null
+++ b/taskcluster/ci/release-balrog-submit-toplevel/kind.yml
@@ -0,0 +1,72 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.scriptworker:add_balrog_scopes
+ - taskgraph.transforms.balrog_toplevel:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects: [] # to make sure this never runs in CI
+ shipping-phase: promote
+ worker-type: balrog
+ worker:
+ implementation: balrog
+ balrog-action: v2-submit-toplevel
+ require-mirrors: true
+ archive-domain:
+ by-release-level:
+ production: archive.mozilla.org
+ staging: ftp.stage.mozaws.net
+ download-domain:
+ by-release-level:
+ production: download.mozilla.org
+ staging: bouncer-bouncer-releng.stage.mozaws.net
+ whats-new-config: browser/config/whats_new_page.yml
+
+jobs:
+ firefox:
+ name: submit-toplevel-firefox-release-to-balrog
+ description: Submit toplevel Firefox release to balrog
+ shipping-product: firefox
+ worker:
+ product: firefox
+ channel-names:
+ by-release-type:
+ beta: ["beta", "beta-localtest", "beta-cdntest"]
+ release(-rc)?: ["release", "release-localtest", "release-cdntest"]
+ esr.*: ["esr", "esr-localtest", "esr-cdntest", "esr-localtest-next", "esr-cdntest-next"]
+ default: []
+ rules-to-update:
+ by-release-type:
+ beta: ["firefox-beta-cdntest", "firefox-beta-localtest"]
+ release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"]
+ esr78: ["firefox-esr78-cdntest", "firefox-esr78-localtest"]
+ default: []
+ platforms: ["linux", "linux64", "macosx64", "win32", "win64", "win64-aarch64"]
+ treeherder:
+ platform: firefox-release/opt
+ symbol: Rel(BPFx)
+ tier: 1
+ kind: build
+
+ devedition:
+ name: submit-toplevel-devedition-release-to-balrog
+ description: submit toplevel Devedition release to balrog
+ shipping-product: devedition
+ run-on-releases: [beta]
+ worker:
+ product: devedition
+ channel-names: ["aurora", "aurora-localtest", "aurora-cdntest"]
+ rules-to-update: ["devedition-cdntest", "devedition-localtest"]
+ platforms: ["linux", "linux64", "macosx64", "win32", "win64", "win64-aarch64"]
+ treeherder:
+ platform: devedition-release/opt
+ symbol: Rel(BPDev)
+ tier: 1
+ kind: build
diff --git a/taskcluster/ci/release-beetmover-push-to-release/kind.yml b/taskcluster/ci/release-beetmover-push-to-release/kind.yml
new file mode 100644
index 0000000000..b234818294
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-push-to-release/kind.yml
@@ -0,0 +1,31 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.beetmover_push_to_release:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-generate-checksums-beetmover
+ - post-update-verify-dummy
+
+job-defaults:
+ run-on-projects: []
+ shipping-phase: push
+
+jobs:
+ devedition-push-to-release:
+ name: devedition_push_to_release
+ product: devedition
+ shipping-product: devedition
+ treeherder-platform: devedition-release/opt
+
+ firefox-push-to-release:
+ name: firefox_push_to_release
+ product: firefox
+ shipping-product: firefox
+ treeherder-platform: firefox-release/opt
diff --git a/taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml b/taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml
new file mode 100644
index 0000000000..04c2cf80b0
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-signed-langpacks-checksums/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_langpack_checksums:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-signed-langpacks
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map: taskcluster/taskgraph/manifests/firefox_candidates_checksums.yml
diff --git a/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml b/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml
new file mode 100644
index 0000000000..8a2a69e37c
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml
@@ -0,0 +1,36 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.release_beetmover_signed_addons:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-signing
+ - shippable-l10n-signing
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+
+job-template:
+ description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-beetmover
+ staging: scriptworker-k8s/gecko-1-beetmover
+ run-on-projects: []
+ shipping-phase: promote
+ attributes:
+ artifact_map:
+ by-release-type:
+ beta|release.*|esr.*: taskcluster/taskgraph/manifests/firefox_candidates.yml
+ default: taskcluster/taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/release-beetmover-source-checksums/kind.yml b/taskcluster/ci/release-beetmover-source-checksums/kind.yml
new file mode 100644
index 0000000000..a759038d20
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-source-checksums/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_source_checksums:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source-checksums-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map: taskcluster/taskgraph/manifests/source_checksums.yml
diff --git a/taskcluster/ci/release-bouncer-aliases/kind.yml b/taskcluster/ci/release-bouncer-aliases/kind.yml
new file mode 100644
index 0000000000..b403405abc
--- /dev/null
+++ b/taskcluster/ci/release-bouncer-aliases/kind.yml
@@ -0,0 +1,98 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.bouncer_aliases:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-bouncer-check
+
+job-defaults:
+ description: Update bouncer aliases job
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-aliases
+ scopes:
+ by-release-level:
+ production:
+ - project:releng:bouncer:action:aliases
+ - project:releng:bouncer:server:production
+ staging:
+ - project:releng:bouncer:action:aliases
+ - project:releng:bouncer:server:staging
+ run-on-projects: []
+ shipping-phase: ship
+ treeherder:
+ symbol: Rel(BncAlias)
+ kind: test
+ tier: 1
+
+jobs:
+ devedition:
+ bouncer-products-per-alias:
+ firefox-devedition-latest-ssl: installer-ssl
+ firefox-devedition-latest: installer
+ firefox-devedition-stub: stub-installer
+ firefox-devedition-msi-latest-ssl: msi
+ shipping-product: devedition
+ treeherder:
+ platform: devedition-release/opt
+
+ firefox:
+ bouncer-products-per-alias:
+ by-project:
+ mozilla-beta:
+ firefox-beta-latest-ssl: installer-ssl
+ firefox-beta-latest: installer
+ firefox-beta-stub: stub-installer
+ firefox-beta-msi-latest-ssl: msi
+ firefox-beta-pkg-latest-ssl: pkg
+ mozilla-release:
+ firefox-latest-ssl: installer-ssl
+ firefox-latest: installer
+ firefox-stub: stub-installer
+ firefox-msi-latest-ssl: msi
+ firefox-pkg-latest-ssl: pkg
+ mozilla-esr78:
+ # when there is one ESR branch both sets of aliases work
+ # when there are two ESR branches ...
+ # ... these always point to the older branch
+ firefox-esr-latest-ssl: installer-ssl
+ firefox-esr-latest: installer
+ firefox-esr-msi-latest-ssl: msi
+ firefox-esr-pkg-latest-ssl: pkg
+ # mozilla-esrXX: XXX - to uncomment when we branch next ESR
+ # ... these point to the newer branch
+ firefox-esr-next-latest-ssl: installer-ssl
+ firefox-esr-next-latest: installer
+ firefox-esr-next-msi-latest-ssl: msi
+ firefox-esr-next-pkg-latest-ssl: pkg
+ birch:
+ firefox-latest-ssl: installer-ssl
+ firefox-latest: installer
+ firefox-stub: stub-installer
+ jamun:
+ firefox-esr-latest-ssl: installer-ssl
+ firefox-esr-latest: installer
+ maple:
+ firefox-beta-latest-ssl: installer-ssl
+ firefox-beta-latest: installer
+ firefox-beta-stub: stub-installer
+ default: {}
+ partner-bouncer-products-per-alias:
+ by-project:
+ mozilla-beta:
+ partner-firefox-beta-PARTNER-latest: installer
+ partner-firefox-beta-PARTNER-stub: stub-installer
+ mozilla-release:
+ partner-firefox-release-PARTNER-latest: installer
+ partner-firefox-release-PARTNER-stub: stub-installer
+ default: {}
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
diff --git a/taskcluster/ci/release-bouncer-check/kind.yml b/taskcluster/ci/release-bouncer-check/kind.yml
new file mode 100644
index 0000000000..1c5e929f26
--- /dev/null
+++ b/taskcluster/ci/release-bouncer-check/kind.yml
@@ -0,0 +1,76 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.bouncer_check:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: release-bouncer-check
+ description: release bouncer check
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: push
+ worker-type: b-linux
+ worker:
+ max-run-time: 1200
+ docker-image: {in-tree: "update-verify"}
+ run:
+ sparse-profile: mozharness
+ extra-config:
+ by-release-level:
+ production:
+ bouncer_prefix: "https://download.mozilla.org/"
+ staging:
+ # This is the list on-change locales, excluding ja/ja-JP-mac
+ # which bouncer_check doesn't support.
+ locales: ['en-US', 'en-CA', 'he', 'it']
+ bouncer_prefix: "https://bouncer-bouncer-releng.stage.mozaws.net/"
+ cdn_urls:
+ - ftp.stage.mozaws.net
+
+ attributes:
+ build_platform: linux64
+ build_type: opt
+ treeherder:
+ symbol: Rel(BncChk)
+ kind: test
+ tier: 1
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: firefox-release-bouncer-check
+ run:
+ config:
+ by-release-type:
+ beta:
+ - releases/bouncer_firefox_beta.py
+ release:
+ - releases/bouncer_firefox_release.py
+ esr.*:
+ - releases/bouncer_firefox_esr.py
+ default:
+ - releases/bouncer_firefox_beta.py
+ treeherder:
+ platform: firefox-release/opt
+
+ devedition:
+ shipping-product: devedition
+ index:
+ product: devedition
+ job-name: devedition-release-bouncer-check
+ run:
+ config:
+ - releases/bouncer_firefox_devedition.py
+ treeherder:
+ platform: devedition-release/opt
diff --git a/taskcluster/ci/release-bouncer-sub/kind.yml b/taskcluster/ci/release-bouncer-sub/kind.yml
new file mode 100644
index 0000000000..e33d9f3a1b
--- /dev/null
+++ b/taskcluster/ci/release-bouncer-sub/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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.bouncer_submission:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: release bouncer submission job
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-submission
+ scopes:
+ by-release-level:
+ production:
+ - project:releng:bouncer:action:submission
+ - project:releng:bouncer:server:production
+ staging:
+ - project:releng:bouncer:action:submission
+ - project:releng:bouncer:server:staging
+ run-on-projects: []
+ shipping-phase: promote
+ locales-file: browser/locales/shipped-locales
+ treeherder:
+ symbol: Rel(BncSub)
+ kind: test
+ tier: 1
+
+jobs:
+ devedition:
+ bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
+ bouncer-products: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi']
+ shipping-product: devedition
+ treeherder:
+ platform: devedition-release/opt
+
+ firefox:
+ bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
+ bouncer-products:
+ by-release-type:
+ default: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi', 'pkg']
+ esr78: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'pkg']
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
+
+ firefox-rc:
+ bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
+ bouncer-products: ['complete-mar-candidates', 'partial-mar-candidates']
+ shipping-product: firefox
+ run-on-releases: ['release-rc']
+ treeherder:
+ symbol: Rel(BncSub-RC)
+ platform: firefox-release/opt
diff --git a/taskcluster/ci/release-early-tagging/kind.yml b/taskcluster/ci/release-early-tagging/kind.yml
new file mode 100644
index 0000000000..de20280382
--- /dev/null
+++ b/taskcluster/ci/release-early-tagging/kind.yml
@@ -0,0 +1,46 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_version_bump:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: Release Promotion version tag for buildN
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: tree
+ worker:
+ implementation: treescript
+ tags: ['buildN']
+ bump: false
+ dontbuild: true
+ push:
+ by-project:
+ mozilla-(beta|release|esr.*): true
+ maple: true
+ default: false
+
+
+jobs:
+ firefox:
+ name: firefox-tag-buildN
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
+ symbol: Rel(TagBuild)
+ tier: 1
+ kind: build
+
+ devedition:
+ name: devedition-tag-buildN
+ shipping-product: devedition
+ treeherder:
+ platform: devedition-release/opt
+ symbol: Rel(TagBuild)
+ tier: 1
+ kind: build
diff --git a/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml b/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml
new file mode 100644
index 0000000000..7d64666b30
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml
@@ -0,0 +1,21 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_emefree_checksums:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack-beetmover
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ shipping-phase: promote
diff --git a/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml b/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml
new file mode 100644
index 0000000000..b13d5b8395
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml
@@ -0,0 +1,27 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_repackage_partner:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack-repackage-signing
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ partner-bucket-scope:
+ by-release-level:
+ production: beetmover:bucket:partner
+ staging: beetmover:bucket:dep-partner
+ partner-private-path: null
+ partner-public-path: "{platform}-EME-free/{locale}"
diff --git a/taskcluster/ci/release-eme-free-repack-notarization-part-1/kind.yml b/taskcluster/ci/release-eme-free-repack-notarization-part-1/kind.yml
new file mode 100644
index 0000000000..12b8c1808d
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-notarization-part-1/kind.yml
@@ -0,0 +1,25 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.partner_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+job-template:
+ shipping-product: firefox
+ shipping-phase: promote
+ repacks-per-chunk: 5
diff --git a/taskcluster/ci/release-eme-free-repack-notarization-poller/kind.yml b/taskcluster/ci/release-eme-free-repack-notarization-poller/kind.yml
new file mode 100644
index 0000000000..5a2640eda0
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-notarization-poller/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.mac_notarization_poller:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack-notarization-part-1
+
+job-template:
+ description-suffix: 'Mac Notarization Poller'
+ worker:
+ implementation: notarization-poller
+ copy-repack-ids: true
diff --git a/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml b/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml
new file mode 100644
index 0000000000..c456277764
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml
@@ -0,0 +1,18 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_signing_partner:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack-repackage
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - macosx64-shippable/opt
diff --git a/taskcluster/ci/release-eme-free-repack-repackage/kind.yml b/taskcluster/ci/release-eme-free-repack-repackage/kind.yml
new file mode 100644
index 0000000000..95f0c15ad2
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-repackage/kind.yml
@@ -0,0 +1,47 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_partner:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack
+ - release-eme-free-repack-signing
+ - toolchain
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ mozharness:
+ config:
+ by-build-platform:
+ macosx64-.*:
+ - repackage/base.py
+ - repackage/osx_partner.py
+ win32-.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win32_partner.py
+ win64-(?!aarch64).*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win64_partner.py
+ win64-aarch64-.*:
+ - repackage/base.py
+ - repackage/win64-aarch64_sfx_stub.py
+ - repackage/win64_partner.py
+ package-formats:
+ by-build-platform:
+ macosx64\b.*: [dmg]
+ win32\b.*: [installer]
+ win64\b.*: [installer]
diff --git a/taskcluster/ci/release-eme-free-repack-signing/kind.yml b/taskcluster/ci/release-eme-free-repack-signing/kind.yml
new file mode 100644
index 0000000000..253aa51c5e
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-signing/kind.yml
@@ -0,0 +1,28 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.partner_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-eme-free-repack-notarization-part-1
+ - release-eme-free-repack-notarization-poller
+
+primary-dependency: release-eme-free-repack-notarization-part-1
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+job-template:
+ shipping-product: firefox
+ shipping-phase: promote
+ max-run-time: 3600
+ copy-repack-ids: true
diff --git a/taskcluster/ci/release-eme-free-repack/kind.yml b/taskcluster/ci/release-eme-free-repack/kind.yml
new file mode 100644
index 0000000000..0675b8cbb8
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack/kind.yml
@@ -0,0 +1,78 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.partner_repack:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-signing
+ - shippable-l10n-signing
+
+job-defaults:
+ name: eme-free-repack
+ description: Release Promotion eme-free repacks
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-product: firefox
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "partner-repack"
+ chain-of-trust: true
+ max-run-time: 7200
+ run:
+ using: mozharness
+ config:
+ - partner_repacks/release_mozilla-release_desktop.py
+ script: mozharness/scripts/desktop_partner_repacks.py
+ job-script: taskcluster/scripts/builder/repackage.sh
+ need-xvfb: false
+ tooltool-downloads: false
+ extra:
+ limit-locales:
+ by-release-level:
+ staging: true
+ production: false
+
+jobs:
+ macosx64-shippable:
+ treeherder:
+ symbol: EME
+ platform: macosx64/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: macosx64-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ win32-shippable:
+ treeherder:
+ symbol: EME
+ platform: win32/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win32-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ win64-shippable:
+ treeherder:
+ symbol: EME
+ platform: win64/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
diff --git a/taskcluster/ci/release-final-verify/kind.yml b/taskcluster/ci/release-final-verify/kind.yml
new file mode 100644
index 0000000000..7ae31caa6d
--- /dev/null
+++ b/taskcluster/ci/release-final-verify/kind.yml
@@ -0,0 +1,47 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - release-bouncer-check
+ - release-update-verify-config
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.final_verify:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: final-verify
+ run-on-projects: [] # to make sure this never runs as part of CI
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status: [1]
+
+
+jobs:
+ firefox:
+ description: final verify
+ shipping-phase: push
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
+ kind: test
+ symbol: Rel(FV)
+ tier: 1
+
+ devedition:
+ description: final verify
+ shipping-phase: push
+ shipping-product: devedition
+ treeherder:
+ platform: devedition-release/opt
+ kind: test
+ symbol: Rel(FV)
+ tier: 1
diff --git a/taskcluster/ci/release-flatpak-push/kind.yml b/taskcluster/ci/release-flatpak-push/kind.yml
new file mode 100644
index 0000000000..0db91aae3b
--- /dev/null
+++ b/taskcluster/ci/release-flatpak-push/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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_flatpak_push:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-flatpak-repackage
+
+job-defaults:
+ description: Pushes Flatpaks onto Flathub
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: ship
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-pushflatpak
+ staging: scriptworker-k8s/gecko-1-pushflatpak
+ worker:
+ implementation: push-flatpak
+ channel:
+ by-release-type:
+ beta: beta
+ release: stable
+ default: mock
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ treeherder:
+ symbol: Flatpak(push)
diff --git a/taskcluster/ci/release-flatpak-repackage/kind.yml b/taskcluster/ci/release-flatpak-repackage/kind.yml
new file mode 100644
index 0000000000..aec4aa0526
--- /dev/null
+++ b/taskcluster/ci/release-flatpak-repackage/kind.yml
@@ -0,0 +1,64 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_flatpak_repackage:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+ - post-langpack-dummy
+
+job-defaults:
+ description: Generates flatpak by reackaging the existing tar.bz2
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ scopes: []
+ treeherder:
+ platform: linux64-shippable/opt
+ kind: build
+ tier: 2
+ worker-type: b-linux
+ worker:
+ implementation: docker-worker
+ os: linux
+ max-run-time: 7200
+ docker-image: {in-tree: firefox-flatpak}
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /home/worker/artifacts/
+ command:
+ - /bin/bash
+ - -cx
+ - ./runme.sh
+ env:
+ VERSION: "{release_config[version]}"
+ BUILD_NUMBER: "{release_config[build_number]}"
+ CANDIDATES_DIR:
+ by-release-level:
+ staging:
+ https://net-mozaws-stage-delivery-firefox.s3.amazonaws.com/pub/{task[shipping-product]}/candidates
+ production:
+ https://net-mozaws-prod-delivery-firefox.s3.amazonaws.com/pub/{task[shipping-product]}/candidates
+ LC_ALL: C.UTF-8
+ LANG: C.UTF-8
+ L10N_CHANGESETS: "{config_params[head_repository]}/raw-file/{config_params[head_rev]}/browser/locales/l10n-changesets.json"
+ FLATPAK_BRANCH:
+ by-project:
+ mozilla-release: stable
+ default: beta
+ chain-of-trust: true
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ attributes:
+ build_platform: linux64-shippable
+ build_type: opt
+ treeherder:
+ symbol: Flatpak(r)
diff --git a/taskcluster/ci/release-generate-checksums-beetmover/kind.yml b/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
new file mode 100644
index 0000000000..7f8f34eceb
--- /dev/null
+++ b/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
@@ -0,0 +1,17 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.release_generate_checksums_beetmover:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-generate-checksums-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map: taskcluster/taskgraph/manifests/release_checksums.yml
diff --git a/taskcluster/ci/release-generate-checksums-signing/kind.yml b/taskcluster/ci/release-generate-checksums-signing/kind.yml
new file mode 100644
index 0000000000..8d7fffd8f3
--- /dev/null
+++ b/taskcluster/ci/release-generate-checksums-signing/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+kind-dependencies:
+ - release-generate-checksums
+
+transforms:
+ - taskgraph.transforms.release_generate_checksums_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+job-template:
+ shipping-phase: promote
diff --git a/taskcluster/ci/release-generate-checksums/kind.yml b/taskcluster/ci/release-generate-checksums/kind.yml
new file mode 100644
index 0000000000..480d1abb8c
--- /dev/null
+++ b/taskcluster/ci/release-generate-checksums/kind.yml
@@ -0,0 +1,86 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - beetmover-source
+ - post-beetmover-checksums-dummy
+ - release-beetmover-signed-langpacks
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_generate_checksums:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: generate-checksums
+ description: generates checksums
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ max-run-time: 1200
+ artifacts:
+ - name: public/build/SHA256SUMMARY
+ path: /builds/worker/SHA256SUMMARY
+ type: file
+ - name: public/build/SHA256SUMS
+ path: /builds/worker/SHA256SUMS
+ type: file
+ - name: public/build/SHA512SUMMARY
+ path: /builds/worker/SHA512SUMMARY
+ type: file
+ - name: public/build/SHA512SUMS
+ path: /builds/worker/SHA512SUMS
+ type: file
+ run:
+ using: mozharness
+ config: [] # See extra-config below
+ actions: [create-virtualenv, collect-individual-checksums, create-big-checksums, create-summary]
+ options:
+ - "version={version}"
+ - "build-number={build_number}"
+ script: "mozharness/scripts/release/generate-checksums.py"
+ treeherder:
+ symbol: Rel(GenChcks)
+ kind: test
+ tier: 1
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ attributes:
+ build_platform: firefox-release
+ build_type: opt
+ run:
+ extra-config:
+ by-release-level:
+ production:
+ stage_product: "firefox"
+ bucket_name: "net-mozaws-prod-delivery-firefox"
+ staging:
+ stage_product: "firefox"
+ bucket_name: "net-mozaws-stage-delivery-firefox"
+ treeherder:
+ platform: firefox-release/opt
+
+ devedition:
+ shipping-product: devedition
+ attributes:
+ build_platform: devedition-release
+ build_type: opt
+ run:
+ extra-config:
+ by-release-level:
+ production:
+ stage_product: "devedition"
+ bucket_name: "net-mozaws-prod-delivery-archive"
+ staging:
+ stage_product: "devedition"
+ bucket_name: "net-mozaws-stage-delivery-archive"
+ treeherder:
+ platform: devedition-release/opt
diff --git a/taskcluster/ci/release-mark-as-shipped/kind.yml b/taskcluster/ci/release-mark-as-shipped/kind.yml
new file mode 100644
index 0000000000..e5e11ea32e
--- /dev/null
+++ b/taskcluster/ci/release-mark-as-shipped/kind.yml
@@ -0,0 +1,43 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_mark_as_shipped:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-balrog-scheduling
+ - release-bouncer-aliases
+ - release-version-bump
+
+job-defaults:
+ description: mark release as shipped in Ship-It
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-shipit
+ staging: scriptworker-k8s/gecko-1-shipit
+ worker:
+ implementation: shipit-shipped
+ scopes:
+ by-release-level:
+ production:
+ - project:releng:ship-it:server:production
+ - project:releng:ship-it:action:mark-as-shipped
+ staging:
+ - project:releng:ship-it:server:staging
+ - project:releng:ship-it:action:mark-as-shipped
+ run-on-projects: []
+ shipping-phase: ship
+
+jobs:
+ firefox:
+ name: release-firefox_mark_as_shipped
+ shipping-product: firefox
+
+ devedition:
+ name: release-devedition_mark_as_shipped
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-notify-av-announce/kind.yml b/taskcluster/ci/release-notify-av-announce/kind.yml
new file mode 100644
index 0000000000..216578fd7b
--- /dev/null
+++ b/taskcluster/ci/release-notify-av-announce/kind.yml
@@ -0,0 +1,42 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+job-defaults:
+ name: notify-av-announce
+ description: Sends email to antivirus vendors telling them that the release is available for scanning.
+ run-on-projects: []
+ shipping-phase: push
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ # !t is a custom format option that calls .title() on the string.
+ subject: "{task[shipping-product]!t} {release_config[version]} build{release_config[build_number]} release"
+ message: |
+ Company Name: Mozilla
+ Contact Department: Release Engineering
+ Contact email address: release@mozilla.com
+ Product information: {task[shipping-product]} {release_config[version]}
+ Product location: https://releases.mozilla.org/pub/{task[shipping-product]}/candidates/{release_config[version]}-candidates/build{release_config[build_number]}/
+ emails:
+ by-project:
+ mozilla-(beta|release|esr.*): ["av-vendor-release-announce@mozilla.org"]
+ try: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ devedition:
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-notify-promote/kind.yml b/taskcluster/ci/release-notify-promote/kind.yml
new file mode 100644
index 0000000000..177d9633b9
--- /dev/null
+++ b/taskcluster/ci/release-notify-promote/kind.yml
@@ -0,0 +1,38 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+ - release-generate-checksums-beetmover
+ - release-bouncer-sub
+
+job-defaults:
+ name: notify-release-drivers-promote
+ description: Sends email to release-drivers telling release was promoted.
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} is in the candidates directory"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} is in the candidates directory"
+ emails:
+ by-project:
+ mozilla-(beta|release|esr.*): ["release-signoff@mozilla.org"]
+ try: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ devedition:
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-notify-push/kind.yml b/taskcluster/ci/release-notify-push/kind.yml
new file mode 100644
index 0000000000..0a7eacaa78
--- /dev/null
+++ b/taskcluster/ci/release-notify-push/kind.yml
@@ -0,0 +1,36 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+job-defaults:
+ name: notify-release-drivers-push
+ description: Sends email to release-drivers telling release was pushed.
+ run-on-projects: []
+ shipping-phase: push
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has been pushed to cdntest"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has been pushed to cdntest"
+ emails:
+ by-project:
+ mozilla-(beta|release|esr.*): ["release-signoff@mozilla.org"]
+ try: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ devedition:
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-notify-ship/kind.yml b/taskcluster/ci/release-notify-ship/kind.yml
new file mode 100644
index 0000000000..ce7855292c
--- /dev/null
+++ b/taskcluster/ci/release-notify-ship/kind.yml
@@ -0,0 +1,43 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-balrog-scheduling
+ - release-bouncer-aliases
+ - release-version-bump
+ - release-mark-as-shipped
+
+job-defaults:
+ name: notify-release-drivers-ship
+ description: Sends email to release-drivers telling release was shipped.
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ emails:
+ by-project:
+ mozilla-(beta|release|esr.*): ["release-signoff@mozilla.org"]
+ try: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
+ devedition:
+ shipping-product: devedition
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
diff --git a/taskcluster/ci/release-notify-started/kind.yml b/taskcluster/ci/release-notify-started/kind.yml
new file mode 100644
index 0000000000..8884b4a039
--- /dev/null
+++ b/taskcluster/ci/release-notify-started/kind.yml
@@ -0,0 +1,32 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_started:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: notify-release-drivers-started
+ description: Sends email to release-drivers telling release was started.
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: "debian10-base"}
+ max-run-time: 600
+ emails:
+ by-project:
+ mozilla-(beta|release|esr.*): ["release-signoff@mozilla.org"]
+ try: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ devedition:
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-partner-attribution-beetmover/kind.yml b/taskcluster/ci/release-partner-attribution-beetmover/kind.yml
new file mode 100644
index 0000000000..2bf4b8f453
--- /dev/null
+++ b/taskcluster/ci/release-partner-attribution-beetmover/kind.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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.partner_attribution_beetmover:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-attribution
+
+job-template:
+ shipping-product: firefox
+ shipping-phase: promote
+ partner-bucket-scope:
+ by-release-level:
+ production: beetmover:bucket:partner
+ staging: beetmover:bucket:dep-partner
+ partner-public-path: "partner-repacks/{partner}/{subpartner}/v{release_partner_build_number}/{platform}/{locale}"
+ partner-private-path: "{partner}/{version}-{build_number}/{subpartner}/{platform}/{locale}"
diff --git a/taskcluster/ci/release-partner-attribution/kind.yml b/taskcluster/ci/release-partner-attribution/kind.yml
new file mode 100644
index 0000000000..56c8dd6844
--- /dev/null
+++ b/taskcluster/ci/release-partner-attribution/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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.partner_attribution:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-signing
+ - repackage-signing-l10n
+
+# move this into the single job ??
+job-defaults:
+ name: partner-attribution
+ description: Release Promotion partner attribution
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-product: firefox
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "partner-repack"
+ chain-of-trust: true
+ max-run-time: 1800
+ run:
+ using: mach
+ mach: python python/mozrelease/mozrelease/partner_attribution.py
+
+jobs:
+ partner-attribution:
+ attributes:
+ build_platform: linux-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
diff --git a/taskcluster/ci/release-partner-repack-beetmover/kind.yml b/taskcluster/ci/release-partner-repack-beetmover/kind.yml
new file mode 100644
index 0000000000..d989eb5737
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-beetmover/kind.yml
@@ -0,0 +1,31 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.beetmover_repackage_partner:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack-repackage-signing
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ partner-bucket-scope:
+ by-release-level:
+ production: beetmover:bucket:partner
+ staging: beetmover:bucket:dep-partner
+ partner-public-path: "partner-repacks/{partner}/{subpartner}/v{release_partner_build_number}/{platform}/{locale}"
+ partner-private-path: "{partner}/{version}-{build_number}/{subpartner}/{platform}/{locale}"
diff --git a/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml b/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml
new file mode 100644
index 0000000000..4a12ebfcd3
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml
@@ -0,0 +1,42 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.bouncer_submission_partners:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: release partners bouncer submission job
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-submission
+ scopes:
+ by-release-level:
+ production:
+ - project:releng:bouncer:action:submission
+ - project:releng:bouncer:server:production
+ staging:
+ - project:releng:bouncer:action:submission
+ - project:releng:bouncer:server:staging
+ run-on-projects: []
+ shipping-phase: promote
+ locales-file: browser/locales/shipped-locales
+ treeherder:
+ symbol: Rel(BncSub-P)
+ kind: test
+ tier: 1
+
+jobs:
+ firefox:
+ bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
+ bouncer-products:
+ by-release-type:
+ default: ['installer', 'stub-installer']
+ esr.*: []
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
diff --git a/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml b/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml
new file mode 100644
index 0000000000..fb9b049c98
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml
@@ -0,0 +1,36 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ # This transform sets build_platform to the same thing as the upstream task.
+ # We'd do it here, except single_dep doesn't pay attention to any
+ # per platform things that we set.
+ - taskgraph.transforms.copy_attributes_from_dependent_task:transforms
+ # This transform is needed because task.py doesn't allow "primary-dependency" to be
+ # set, but the single_dep loader sets it (and we need it for chunk_partners,
+ # name_sanity, and copy_build_platform_from_dependent_task to work).
+ - taskgraph.transforms.strip_dependent_task:transforms
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ shipping-product: firefox
+ name: release-partner-repack-chunking-dummy
+ description: Dummy task to deal with fanning out Linux partner repacks
+ run-on-projects: []
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/release-partner-repack-notarization-part-1/kind.yml b/taskcluster/ci/release-partner-repack-notarization-part-1/kind.yml
new file mode 100644
index 0000000000..7067863049
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-notarization-part-1/kind.yml
@@ -0,0 +1,25 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.partner_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+job-template:
+ shipping-product: firefox
+ shipping-phase: promote
+ repacks-per-chunk: 5
diff --git a/taskcluster/ci/release-partner-repack-notarization-poller/kind.yml b/taskcluster/ci/release-partner-repack-notarization-poller/kind.yml
new file mode 100644
index 0000000000..3784e3ea28
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-notarization-poller/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.mac_notarization_poller:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack-notarization-part-1
+
+job-template:
+ description-suffix: 'Mac Notarization Poller'
+ worker:
+ implementation: notarization-poller
+ copy-repack-ids: true
diff --git a/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml b/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml
new file mode 100644
index 0000000000..0a0722fb50
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-repackage-signing/kind.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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_signing_partner:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack-chunking-dummy # Linux
+ - release-partner-repack-repackage # Windows, Mac
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
diff --git a/taskcluster/ci/release-partner-repack-repackage/kind.yml b/taskcluster/ci/release-partner-repack-repackage/kind.yml
new file mode 100644
index 0000000000..d6dfdb8f73
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-repackage/kind.yml
@@ -0,0 +1,48 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_partner:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack
+ - release-partner-repack-signing
+ - toolchain
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+
+job-template:
+ mozharness:
+ config:
+ by-build-platform:
+ macosx64-.*:
+ - repackage/base.py
+ - repackage/osx_partner.py
+ win32-.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win32_partner.py
+ win64-(?!aarch64).*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win64_partner.py
+ win64-aarch64-.*:
+ - repackage/base.py
+ - repackage/win64-aarch64_sfx_stub.py
+ - repackage/win64_partner.py
+ package-formats:
+ by-build-platform:
+ macosx64\b.*: [dmg]
+ win32\b.*: [installer]
+ win64\b.*: [installer]
diff --git a/taskcluster/ci/release-partner-repack-signing/kind.yml b/taskcluster/ci/release-partner-repack-signing/kind.yml
new file mode 100644
index 0000000000..598f4b9b93
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-signing/kind.yml
@@ -0,0 +1,28 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - taskgraph.transforms.chunk_partners:transforms
+ - taskgraph.transforms.partner_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-partner-repack-notarization-part-1
+ - release-partner-repack-notarization-poller
+
+primary-dependency: release-partner-repack-notarization-part-1
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+job-template:
+ shipping-product: firefox
+ shipping-phase: promote
+ max-run-time: 3600
+ copy-repack-ids: true
diff --git a/taskcluster/ci/release-partner-repack/kind.yml b/taskcluster/ci/release-partner-repack/kind.yml
new file mode 100644
index 0000000000..e58a4d868c
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack/kind.yml
@@ -0,0 +1,84 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.partner_repack:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-signing
+ - shippable-l10n-signing
+
+job-defaults:
+ name: partner-repack
+ description: Release Promotion partner repacks
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-product: firefox
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "partner-repack"
+ chain-of-trust: true
+ max-run-time: 7200
+ run:
+ using: mozharness
+ config:
+ - partner_repacks/release_mozilla-release_desktop.py
+ script: mozharness/scripts/desktop_partner_repacks.py
+ job-script: taskcluster/scripts/builder/repackage.sh
+ need-xvfb: false
+ tooltool-downloads: false
+ extra:
+ limit-locales:
+ by-release-level:
+ staging: true
+ production: false
+
+jobs:
+ linux-shippable:
+ attributes:
+ build_platform: linux-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ linux64-shippable:
+ attributes:
+ build_platform: linux64-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ macosx64-shippable:
+ attributes:
+ build_platform: macosx64-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ win32-shippable:
+ attributes:
+ build_platform: win32-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ win64-shippable:
+ attributes:
+ build_platform: win64-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
+
+ win64-aarch64-shippable:
+ attributes:
+ build_platform: win64-aarch64-shippable
+ build_type: opt
+ artifact_prefix: releng/partner
+ shippable: true
diff --git a/taskcluster/ci/release-push-langpacks/kind.yml b/taskcluster/ci/release-push-langpacks/kind.yml
new file mode 100644
index 0000000000..97b6f29cc7
--- /dev/null
+++ b/taskcluster/ci/release-push-langpacks/kind.yml
@@ -0,0 +1,54 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.release_sign_and_push_langpacks:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - shippable-l10n
+
+
+only-for-build-platforms:
+ - linux64-shippable/opt # addons.mozilla.org only support 1 platform per locale. That's why we use linux64
+ - linux64-devedition/opt
+ - macosx64-shippable/opt # Although, we need the special locale "ja-JP-Mac" from this platform
+ - macosx64-devedition/opt
+
+
+job-template:
+ description: Sends {locales} XPIs for platform to addons.mozilla.org
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-addon
+ staging: scriptworker-k8s/gecko-1-addon
+ worker:
+ implementation: push-addons
+ channel:
+ by-project:
+ mozilla-release:
+ by-platform:
+ # ja-JP-mac is only langpack on mac, and is unlisted always
+ macosx64.*: unlisted
+ default: listed
+ mozilla-beta:
+ by-platform:
+ # ja-JP-mac is only langpack on mac, and is unlisted always
+ macosx64-shippable.*: unlisted
+ macosx64-devedition.*: unlisted
+ linux.*-devedition.*: unlisted
+ default: listed
+ default: unlisted
+ upstream-artifacts: # See transforms
+ run-on-projects: []
+ scopes:
+ by-release-level:
+ production:
+ - project:releng:addons.mozilla.org:server:production
+ staging:
+ - project:releng:addons.mozilla.org:server:staging
+ shipping-phase: promote
diff --git a/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml b/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml
new file mode 100644
index 0000000000..a31020871e
--- /dev/null
+++ b/taskcluster/ci/release-secondary-balrog-scheduling/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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.scriptworker:add_balrog_scopes
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-secondary-balrog-submit-toplevel
+
+job-defaults:
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: balrog
+ worker:
+ implementation: balrog
+ balrog-action: schedule
+
+jobs:
+ firefox-secondary-rc:
+ description: Schedule Beta Firefox publishing in balrog
+ name: release-firefox_schedule_publishing_in_balrog
+ shipping-product: firefox
+ worker:
+ product: firefox
+ release-eta: ''
+ channel-names: ["beta", "beta-localtest", "beta-cdntest"]
+ publish-rules: [32]
+ rules-to-update: ["firefox-beta-cdntest", "firefox-beta-localtest"]
+ treeherder:
+ platform: firefox-release/opt
+ symbol: Rel(BSFxRC)
+ tier: 1
+ kind: build
diff --git a/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml b/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml
new file mode 100644
index 0000000000..d6ac7ed988
--- /dev/null
+++ b/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.scriptworker:add_balrog_scopes
+ - taskgraph.transforms.balrog_toplevel:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects: [] # to make sure this never runs in CI
+ shipping-phase: promote
+ worker-type: balrog
+ worker:
+ implementation: balrog
+ balrog-action: v2-submit-toplevel
+ require-mirrors: false
+ platforms: ["linux", "linux64", "macosx64", "win32", "win64", "win64-aarch64"]
+ archive-domain:
+ by-release-level:
+ production: archive.mozilla.org
+ staging: ftp.stage.mozaws.net
+ download-domain:
+ by-release-level:
+ production: download.mozilla.org
+ staging: bouncer-bouncer-releng.stage.mozaws.net
+ whats-new-config: browser/config/whats_new_page.yml
+
+jobs:
+ firefox:
+ name: submit-toplevel-rc-firefox-release-to-balrog
+ description: submit toplevel RC Firefox release to balrog
+ shipping-product: firefox
+ worker:
+ product: firefox
+ channel-names: ["beta", "beta-localtest", "beta-cdntest"]
+ rules-to-update: ["firefox-beta-cdntest", "firefox-beta-localtest"]
+ treeherder:
+ platform: firefox-release/opt
+ symbol: Rel(BPFxRC)
+ tier: 1
+ kind: build
diff --git a/taskcluster/ci/release-secondary-final-verify/kind.yml b/taskcluster/ci/release-secondary-final-verify/kind.yml
new file mode 100644
index 0000000000..99cc58b492
--- /dev/null
+++ b/taskcluster/ci/release-secondary-final-verify/kind.yml
@@ -0,0 +1,38 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-secondary-balrog-submit-toplevel
+ - release-secondary-update-verify-config
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.final_verify:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: secondary-final-verify
+ run-on-projects: [] # to make sure this never runs as part of CI
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status: [1]
+
+jobs:
+ firefox:
+ description: secondary final verify
+ shipping-phase: promote
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
+ kind: test
+ symbol: Rel(FVS)
+ tier: 1
diff --git a/taskcluster/ci/release-secondary-flatpak-push/kind.yml b/taskcluster/ci/release-secondary-flatpak-push/kind.yml
new file mode 100644
index 0000000000..d49ee941e2
--- /dev/null
+++ b/taskcluster/ci/release-secondary-flatpak-push/kind.yml
@@ -0,0 +1,38 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_flatpak_push:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-flatpak-repackage
+
+job-defaults:
+ description: Pushes Flatpaks onto Flathub
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: ship # ship-rc phase
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-pushflatpak
+ staging: scriptworker-k8s/gecko-1-pushflatpak
+ worker:
+ implementation: push-flatpak
+ channel:
+ by-release-type:
+ release-rc: "beta"
+ default: "mock"
+
+jobs:
+ firefox-rc:
+ shipping-product: firefox
+ treeherder:
+ symbol: Flatpak(push-beta)
diff --git a/taskcluster/ci/release-secondary-notify-ship/kind.yml b/taskcluster/ci/release-secondary-notify-ship/kind.yml
new file mode 100644
index 0000000000..1e11d26a75
--- /dev/null
+++ b/taskcluster/ci/release-secondary-notify-ship/kind.yml
@@ -0,0 +1,36 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-secondary-balrog-scheduling
+
+job-defaults:
+ name: notify-release-drivers-ship
+ description: Sends email to release-drivers telling release was shipped.
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ emails:
+ by-project:
+ mozilla-beta: ["release-signoff@mozilla.org"]
+ mozilla-release: ["release-signoff@mozilla.org"]
+ try: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ firefox-rc:
+ shipping-product: firefox
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
diff --git a/taskcluster/ci/release-secondary-snap-push/kind.yml b/taskcluster/ci/release-secondary-snap-push/kind.yml
new file mode 100644
index 0000000000..cefd21c646
--- /dev/null
+++ b/taskcluster/ci/release-secondary-snap-push/kind.yml
@@ -0,0 +1,38 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_snap_push:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-snap-repackage
+
+job-defaults:
+ description: Pushes (Ubuntu) Snaps onto Snap Store
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: ship # ship-rc phase
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-pushsnap
+ staging: scriptworker-k8s/gecko-1-pushsnap
+ worker:
+ implementation: push-snap
+ channel:
+ by-release-type:
+ release-rc: "beta"
+ default: "mock"
+
+jobs:
+ firefox-rc:
+ shipping-product: firefox
+ treeherder:
+ symbol: Snap(push-beta)
diff --git a/taskcluster/ci/release-secondary-update-verify-config/kind.yml b/taskcluster/ci/release-secondary-update-verify-config/kind.yml
new file mode 100644
index 0000000000..25b68a18ea
--- /dev/null
+++ b/taskcluster/ci/release-secondary-update-verify-config/kind.yml
@@ -0,0 +1,127 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.update_verify_config:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: secondary-update-verify-config
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-product: firefox
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 3600
+ artifacts:
+ - name: public/build/update-verify.cfg
+ path: /builds/worker/checkouts/gecko/update-verify.cfg
+ type: file
+ run:
+ sparse-profile: mozharness
+ extra:
+ app-name: browser
+ branch-prefix: mozilla
+ product: firefox
+ archive-prefix:
+ by-release-level:
+ staging: "http://ftp.stage.mozaws.net/pub"
+ production: "https://archive.mozilla.org/pub"
+ previous-archive-prefix:
+ by-release-level:
+ staging: "https://archive.mozilla.org/pub"
+ production: null
+ aus-server:
+ by-release-level:
+ staging: "https://stage.balrog.nonprod.cloudops.mozgcp.net"
+ production: "https://aus5.mozilla.org"
+ override-certs:
+ by-release-level:
+ staging: dep
+ production: null
+ include-version: beta
+ last-watershed:
+ by-platform:
+ win64-aarch64.*: "67.0b2"
+ default: "56.0b3"
+ mar-channel-id-override: beta
+ channel: "beta-localtest"
+
+jobs:
+ firefox-secondary-linux:
+ treeherder:
+ symbol: UVCS
+ platform: linux-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux-shippable
+ extra:
+ platform: linux-i686
+ updater-platform: linux-x86_64
+
+ firefox-secondary-linux64:
+ treeherder:
+ symbol: UVCS
+ platform: linux64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux64-shippable
+ extra:
+ platform: linux-x86_64
+ updater-platform: linux-x86_64
+
+ firefox-secondary-macosx64:
+ treeherder:
+ symbol: UVCS
+ platform: macosx64/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: macosx64-shippable
+ extra:
+ platform: mac
+ updater-platform: linux-x86_64
+
+ firefox-secondary-win32:
+ treeherder:
+ symbol: UVCS
+ platform: windows2012-32-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win32-shippable
+ extra:
+ platform: win32
+ updater-platform: linux-x86_64
+
+ firefox-secondary-win64:
+ treeherder:
+ symbol: UVCS
+ platform: windows2012-64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-shippable
+ extra:
+ platform: win64
+ updater-platform: linux-x86_64
+
+ firefox-secondary-win64-aarch64:
+ treeherder:
+ symbol: UVCS
+ platform: windows2012-aarch64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-aarch64-shippable
+ extra:
+ platform: win64-aarch64
+ updater-platform: linux-x86_64
diff --git a/taskcluster/ci/release-secondary-update-verify/kind.yml b/taskcluster/ci/release-secondary-update-verify/kind.yml
new file mode 100644
index 0000000000..d2c7a8d4c5
--- /dev/null
+++ b/taskcluster/ci/release-secondary-update-verify/kind.yml
@@ -0,0 +1,75 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-secondary-balrog-submit-toplevel
+ - release-secondary-update-verify-config
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.update_verify:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: secondary-update-verify
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ artifacts:
+ - name: 'public/build/diff-summary.log'
+ path: '/builds/worker/tools/release/updates/diff-summary.log'
+ type: file
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status:
+ - 255
+ treeherder:
+ symbol: UV(UVS)
+ kind: test
+ extra:
+ chunks: 12
+
+jobs:
+ firefox-secondary-linux64:
+ description: linux64 secondary channel update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: linux64-shippable
+
+ firefox-secondary-linux:
+ description: linux secondary channel update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: linux-shippable
+
+ firefox-secondary-win64:
+ description: win64 secondary channel update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-shippable
+
+ firefox-secondary-win64-aarch64:
+ description: win64 secondary channel update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-aarch64-shippable
+
+ firefox-secondary-win32:
+ description: win32 secondary channel update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win32-shippable
+
+ firefox-secondary-macosx64:
+ description: macosx64 secondary channel update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: macosx64-shippable
diff --git a/taskcluster/ci/release-snap-push/kind.yml b/taskcluster/ci/release-snap-push/kind.yml
new file mode 100644
index 0000000000..131698c59c
--- /dev/null
+++ b/taskcluster/ci/release-snap-push/kind.yml
@@ -0,0 +1,41 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_snap_push:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-snap-repackage
+
+job-defaults:
+ description: Pushes (Ubuntu) Snaps onto Snap Store
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: push
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-pushsnap
+ staging: scriptworker-k8s/gecko-1-pushsnap
+ worker:
+ implementation: push-snap
+ channel:
+ by-release-type:
+ beta: beta
+ release: candidate
+ esr78: esr/stable
+ # esrXX: esr/candidate
+ default: mock
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ treeherder:
+ symbol: Snap(push)
diff --git a/taskcluster/ci/release-snap-repackage/kind.yml b/taskcluster/ci/release-snap-repackage/kind.yml
new file mode 100644
index 0000000000..653278282a
--- /dev/null
+++ b/taskcluster/ci/release-snap-repackage/kind.yml
@@ -0,0 +1,60 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_snap_repackage:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+ - post-langpack-dummy
+
+job-defaults:
+ description: Generates snap image
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ scopes: []
+ treeherder:
+ platform: linux64-shippable/opt
+ kind: build
+ tier: 2
+ worker-type: b-linux
+ worker:
+ implementation: docker-worker
+ os: linux
+ max-run-time: 7200
+ docker-image: {in-tree: firefox-snap}
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /home/worker/artifacts/
+ command:
+ - /bin/bash
+ - -cx
+ - ./runme.sh
+ env:
+ VERSION: "{release_config[version]}"
+ BUILD_NUMBER: "{release_config[build_number]}"
+ CANDIDATES_DIR:
+ by-release-level:
+ staging:
+ https://net-mozaws-stage-delivery-firefox.s3.amazonaws.com/pub/{task[shipping-product]}/candidates
+ production:
+ https://net-mozaws-prod-delivery-firefox.s3.amazonaws.com/pub/{task[shipping-product]}/candidates
+ LC_ALL: C.UTF-8
+ LANG: C.UTF-8
+ L10N_CHANGESETS: "{config_params[head_repository]}/raw-file/{config_params[head_rev]}/browser/locales/l10n-changesets.json"
+ chain-of-trust: true
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ attributes:
+ build_platform: linux64-shippable
+ build_type: opt
+ treeherder:
+ symbol: Snap(r)
diff --git a/taskcluster/ci/release-source-checksums-signing/kind.yml b/taskcluster/ci/release-source-checksums-signing/kind.yml
new file mode 100644
index 0000000000..74b2b052f1
--- /dev/null
+++ b/taskcluster/ci/release-source-checksums-signing/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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.source_checksums_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-source
+
+job-template:
+ shipping-phase: promote
diff --git a/taskcluster/ci/release-source-signing/kind.yml b/taskcluster/ci/release-source-signing/kind.yml
new file mode 100644
index 0000000000..7122a4ba84
--- /dev/null
+++ b/taskcluster/ci/release-source-signing/kind.yml
@@ -0,0 +1,17 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.build_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source
+
+job-template:
+ shipping-phase: promote
diff --git a/taskcluster/ci/release-source/kind.yml b/taskcluster/ci/release-source/kind.yml
new file mode 100644
index 0000000000..9faa31c8c7
--- /dev/null
+++ b/taskcluster/ci/release-source/kind.yml
@@ -0,0 +1,55 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ shipping-phase: promote
+ treeherder:
+ symbol: Src
+ worker-type: b-linux
+ worker:
+ max-run-time: 3600
+ env:
+ PKG_SRCPACK_BASENAME: source
+ attributes:
+ shippable: true
+ run:
+ using: mozharness
+ actions: [package-source]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ config:
+ - builds/releng_sub_linux_configs/64_source.py
+ options: []
+ tooltool-downloads: public
+ need-xvfb: false
+ run-on-projects: []
+ # The build_attrs transform defaults to setting a `skip-unlles-schedules'
+ # optimization based on the task label. The tasks here don't have corresponding
+ # schedules defined in mozbuild.
+ optimization: null
+
+jobs:
+ firefox-source/opt:
+ description: "Firefox source builder"
+ treeherder:
+ platform: firefox-release/opt
+ shipping-product: firefox
+
+ devedition-source/opt:
+ description: "Devedition source builder"
+ treeherder:
+ platform: devedition-release/opt
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-update-verify-config-next/kind.yml b/taskcluster/ci/release-update-verify-config-next/kind.yml
new file mode 100644
index 0000000000..60143eca36
--- /dev/null
+++ b/taskcluster/ci/release-update-verify-config-next/kind.yml
@@ -0,0 +1,98 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.update_verify_config:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify-config-next
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [esr78]
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 3600
+ artifacts:
+ - name: public/build/update-verify.cfg
+ path: /builds/worker/checkouts/gecko/update-verify.cfg
+ type: file
+ run:
+ sparse-profile: mozharness
+ treeherder:
+ symbol: UVCnext
+ kind: test
+ tier: 1
+ extra:
+ app-name: browser
+ branch-prefix: mozilla
+ archive-prefix:
+ by-release-level:
+ staging: "http://ftp.stage.mozaws.net/pub"
+ production: "https://archive.mozilla.org/pub"
+ previous-archive-prefix:
+ by-release-level:
+ staging: "https://archive.mozilla.org/pub"
+ production: null
+ aus-server:
+ by-release-level:
+ staging: "https://stage.balrog.nonprod.cloudops.mozgcp.net"
+ production: "https://aus5.mozilla.org"
+ override-certs:
+ by-release-level:
+ staging: dep
+ production: null
+ updater-platform: linux-x86_64
+ product: firefox
+ channel: "esr-localtest-next"
+ include-version: esr78-next
+ last-watershed: "68.0esr"
+
+jobs:
+ firefox-next-linux:
+ shipping-product: firefox
+ treeherder:
+ platform: linux32-shippable/opt
+ attributes:
+ build_platform: linux-shippable
+ extra:
+ platform: linux-i686
+ firefox-next-linux64:
+ shipping-product: firefox
+ treeherder:
+ platform: linux64-shippable/opt
+ attributes:
+ build_platform: linux64-shippable
+ extra:
+ platform: linux-x86_64
+ firefox-next-macosx64:
+ shipping-product: firefox
+ treeherder:
+ platform: osx-shippable/opt
+ attributes:
+ build_platform: macosx64-shippable
+ extra:
+ platform: mac
+ firefox-next-win32:
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ attributes:
+ build_platform: win32-shippable
+ extra:
+ platform: win32
+ firefox-next-win64:
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ attributes:
+ build_platform: win64-shippable
+ extra:
+ platform: win64
diff --git a/taskcluster/ci/release-update-verify-config/kind.yml b/taskcluster/ci/release-update-verify-config/kind.yml
new file mode 100644
index 0000000000..46f22e8abb
--- /dev/null
+++ b/taskcluster/ci/release-update-verify-config/kind.yml
@@ -0,0 +1,306 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.update_verify_config:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify-config
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 3600
+ artifacts:
+ - name: public/build/update-verify.cfg
+ path: /builds/worker/checkouts/gecko/update-verify.cfg
+ type: file
+ run:
+ sparse-profile: mozharness
+ extra:
+ app-name: browser
+ branch-prefix: mozilla
+ archive-prefix:
+ by-release-level:
+ staging: "http://ftp.stage.mozaws.net/pub"
+ production: "https://archive.mozilla.org/pub"
+ previous-archive-prefix:
+ by-release-level:
+ staging: "https://archive.mozilla.org/pub"
+ production: null
+ aus-server:
+ by-release-level:
+ staging: "https://stage.balrog.nonprod.cloudops.mozgcp.net"
+ production: "https://aus5.mozilla.org"
+ override-certs:
+ by-release-level:
+ staging: dep
+ production: null
+ # This is overridden for devedition to exclude 58.0b1
+ # because of the special case added by
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1419189
+ # The devedition override can be removed after 58.0b1
+ # is behind a watershed
+ include-version:
+ by-release-type:
+ beta: beta
+ release(-rc)?: nonbeta
+ esr.*: esr
+ default: beta
+ last-watershed:
+ by-release-type:
+ beta:
+ by-platform:
+ win64-aarch64.*: "67.0b2"
+ default: "56.0b3"
+ release(-rc)?: "72.0.2"
+ esr78: "68.0esr"
+ default: "default"
+
+jobs:
+ firefox-linux:
+ shipping-product: firefox
+ treeherder:
+ symbol: UVC
+ platform: linux32-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux-shippable
+ extra:
+ product: firefox
+ platform: linux-i686
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release(-rc)?: "release-localtest"
+ esr.*: "esr-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ firefox-linux64:
+ shipping-product: firefox
+ treeherder:
+ symbol: UVC
+ platform: linux64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux64-shippable
+ extra:
+ product: firefox
+ platform: linux-x86_64
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release(-rc)?: "release-localtest"
+ esr.*: "esr-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ firefox-macosx64:
+ shipping-product: firefox
+ treeherder:
+ symbol: UVC
+ platform: osx-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: macosx64-shippable
+ extra:
+ product: firefox
+ platform: mac
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release(-rc)?: "release-localtest"
+ esr.*: "esr-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ firefox-win32:
+ shipping-product: firefox
+ treeherder:
+ symbol: UVC
+ platform: windows2012-32-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win32-shippable
+ extra:
+ product: firefox
+ platform: win32
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release(-rc)?: "release-localtest"
+ esr.*: "esr-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ firefox-win64:
+ shipping-product: firefox
+ treeherder:
+ symbol: UVC
+ platform: windows2012-64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-shippable
+ extra:
+ product: firefox
+ platform: win64
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release(-rc)?: "release-localtest"
+ esr.*: "esr-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ firefox-win64-aarch64:
+ shipping-product: firefox
+ treeherder:
+ symbol: UVC
+ platform: windows2012-aarch64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-aarch64-shippable
+ extra:
+ product: firefox
+ platform: win64-aarch64
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release(-rc)?: "release-localtest"
+ esr.*: "esr-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ devedition-linux:
+ shipping-product: devedition
+ treeherder:
+ symbol: UVC
+ platform: linux32-devedition/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux-devedition
+ extra:
+ product: firefox
+ platform: linux-i686
+ updater-platform: linux-x86_64
+ channel: "aurora-localtest"
+ include-version: devedition_hack
+
+ devedition-linux64:
+ shipping-product: devedition
+ treeherder:
+ symbol: UVC
+ platform: linux64-devedition/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux64-devedition
+ extra:
+ product: firefox
+ platform: linux-x86_64
+ updater-platform: linux-x86_64
+ channel: "aurora-localtest"
+ include-version: devedition_hack
+
+ devedition-macosx64:
+ shipping-product: devedition
+ treeherder:
+ symbol: UVC
+ platform: osx-cross-devedition/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: macosx64-devedition
+ extra:
+ product: firefox
+ platform: mac
+ updater-platform: linux-x86_64
+ channel: "aurora-localtest"
+ include-version: devedition_hack
+
+ devedition-win32:
+ shipping-product: devedition
+ treeherder:
+ symbol: UVC
+ platform: windows2012-32-devedition/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win32-devedition
+ extra:
+ product: firefox
+ platform: win32
+ updater-platform: linux-x86_64
+ channel: "aurora-localtest"
+ include-version: devedition_hack
+
+ devedition-win64:
+ shipping-product: devedition
+ treeherder:
+ symbol: UVC
+ platform: windows2012-64-devedition/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-devedition
+ extra:
+ product: firefox
+ platform: win64
+ updater-platform: linux-x86_64
+ channel: "aurora-localtest"
+ include-version: devedition_hack
+
+ devedition-win64-aarch64:
+ shipping-product: devedition
+ treeherder:
+ symbol: UVC
+ platform: windows2012-aarch64-devedition/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-aarch64-devedition
+ extra:
+ product: firefox
+ platform: win64-aarch64
+ updater-platform: linux-x86_64
+ channel: "aurora-localtest"
+ include-version: devedition_hack
diff --git a/taskcluster/ci/release-update-verify-next/kind.yml b/taskcluster/ci/release-update-verify-next/kind.yml
new file mode 100644
index 0000000000..dadca76f7c
--- /dev/null
+++ b/taskcluster/ci/release-update-verify-next/kind.yml
@@ -0,0 +1,73 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-balrog-submit-toplevel
+ - release-update-verify-config-next
+
+transforms:
+ - taskgraph.transforms.release:run_on_releases
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.update_verify:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify-next
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [esr78]
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ artifacts:
+ - name: 'public/build/diff-summary.log'
+ path: '/builds/worker/tools/release/updates/diff-summary.log'
+ type: file
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status:
+ - 255
+ env:
+ CHANNEL: "esr-localtest-next"
+ treeherder:
+ symbol: UV(UVnext)
+ kind: test
+ extra:
+ chunks: 12
+
+jobs:
+ firefox-next-linux64:
+ description: linux64 esr-next update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: linux64-shippable
+
+ firefox-next-linux:
+ description: linux esr-next update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: linux-shippable
+
+ firefox-next-win64:
+ description: win64 esr-next update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-shippable
+
+ firefox-next-win32:
+ description: win32 esr-next update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win32-shippable
+
+ firefox-next-macosx64:
+ description: macosx64 esr-next update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: macosx64-shippable
diff --git a/taskcluster/ci/release-update-verify/kind.yml b/taskcluster/ci/release-update-verify/kind.yml
new file mode 100644
index 0000000000..40ae9e0b46
--- /dev/null
+++ b/taskcluster/ci/release-update-verify/kind.yml
@@ -0,0 +1,115 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-balrog-submit-toplevel
+ - release-update-verify-config
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.update_verify:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux
+ worker:
+ artifacts:
+ - name: 'public/build/diff-summary.log'
+ path: '/builds/worker/checkouts/gecko/diff-summary.log'
+ type: file
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 5400
+ retry-exit-status:
+ - 255
+ treeherder:
+ symbol: UV(UV)
+ kind: test
+ extra:
+ chunks: 16
+
+jobs:
+ firefox-linux64:
+ description: linux64 update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: linux64-shippable
+
+ firefox-linux:
+ description: linux update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: linux-shippable
+
+ firefox-win64:
+ description: win64 update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-shippable
+
+ firefox-win64-aarch64:
+ description: win64-aarch64 update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-aarch64-shippable
+
+ firefox-win32:
+ description: win32 update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: win32-shippable
+
+ firefox-macosx64:
+ description: macosx64 update verify
+ shipping-product: firefox
+ attributes:
+ build_platform: macosx64-shippable
+ extra:
+ chunks: 30
+
+ devedition-linux64:
+ description: linux64 update verify
+ shipping-product: devedition
+ attributes:
+ build_platform: linux64-devedition
+
+ devedition-linux:
+ description: linux update verify
+ shipping-product: devedition
+ attributes:
+ build_platform: linux-devedition
+
+ devedition-win64:
+ description: win64 update verify
+ shipping-product: devedition
+ attributes:
+ build_platform: win64-devedition
+
+ devedition-win64-aarch64:
+ description: win64-aarch64 update verify
+ shipping-product: devedition
+ attributes:
+ build_platform: win64-aarch64-devedition
+
+ devedition-win32:
+ description: win32 update verify
+ shipping-product: devedition
+ attributes:
+ build_platform: win32-devedition
+
+ devedition-macosx64:
+ description: macosx64 update verify
+ shipping-product: devedition
+ attributes:
+ build_platform: macosx64-devedition
+ extra:
+ chunks: 30
diff --git a/taskcluster/ci/release-version-bump/kind.yml b/taskcluster/ci/release-version-bump/kind.yml
new file mode 100644
index 0000000000..f581ad99f7
--- /dev/null
+++ b/taskcluster/ci/release-version-bump/kind.yml
@@ -0,0 +1,59 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_deps:transforms
+ - taskgraph.transforms.release_version_bump:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+job-defaults:
+ description: Release Promotion version bump/tag
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: tree
+ worker:
+ implementation: treescript
+ dontbuild: true
+ tags: ['release']
+ bump: true
+ bump-files:
+ by-project:
+ default: ["browser/config/version_display.txt"]
+ mozilla-(release|esr.*):
+ - "browser/config/version.txt"
+ - "browser/config/version_display.txt"
+ - "config/milestone.txt"
+ maple:
+ - "browser/config/version.txt"
+ - "browser/config/version_display.txt"
+ - "config/milestone.txt"
+ push:
+ by-project:
+ mozilla-(beta|release|esr.*): true
+ maple: true
+ default: false
+
+jobs:
+ firefox:
+ name: firefox-version-bump
+ shipping-product: firefox
+ treeherder:
+ platform: firefox-release/opt
+ symbol: Rel(VerBump)
+ tier: 1
+ kind: build
+
+ devedition:
+ name: devedition-version-bump
+ shipping-product: devedition
+ treeherder:
+ platform: devedition-release/opt
+ symbol: Rel(VerBump)
+ tier: 1
+ kind: build
diff --git a/taskcluster/ci/repackage-l10n/kind.yml b/taskcluster/ci/repackage-l10n/kind.yml
new file mode 100644
index 0000000000..1efc0948a6
--- /dev/null
+++ b/taskcluster/ci/repackage-l10n/kind.yml
@@ -0,0 +1,79 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.repackage_l10n:transforms
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - shippable-l10n-signing
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+
+job-template:
+ worker-type: 'b-linux'
+ worker:
+ docker-image: {"in-tree": "debian8-amd64-build"}
+ mozharness:
+ config:
+ by-build-platform:
+ linux-.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64-.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ macosx64-.*:
+ - repackage/base.py
+ - repackage/osx_signed.py
+ win32\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64(?!-aarch64)\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win64_signed.py
+ win64-aarch64\b.*:
+ - repackage/base.py
+ - repackage/win64-aarch64_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats:
+ by-release-type:
+ esr.*:
+ by-build-platform:
+ linux.*: [mar]
+ linux4\b.*: [mar]
+ macosx64\b.*: [mar, dmg]
+ win32\b.*: [mar, installer]
+ win64\b.*: [mar, installer]
+ default:
+ by-build-platform:
+ linux.*: [mar]
+ linux4\b.*: [mar]
+ macosx64\b.*: [mar, dmg]
+ win32\b.*: [mar, installer]
+ win64\b.*: [mar, installer]
+ fetches:
+ toolchain:
+ - linux64-mar-tools
+ - linux64-upx
diff --git a/taskcluster/ci/repackage-msi/kind.yml b/taskcluster/ci/repackage-msi/kind.yml
new file mode 100644
index 0000000000..8575333858
--- /dev/null
+++ b/taskcluster/ci/repackage-msi/kind.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-signing
+ - repackage-signing-l10n
+ - fetch
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+
+job-template:
+ worker-type: 'b-win2012'
+ mozharness:
+ use-magic-mh-args: false
+ config:
+ by-build-platform:
+ win32\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64(?!-aarch64)\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win64_signed.py
+ win64-aarch64\b.*:
+ - repackage/base.py
+ - repackage/win64-aarch64_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats: [msi]
+ fetches:
+ fetch:
+ - wix-3.14.0
diff --git a/taskcluster/ci/repackage-signing-l10n/kind.yml b/taskcluster/ci/repackage-signing-l10n/kind.yml
new file mode 100644
index 0000000000..6010a9797e
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-l10n/kind.yml
@@ -0,0 +1,25 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_signing:transforms
+ - taskgraph.transforms.repackage_routes:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-l10n
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win32-devedition/opt
+ - win32/opt
+ - win64-shippable/opt
+ - win64-devedition/opt
+ - win64/opt
+ - win64-aarch64-shippable/opt
+ - win64-aarch64-devedition/opt
+ - win64-asan-reporter-shippable/opt
diff --git a/taskcluster/ci/repackage-signing-msi/kind.yml b/taskcluster/ci/repackage-signing-msi/kind.yml
new file mode 100644
index 0000000000..fa84b7c119
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-msi/kind.yml
@@ -0,0 +1,21 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-msi
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win32-devedition/opt
+ - win32/opt
+ - win64-shippable/opt
+ - win64-devedition/opt
+ - win64/opt
diff --git a/taskcluster/ci/repackage-signing/kind.yml b/taskcluster/ci/repackage-signing/kind.yml
new file mode 100644
index 0000000000..25ce11746e
--- /dev/null
+++ b/taskcluster/ci/repackage-signing/kind.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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage_signing:transforms
+ - taskgraph.transforms.repackage_routes:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage
+
+only-for-build-platforms:
+ - win32-devedition/opt
+ - win32-shippable/opt
+ - win64-devedition/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - win64-aarch64-devedition/opt
+ - win64-asan-reporter-shippable/opt
diff --git a/taskcluster/ci/repackage/kind.yml b/taskcluster/ci/repackage/kind.yml
new file mode 100644
index 0000000000..e06ca483b6
--- /dev/null
+++ b/taskcluster/ci/repackage/kind.yml
@@ -0,0 +1,86 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.repackage:transforms
+ - taskgraph.transforms.repackage_routes:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-signing
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux-devedition/opt
+ - linux/opt
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+ - linux64-asan-reporter-shippable/opt
+ - linux64/opt
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+ - macosx64/opt
+ - win32-shippable/opt
+ - win32-devedition/opt
+ - win32/opt
+ - win64-shippable/opt
+ - win64-devedition/opt
+ - win64-aarch64-shippable/opt
+ - win64-aarch64-devedition/opt
+ - win64/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ worker-type: 'b-linux'
+ worker:
+ docker-image: {"in-tree": "debian8-amd64-build"}
+ mozharness:
+ config:
+ by-build-platform:
+ linux\b.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64\b.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ macosx64\b.*:
+ - repackage/base.py
+ - repackage/osx_signed.py
+ win32\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64(?!-aarch64)\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win64_signed.py
+ win64-aarch64\b.*:
+ - repackage/base.py
+ - repackage/win64-aarch64_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats:
+ by-release-type:
+ esr.*:
+ by-build-platform:
+ linux.*: [mar]
+ linux4\b.*: [mar]
+ macosx64\b.*: [mar, dmg]
+ win32\b.*: [mar, installer]
+ win64\b.*: [mar, installer]
+ default:
+ by-build-platform:
+ linux.*: [mar]
+ linux4\b.*: [mar]
+ macosx64\b.*: [mar, dmg]
+ win32\b.*: [mar, installer]
+ win64\b.*: [mar, installer]
+ fetches:
+ toolchain:
+ - linux64-mar-tools
+ - linux64-upx
diff --git a/taskcluster/ci/repo-update/kind.yml b/taskcluster/ci/repo-update/kind.yml
new file mode 100644
index 0000000000..0131589a6c
--- /dev/null
+++ b/taskcluster/ci/repo-update/kind.yml
@@ -0,0 +1,70 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.repo_update:transforms
+ - taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ worker:
+ env:
+ DO_HSTS:
+ by-project:
+ mozilla-(central|beta|esr.*): "1"
+ default: ""
+ DO_HPKP:
+ by-project:
+ mozilla-(central|beta|esr.*): "1"
+ default: ""
+ DO_REMOTE_SETTINGS:
+ by-project:
+ mozilla-(central|beta|release|esr.*): "1"
+ default: ""
+ DO_SUFFIX_LIST:
+ by-project:
+ mozilla-(central|beta|esr.*): "1"
+ default: ""
+ USE_MOZILLA_CENTRAL:
+ by-project:
+ mozilla-central: "1"
+ default: ""
+
+
+jobs:
+ hsts-hpkp-blocklist:
+ name: periodic_file_update
+ description: HSTS, HPKP and remote settings update
+ run-on-projects: [] # Only run via cron
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: pfu
+ tier: 1
+ worker-type: b-linux
+ worker:
+ implementation: docker-worker
+ os: linux
+ docker-image: {in-tree: periodic-updates}
+ max-run-time: 18000 # Takes 4+ hours
+ env:
+ PRODUCT: firefox
+ REVIEWERS: "ryanvm"
+ command:
+ - /runme.sh
+ taskcluster-proxy: true
+ artifacts:
+ - name: 'public/build/nsSTSPreloadList.diff'
+ path: '/home/worker/artifacts/nsSTSPreloadList.diff'
+ type: file
+ - name: 'public/build/StaticHPKPins.h.diff'
+ path: '/home/worker/artifacts/StaticHPKPins.h.diff'
+ type: file
+ - name: 'public/build/remote-settings.diff'
+ path: '/home/worker/artifacts/remote-settings.diff'
+ type: file
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/arc-phabricator-token
diff --git a/taskcluster/ci/scriptworker-canary/kind.yml b/taskcluster/ci/scriptworker-canary/kind.yml
new file mode 100644
index 0000000000..5b3735a8d7
--- /dev/null
+++ b/taskcluster/ci/scriptworker-canary/kind.yml
@@ -0,0 +1,33 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.scriptworker_canary:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ platform: firefox-release/opt
+ tier: 1
+ kind: build
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: push-to-try}
+ max-run-time: 1800
+ env:
+ MOZBUILD_STATE_PATH: /builds/worker/workspace
+ run:
+ sparse-profile: push-to-try
+
+jobs:
+ push:
+ description: Push scriptworker canary tasks.
+ treeherder:
+ symbol: Rel(push-scriptworker-canary)
+ run-on-projects: [mozilla-central]
+ addresses: ['release+scriptworker-canary@mozilla.com']
+ ssh-key-secret: project/releng/scriptworker/scriptworker-canary-sshkey
diff --git a/taskcluster/ci/searchfox/kind.yml b/taskcluster/ci/searchfox/kind.yml
new file mode 100644
index 0000000000..45afdf8008
--- /dev/null
+++ b/taskcluster/ci/searchfox/kind.yml
@@ -0,0 +1,193 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - taskgraph.transforms.build:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ symbol: Searchfox(idx)
+ kind: build
+ tier: 2
+ run-on-projects: []
+ optimization: null
+
+jobs:
+ linux64-searchfox/debug:
+ description: "Linux64 Debug Searchfox"
+ index:
+ job-name: linux64-searchfox-debug
+ treeherder:
+ platform: linux64/debug
+ worker-type: b-linux
+ worker:
+ max-run-time: 36000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ RUSTC_BOOTSTRAP: "1"
+ MOZSEARCH_PLATFORM: "linux"
+ run:
+ using: mozharness
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_sub_linux_configs/64_searchfox_and_debug.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ tooltool-downloads: public
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-lucetc
+ - wasi-sysroot
+
+ macosx64-searchfox/debug:
+ description: "MacOS X x64 Debug Cross-compile Searchfox"
+ index:
+ job-name: macosx64-searchfox-debug
+ treeherder:
+ platform: osx-cross/debug
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 36000
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ RUSTC_BOOTSTRAP: "1"
+ MOZSEARCH_PLATFORM: "macosx"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: cross-debug-searchfox
+ secrets: true
+ tooltool-downloads: internal
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cctools-port
+ - linux64-clang-macosx-cross
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-llvm-dsymutil
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-macos
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-lucetc
+ - wasi-sysroot
+
+ win64-searchfox/debug:
+ description: "Win64 Searchfox Debug (clang-cl)"
+ index:
+ job-name: win64-searchfox-debug
+ treeherder:
+ platform: windows2012-64/debug
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 36000
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ RUSTC_BOOTSTRAP: "1"
+ MOZSEARCH_PLATFORM: "windows"
+ run:
+ using: mozharness
+ options: [append-env-variables-from-configs]
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/searchfox_debug.py
+ tooltool-downloads: internal
+ extra-config:
+ mozconfig_platform: win64
+ env:
+ LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+ LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4"
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-win-cross
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump-syms
+ - linux64-wine
+ - linux64-liblowercase
+ - linux64-winchecksec
+ fetch:
+ - nsis-3.01-win
+ - upx-3.95-win
+
+ android-armv7-searchfox/debug:
+ description: "Android ARMv7 Debug Searchfox"
+ index:
+ job-name: android-armv7-searchfox-debug
+ treeherder:
+ platform: android-4-0-armv7-api16/debug
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 36000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ RUSTC_BOOTSTRAP: "1"
+ MOZSEARCH_PLATFORM: "android-armv7"
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_android_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: api-16-debug-searchfox
+ tooltool-downloads: internal
+ use-sccache: true
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
diff --git a/taskcluster/ci/shippable-l10n-notarization-part-1/kind.yml b/taskcluster/ci/shippable-l10n-notarization-part-1/kind.yml
new file mode 100644
index 0000000000..7902ece383
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n-notarization-part-1/kind.yml
@@ -0,0 +1,26 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.shippable_l10n_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - shippable-l10n
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+
+job-template:
+ treeherder:
+ symbol: BN
+ attributes:
+ shipping_phase: promote
diff --git a/taskcluster/ci/shippable-l10n-notarization-poller/kind.yml b/taskcluster/ci/shippable-l10n-notarization-poller/kind.yml
new file mode 100644
index 0000000000..2ad47a06f7
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n-notarization-poller/kind.yml
@@ -0,0 +1,17 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.mac_notarization_poller:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - shippable-l10n-notarization-part-1
+
+job-template:
+ description-suffix: 'Mac Notarization Poller'
+ worker:
+ implementation: notarization-poller
diff --git a/taskcluster/ci/shippable-l10n-signing/kind.yml b/taskcluster/ci/shippable-l10n-signing/kind.yml
new file mode 100644
index 0000000000..a57c4c19e6
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n-signing/kind.yml
@@ -0,0 +1,26 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.upstream_artifact_task:transforms
+ - taskgraph.transforms.shippable_l10n_signing:transforms
+ - taskgraph.transforms.signing:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - shippable-l10n
+ - shippable-l10n-notarization-part-1
+ - shippable-l10n-notarization-poller
+
+primary-dependency:
+ - shippable-l10n
+
+only-for-attributes:
+ - shippable
+ - nightly
diff --git a/taskcluster/ci/shippable-l10n/kind.yml b/taskcluster/ci/shippable-l10n/kind.yml
new file mode 100644
index 0000000000..9aab453f1d
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n/kind.yml
@@ -0,0 +1,207 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - taskgraph.transforms.l10n:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - repackage
+ - toolchain
+
+primary-dependency: build
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux64-devedition/opt
+ - linux-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+
+job-template:
+ description: Localization
+ locales-file: browser/locales/l10n-changesets.json
+ locales-per-chunk: 5
+ run-on-projects: ['release']
+ attributes:
+ shipping_phase: promote
+ ignore-locales:
+ by-build-platform:
+ # OSX has a special locale for japanese
+ macosx64.*: [ja]
+ default: [ja-JP-mac]
+ run-time:
+ by-build-platform:
+ default: 900
+ win.*: 1800
+ fetches:
+ toolchain:
+ by-build-platform:
+ default: []
+ macosx64.*:
+ - linux64-libdmg
+ - linux64-hfsplus
+ win.*:
+ - linux64-wine
+ - linux64-liblowercase
+ fetch:
+ by-build-platform:
+ default: []
+ win.*:
+ - nsis-3.01-win
+ - upx-3.95-win
+ tooltool:
+ by-build-platform:
+ default: internal
+ linux.*: public
+ index:
+ type: shippable-l10n
+ product:
+ by-build-platform:
+ default: firefox
+ .*-devedition: devedition
+ job-name:
+ by-build-platform:
+ linux-shippable: linux-opt
+ linux64-shippable: linux64-opt
+ macosx64-shippable: macosx64-opt
+ win32-shippable: win32-opt
+ win64-shippable: win64-opt
+ win64-aarch64-shippable: win64-aarch64-opt
+ linux-devedition: linux-devedition-opt
+ linux64-devedition: linux64-devedition-opt
+ macosx64-devedition: macosx64-devedition-opt
+ win32-devedition: win32-devedition-opt
+ win64-devedition: win64-devedition-opt
+ win64-aarch64-devedition: win64-aarch64-devedition-opt
+ worker-type: b-linux
+ docker-image:
+ by-build-platform:
+ linux.*: {in-tree: debian8-amd64-build}
+ default: {in-tree: debian10-amd64-build}
+ treeherder:
+ symbol: L10n(B)
+ tier: 1
+ platform:
+ by-build-platform:
+ linux64-shippable: linux64-shippable/opt
+ linux-shippable: linux32-shippable/opt
+ macosx64-shippable: osx-shippable/opt
+ win32-shippable: windows2012-32-shippable/opt
+ win64-shippable: windows2012-64-shippable/opt
+ win64-aarch64-shippable: windows2012-aarch64-shippable/opt
+ linux64-devedition: linux64-devedition/opt
+ linux-devedition: linux32-devedition/opt
+ macosx64-devedition: osx-cross-devedition/opt
+ win32-devedition: windows2012-32-devedition/opt
+ win64-devedition: windows2012-64-devedition/opt
+ win64-aarch64-devedition: windows2012-aarch64-devedition/opt
+ env:
+ by-build-platform:
+ linux.*: # linux64 and 32 get same treatment here
+ EN_US_PACKAGE_NAME: target.tar.bz2
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ macosx64.*:
+ EN_US_PACKAGE_NAME: target.dmg
+ EN_US_BINARY_URL:
+ artifact-reference: <repackage/{artifact_prefix}>
+ win.*:
+ EN_US_PACKAGE_NAME: target.zip
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ mozharness:
+ config:
+ by-build-platform:
+ linux-shippable:
+ - single_locale/firefox.py
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ linux64-shippable:
+ - single_locale/firefox.py
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ macosx64-shippable:
+ - single_locale/firefox.py
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ - taskcluster_nightly.py
+ win32-shippable:
+ - single_locale/firefox.py
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ - taskcluster_nightly.py
+ win64-shippable:
+ - single_locale/firefox.py
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ win64-aarch64-shippable:
+ - single_locale/firefox.py
+ - single_locale/win64-aarch64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ linux-devedition:
+ - single_locale/devedition.py
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ linux64-devedition:
+ - single_locale/devedition.py
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ macosx64-devedition:
+ - single_locale/devedition.py
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ - taskcluster_nightly.py
+ win32-devedition:
+ - single_locale/devedition.py
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ - taskcluster_nightly.py
+ win64-devedition:
+ - single_locale/devedition.py
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ win64-aarch64-devedition:
+ - single_locale/devedition.py
+ - single_locale/win64-aarch64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ # no default, so we fail on new entries
+ actions: ['clone-locales', 'list-locales', 'setup', 'repack',
+ 'summary']
+ script: mozharness/scripts/desktop_l10n.py
diff --git a/taskcluster/ci/source-test/clang.yml b/taskcluster/ci/source-test/clang.yml
new file mode 100644
index 0000000000..f390bc472e
--- /dev/null
+++ b/taskcluster/ci/source-test/clang.yml
@@ -0,0 +1,118 @@
+# 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/.
+---
+job-defaults:
+ # Run only on try and code-review tasks
+ # to avoid running clang tools on the whole codebase
+ run-on-projects: []
+ platform: linux64/opt
+ attributes:
+ code-review: true
+ worker-type:
+ by-platform:
+ linux64.*: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: static-analysis-build}
+ max-run-time: 5400
+ treeherder:
+ kind: other
+ tier: 2
+ run:
+ using: run-task
+ tooltool-downloads: public
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ when:
+ # Extension list from https://hg.mozilla.org/mozilla-central/file/default/python/mozbuild/mozbuild/mach_commands.py#l1664
+ files-changed:
+ - '**/*.c'
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.cxx'
+ - '**/*.m'
+ - '**/*.mm'
+ - '**/*.h'
+ - '**/*.hh'
+ - '**/*.hpp'
+ - '**/*.hxx'
+
+tidy:
+ description: Run static-analysis (clang-tidy) on C/C++ patches
+ treeherder:
+ symbol: cpp(clang-tidy)
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-clang-setup.sh &&
+ ./mach --log-no-times static-analysis check --outgoing --output $HOME/clang-tidy.json --format json
+ fetches:
+ toolchain:
+ - linux64-clang-tidy
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/clang-tidy.json
+ path: /builds/worker/clang-tidy.json
+
+format:
+ description: Run clang-format on C/C++ patches
+ treeherder:
+ symbol: cpp(clang-format)
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-clang-setup.sh &&
+ ./mach --log-no-times clang-format --outgoing --output $HOME/clang-format.json --format json &&
+ ./mach --log-no-times clang-format --outgoing --output $HOME/clang-format.diff --format diff
+ fetches:
+ toolchain:
+ - linux64-clang-tidy
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/clang-format.json
+ path: /builds/worker/clang-format.json
+ - type: file
+ name: public/code-review/clang-format.diff
+ path: /builds/worker/clang-format.diff
+
+external:
+ description: Run static-analysis (clang-tidy) on C/C++ patches with external checks
+ treeherder:
+ symbol: cpp(clang-tidy-external)
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-clang-setup.sh &&
+ ./mach --log-no-times static-analysis check --checks="-*,mozilla-civet-*" --outgoing --output $HOME/clang-tidy.json --format json
+ fetches:
+ toolchain:
+ - linux64-clang-tidy-external
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/clang-tidy.json
+ path: /builds/worker/clang-tidy.json
+
+non-unified:
+ description: Run syntax test for non-unified build on C/C++ files.
+ treeherder:
+ symbol: cpp(non-unified)
+ tier: 1
+ attributes:
+ code-review: false
+ run-on-projects: ['integration']
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-clang-setup.sh &&
+ taskcluster/scripts/misc/source-test-clang-non-unified.sh
+ fetches:
+ toolchain:
+ - linux64-clang-tidy
diff --git a/taskcluster/ci/source-test/codeql.yml b/taskcluster/ci/source-test/codeql.yml
new file mode 100644
index 0000000000..92843560be
--- /dev/null
+++ b/taskcluster/ci/source-test/codeql.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+javascript:
+ description: Builds a JavaScript codeql database
+ platform: codeql/all
+ treeherder:
+ kind: other
+ symbol: linux64-js
+ tier: 2
+ worker-type: b-linux-xlarge
+ expires-after: 4 days
+ worker:
+ docker-image: {in-tree: debian8-amd64-build}
+ max-run-time: 86400
+ artifacts:
+ - type: file
+ name: public/codeql/codeql-db-javascript.tar.xz
+ path: /builds/worker/codeql-db-javascript.tar.xz
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ taskcluster/scripts/misc/generate-codeql-db-javascript.sh
+ run-on-projects: []
+ shipping-phase: ship
+ shipping-product: firefox
+ fetches:
+ fetch:
+ - codeql-2.0.3
+ toolchain:
+ - linux64-node
+ notifications:
+ subject: '{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} linux64 codeql-javascript status'
+ message: '{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} linux64 codeql-javascript status'
+ status-types:
+ - on-completed
+ - on-failed
+ - on-exception
+ emails:
+ by-project:
+ mozilla-release: ["tom@mozilla.com", "freddy@mozilla.com"]
+ try: ["{config[params][owner]}"]
+ default: []
diff --git a/taskcluster/ci/source-test/coverity.yml b/taskcluster/ci/source-test/coverity.yml
new file mode 100644
index 0000000000..3e1d91305c
--- /dev/null
+++ b/taskcluster/ci/source-test/coverity.yml
@@ -0,0 +1,97 @@
+# 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/.
+---
+job-defaults:
+ # Run only on try and code-review tasks
+ # to avoid running Coverity SA on the whole codebase
+ run-on-projects: []
+ platform: linux64/opt
+ worker-type:
+ by-platform:
+ linux64.*: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 5400
+ treeherder:
+ kind: other
+ tier: 2
+ run:
+ using: run-task
+ tooltool-downloads: public
+ fetches:
+ toolchain:
+ - linux64-clang-10
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ when:
+ # Extension list from https://hg.mozilla.org/mozilla-central/file/default/python/mozbuild/mozbuild/mach_commands.py#l1664
+ files-changed:
+ - '**/*.c'
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.cxx'
+ - '**/*.m'
+ - '**/*.mm'
+ - '**/*.h'
+ - '**/*.hh'
+ - '**/*.hpp'
+ - '**/*.hxx'
+
+coverity:
+ description: Run static-analysis (Coverity) on C/C++ patches
+ attributes:
+ code-review: true
+ treeherder:
+ symbol: cpp(coverity)
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-clang-setup.sh &&
+ ./mach --log-no-times static-analysis check-coverity --outgoing --output $HOME/coverity.json
+ scopes:
+ - secrets:get:project/relman/coverity
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/coverity.json
+ path: /builds/worker/coverity.json
+ - type: file
+ name: public/code-review/coverity-orig.json
+ path: /builds/worker/workspace/coverity/cov-results.json
+
+coverity-full-analysis:
+ description: Run Coverity based static-analysis on the entire Gecko repo
+ treeherder:
+ symbol: Static-Analysis(coverity-full-analysis)
+ worker-type:
+ by-platform:
+ linux64.*: b-linux-xlarge
+ run-on-projects: []
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-clang-setup.sh &&
+ ./mach --log-no-times static-analysis check-coverity --full-build
+ scopes:
+ - secrets:get:project/relman/coverity
+ worker:
+ max-run-time: 14400
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.cxx'
+ - '**/*.m'
+ - '**/*.mm'
+ - '**/*.h'
+ - '**/*.hh'
+ - '**/*.hpp'
+ - '**/*.hxx'
+ - '**/*.py'
+ - '**/*.js'
diff --git a/taskcluster/ci/source-test/cram.yml b/taskcluster/ci/source-test/cram.yml
new file mode 100644
index 0000000000..6e29e7c6a6
--- /dev/null
+++ b/taskcluster/ci/source-test/cram.yml
@@ -0,0 +1,21 @@
+---
+tryselect:
+ description: tools/tryselect integration tests
+ platform: linux1804-64/opt
+ treeherder:
+ symbol: cram(try)
+ kind: test
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: mach
+ mach: cramtest tools/tryselect
+ always-target: true
+ when:
+ files-changed:
+ - testing/mach_commands.py
+ - third_party/python/cram/**
+ - tools/tryselect/**
diff --git a/taskcluster/ci/source-test/doc.yml b/taskcluster/ci/source-test/doc.yml
new file mode 100644
index 0000000000..0c87b5d23d
--- /dev/null
+++ b/taskcluster/ci/source-test/doc.yml
@@ -0,0 +1,54 @@
+# 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/.
+---
+generate:
+ description: Generate the Sphinx documentation
+ platform: doc/opt
+ treeherder:
+ symbol: doc(generate)
+ kind: test
+ tier: 1
+ run-on-projects: ['trunk']
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ artifacts:
+ - type: file
+ name: public/docs.tar.gz
+ path: /builds/worker/checkouts/gecko/docs-out/main.tar.gz
+ run:
+ using: mach
+ mach: doc --outdir docs-out --no-open --no-serve --archive
+ sparse-profile: sphinx-docs
+ optimization:
+ skip-unless-schedules: [docs]
+
+upload:
+ description: Generate and upload the Sphinx documentation
+ platform: doc/opt
+ attributes:
+ code-review: true
+ treeherder:
+ symbol: doc(upload)
+ kind: test
+ tier: 2
+ run-on-projects: [mozilla-central]
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ taskcluster-proxy: true
+ artifacts:
+ - type: file
+ name: public/firefox-source-docs-url.txt
+ path: /builds/worker/firefox-source-docs-url.txt
+ run:
+ using: mach
+ mach: doc --upload --no-open --no-serve --write-url /builds/worker/firefox-source-docs-url.txt
+ sparse-profile: sphinx-docs
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-docs-upload
+ optimization:
+ skip-unless-schedules: [docs]
diff --git a/taskcluster/ci/source-test/file-metadata.yml b/taskcluster/ci/source-test/file-metadata.yml
new file mode 100644
index 0000000000..d6063f742c
--- /dev/null
+++ b/taskcluster/ci/source-test/file-metadata.yml
@@ -0,0 +1,144 @@
+# 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/.
+---
+job-defaults:
+ platform: lint/opt
+ treeherder:
+ kind: other
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ artifacts:
+ - type: directory
+ path: /builds/worker/artifacts
+ name: public
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: mach
+
+bugzilla-components:
+ description: Generate metadata about source files and Bugzilla
+ treeherder:
+ symbol: Bugzilla
+ index:
+ product: source
+ job-name: source-bugzilla-info
+ run:
+ mach: file-info bugzilla-automation /builds/worker/artifacts
+ worker:
+ max-run-time: 2700
+ run-on-projects: ['mozilla-central']
+ when:
+ files-changed:
+ - "**"
+
+test-info-fission:
+ description: Generate test manifest metadata for tests disabled on fission
+ treeherder:
+ symbol: test-info(fission)
+ tier: 2
+ index:
+ product: source
+ job-name: test-info-fission
+ worker:
+ docker-image: {in-tree: debian8-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-common.sh &&
+ ./mach test-info report --show-tests --show-summary --filter-keys=fail-if,fails-if,random-if,skip-if --filter-values='(?<!!)fission' --output-file /builds/worker/artifacts/test-info-fission.json
+
+test-info-xorigin:
+ description: Generate test manifest metadata for tests disabled on cross-origin
+ treeherder:
+ symbol: test-info(xorigin)
+ tier: 2
+ index:
+ product: source
+ job-name: test-info-xorigin
+ worker:
+ docker-image: {in-tree: debian8-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-common.sh &&
+ ./mach test-info report --show-tests --show-summary --filter-keys=fail-if,fails-if,random-if,skip-if --filter-values='(?<!!)xorigin' --output-file /builds/worker/artifacts/test-info-xorigin.json
+
+test-info-disabled-by-os:
+ description: Generate test manifest metadata for tests disabled on each operating system
+ treeherder:
+ symbol: test-info(disabled-by-os)
+ tier: 2
+ index:
+ product: source
+ job-name: test-info-disabled-by-os
+ worker:
+ docker-image: {in-tree: debian8-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-common.sh &&
+ ./mach test-info report --show-tests --show-summary --filter-keys=fail-if,fails-if,random-if,skip-if --filter-values='(?<!!)(android|android_version|Android|AndroidVersion|geckoview|emulator|device)' --output-file /builds/worker/artifacts/test-info-disabled-on-android.json &&
+ ./mach test-info report --show-tests --show-summary --filter-keys=fail-if,fails-if,random-if,skip-if --filter-values='(?<!!)(linux|Linux)' --output-file /builds/worker/artifacts/test-info-disabled-on-linux.json &&
+ ./mach test-info report --show-tests --show-summary --filter-keys=fail-if,fails-if,random-if,skip-if --filter-values='(?<!!)(osx|OSX|mac)' --output-file /builds/worker/artifacts/test-info-disabled-on-mac.json &&
+ ./mach test-info report --show-tests --show-summary --filter-keys=fail-if,fails-if,random-if,skip-if --filter-values='(?<!!)(win|Windows|WINNT)' --output-file /builds/worker/artifacts/test-info-disabled-on-windows.json
+
+test-info-all:
+ description: Generate global test manifest metadata
+ treeherder:
+ symbol: test-info(all)
+ tier: 2
+ index:
+ product: source
+ job-name: test-info-all
+ worker:
+ docker-image: {in-tree: debian8-amd64-build}
+ max-run-time: 5400
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-common.sh &&
+ ./mach test-info report --show-tests --show-summary --show-activedata --verbose --output-file /builds/worker/artifacts/test-info-all-tests.json &&
+ ./mach test-info report --show-annotations --output-file /builds/worker/artifacts/test-info-manifest-conditions.json
diff --git a/taskcluster/ci/source-test/infer.yml b/taskcluster/ci/source-test/infer.yml
new file mode 100644
index 0000000000..17924c190d
--- /dev/null
+++ b/taskcluster/ci/source-test/infer.yml
@@ -0,0 +1,53 @@
+# 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/.
+---
+job-defaults:
+ # Run only on try and code-review tasks
+ # to avoid running infer on the whole codebase
+ run-on-projects: []
+ platform: linux64/opt
+ attributes:
+ code-review: true
+ worker-type:
+ by-platform:
+ linux64.*: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 5400
+ treeherder:
+ kind: other
+ tier: 2
+ run:
+ using: run-task
+ tooltool-downloads: public
+ fetches:
+ toolchain:
+ - linux64-infer
+ - linux64-android-sdk-linux-repack
+ - linux64-android-ndk-linux-repack
+ - linux64-rust-android
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ when:
+ files-changed:
+ - 'mobile/**/*.java'
+
+infer:
+ description: Run static-analysis (infer) on Java patches
+ treeherder:
+ symbol: java(infer)
+ run:
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-infer-setup.sh &&
+ ./mach --log-no-times configure &&
+ ./mach --log-no-times static-analysis check-java --outgoing --output $HOME/infer.json
+
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/infer.json
+ path: /builds/worker/infer.json
diff --git a/taskcluster/ci/source-test/jsshell.yml b/taskcluster/ci/source-test/jsshell.yml
new file mode 100644
index 0000000000..5c48390a9f
--- /dev/null
+++ b/taskcluster/ci/source-test/jsshell.yml
@@ -0,0 +1,87 @@
+# 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/.
+---
+job-defaults:
+ platform: linux64-shippable/opt
+ require-build:
+ linux64.*: build-linux64-shippable/opt
+ worker-type:
+ by-platform:
+ linux64.*: t-linux-talos
+ worker:
+ by-platform:
+ linux64.*:
+ env:
+ by-shell:
+ sm:
+ SHELL: /bin/bash
+ JSSHELL: js
+ v8:
+ SHELL: /bin/bash
+ JSSHELL: d8/release/d8
+ max-run-time: 3600
+ treeherder:
+ kind: test
+ tier: 2
+ run:
+ using: mach
+ mach: jsshell-bench --perfherder={shell} --binary=$MOZ_FETCHES_DIR/$JSSHELL {test}
+ run-on-projects:
+ by-shell:
+ sm:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-central', 'integration']
+ default:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ fetches:
+ build:
+ - target.jsshell.zip
+ toolchain:
+ - linux64-custom-v8
+ optimization:
+ skip-unless-expanded: null
+
+bench-ares6:
+ description: Ares6 JavaScript shell benchmark suite
+ shell: ['sm', 'v8']
+ test: ares6
+ treeherder:
+ symbol: ares6
+
+bench-sixspeed:
+ description: Six-Speed JavaScript shell benchmark suite
+ shell: ['sm', 'v8']
+ test: six-speed
+ treeherder:
+ symbol: 6speed
+
+bench-sunspider:
+ description: SunSpider JavaScript shell benchmark suite
+ shell: ['sm']
+ test: sunspider
+ treeherder:
+ symbol: sunspider
+
+bench-web-tooling:
+ description: Web Tooling shell benchmark suite
+ shell: ['sm', 'v8']
+ test: web-tooling-benchmark
+ treeherder:
+ symbol: webtool
+ fetches:
+ fetch:
+ - web-tooling-benchmark
+
+bench-octane:
+ description: Octane shell benchmark suite
+ shell: ['sm', 'v8']
+ test: octane
+ treeherder:
+ symbol: octane
+ fetches:
+ fetch:
+ - octane
diff --git a/taskcluster/ci/source-test/kind.yml b/taskcluster/ci/source-test/kind.yml
new file mode 100644
index 0000000000..943c147b72
--- /dev/null
+++ b/taskcluster/ci/source-test/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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.try_job:transforms
+ - taskgraph.transforms.source_test:transforms
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - fetch
+ - toolchain
+ - build
+
+jobs-from:
+ - clang.yml
+ - codeql.yml
+ - coverity.yml
+ - cram.yml
+ - doc.yml
+ - file-metadata.yml
+ - infer.yml
+ - jsshell.yml
+ - mozlint.yml
+ - mozlint-android.yml
+ - node.yml
+ - python.yml
+ - remote.yml
+ - shadow-scheduler.yml
+ - webidl.yml
+ - wpt-manifest.yml
+ - wpt-metadata.yml
+
+job-defaults:
+ attributes:
+ retrigger: true
diff --git a/taskcluster/ci/source-test/mozlint-android.yml b/taskcluster/ci/source-test/mozlint-android.yml
new file mode 100644
index 0000000000..600d211a54
--- /dev/null
+++ b/taskcluster/ci/source-test/mozlint-android.yml
@@ -0,0 +1,100 @@
+# 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/.
+---
+
+# Just one TC job that runs all the lints. There's no real advantage
+# to running them separately, and this way we perform the expensive
+# clone and somewhat expensive compilation of the Android
+# intermediates just once.
+lints:
+ always-target: true
+ attributes:
+ build_platform: android
+ build_type: opt
+ code-review: true
+ description: Android lints
+ platform: lint/opt
+ treeherder:
+ symbol: A(lints)
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: android-build}
+ env:
+ GRADLE_USER_HOME: /builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline
+ MOZCONFIG: mobile/android/config/mozconfigs/android-api-16/nightly-android-lints
+ MOZ_OBJDIR: obj-firefox
+ PERFHERDER_EXTRA_OPTIONS: android-lints
+ TINDERBOX_OUTPUT: '1'
+ max-run-time: 3600
+ artifacts:
+ - type: file
+ name: public/code-review/mozlint.json
+ path: /builds/worker/mozlint.json
+ - name: public/android/geckoview/api.txt
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/compileWithGeckoBinariesDebugJavaWithJavac/classes/api.txt
+ type: file
+ - name: public/android/geckoview/apilint-result.json
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/compileWithGeckoBinariesDebugJavaWithJavac/classes/apilint-result.json
+ type: file
+ - name: public/android/geckoview/javadoc-results.json
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/javadoc-results-withGeckoBinariesDebug.json
+ type: file
+ - name: public/geckoview/unittest
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/tests
+ type: directory
+ - name: public/android/lint/lint-results-officialWithoutGeckoBinariesDebug.html
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/lint-results-withGeckoBinariesDebug.html
+ type: file
+ - name: public/android/lint/lint-results-withGeckoBinariesDebug.xml
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/lint-results-withGeckoBinariesDebug.xml
+ type: file
+ - name: public/android/checkstyle/checkstyle.html
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/checkstyle/withGeckoBinariesDebug.html
+ type: file
+ - name: public/android/checkstyle/checkstyle.xml
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/checkstyle/withGeckoBinariesDebug.xml
+ type: file
+ run:
+ using: run-task
+ command: >
+ ln -s $MOZ_FETCHES_DIR/android-gradle-dependencies $GECKO_PATH &&
+ ln -s $MOZ_FETCHES_DIR/android-sdk-linux $GECKO_PATH &&
+ ln -s $MOZ_FETCHES_DIR/node $GECKO_PATH &&
+ cd $GECKO_PATH &&
+ ./mach --log-no-times build &&
+ ./mach --log-no-times lint -f treeherder -f json:/builds/worker/mozlint.json
+ --linter android-api-lint
+ --linter android-javadoc
+ --linter android-checkstyle
+ --linter android-lint
+ --linter android-test
+ tooltool-downloads: internal # For internal toolchains.
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains installed by fetch.
+ - linux64-android-gradle-dependencies
+ - linux64-android-sdk-linux-repack
+ - linux64-node
+ when:
+ files-changed:
+ # Source files.
+ - 'mobile/android/**/*.java'
+ - 'mobile/android/**/*.kt'
+ # Resources.
+ - 'mobile/android/**/*.jpeg'
+ - 'mobile/android/**/*.jpg'
+ - 'mobile/android/**/*.png'
+ - 'mobile/android/**/*.svg'
+ - 'mobile/android/**/*.xml'
+ # Build stuff.
+ - 'mobile/android/**/Makefile.in'
+ - 'mobile/android/config/**'
+ - 'mobile/android/gradle.configure'
+ - 'mobile/android/**/moz.build'
+ - '**/*.gradle'
+ # Other misc lint related files.
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
diff --git a/taskcluster/ci/source-test/mozlint.yml b/taskcluster/ci/source-test/mozlint.yml
new file mode 100644
index 0000000000..7f2cd207ed
--- /dev/null
+++ b/taskcluster/ci/source-test/mozlint.yml
@@ -0,0 +1,465 @@
+# 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/.
+---
+job-defaults:
+ always-target: true
+ attributes:
+ code-review: true
+ treeherder:
+ kind: test
+ tier: 1
+ platform: lint/opt
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ artifacts:
+ - type: file
+ name: public/code-review/mozlint.json
+ path: /builds/worker/mozlint.json
+ env:
+ RUSTFMT: /build/rust/bin/rustfmt
+ RUSTUP_HOME: /build/rust
+ CARGO_HOME: /build/rust
+ CLANG_FORMAT: /builds/worker/fetches/clang-tidy/bin/clang-format
+ run:
+ using: mach
+ when:
+ files-changed:
+ # Other misc lint related files.
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+
+codespell:
+ description: Checks for misspellings in text files
+ treeherder:
+ symbol: text(spell)
+ # We don't want patches to be backed out because of a typo, a follow up bug will be
+ # good enough
+ tier: 2
+ run:
+ mach: lint -v -l codespell -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jxs'
+ - '**/*.xml'
+ - '**/*.html'
+ - '**/*.xhtml'
+ - '**/*.cpp'
+ - '**/*.c'
+ - '**/*.h'
+ - '**/*.configure'
+ - '**/*.py'
+ - '**/*.properties'
+ - '**/*.rst'
+ - '**/*.ftl'
+ - 'tools/lint/codespell.yml'
+
+
+rejected-words:
+ description: Reject some words we don't want to use in the code base
+ treeherder:
+ symbol: text(rejected-words)
+ # We don't want patches to be backed out because of this, a follow up bug will be
+ # good enough
+ tier: 2
+ run:
+ mach: lint -v -l rejected-words -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jxs'
+ - '**/*.xml'
+ - '**/*.html'
+ - '**/*.xhtml'
+ - '**/*.cpp'
+ - '**/*.c'
+ - '**/*.h'
+ - '**/*.configure'
+ - '**/*.py'
+ - '**/*.properties'
+ - '**/*.rst'
+ - '**/*.ftl'
+ - 'tools/lint/rejected-words.yml'
+
+cpp-virtual-final:
+ description: lint C++ virtual function declarations
+ treeherder:
+ symbol: cpp(Cvf)
+ run:
+ mach: lint -v -l cpp-virtual-final -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.cpp'
+ - '**/*.h'
+ - '**/*.mm'
+ - 'tools/lint/cpp-virtual-final.yml'
+
+eslint:
+ description: JS lint check
+ treeherder:
+ symbol: js(ES)
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-mozilla node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-spidermonkey-js node_modules &&
+ ./mach lint -v -l eslint -f treeherder --quiet -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ # Files that are likely audited.
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.html'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ - 'tools/lint/eslint.yml'
+ # Run when eslint policies change.
+ - '**/.eslintignore'
+ - '**/*eslintrc*'
+ # The plugin implementing custom checks.
+ - 'tools/lint/eslint/eslint-plugin-mozilla/**'
+ - 'tools/lint/eslint/eslint-plugin-spidermonkey-js/**'
+
+license:
+ description: Check for license blocks in source files.
+ treeherder:
+ symbol: pedantic(license)
+ run:
+ mach: lint -v -l license -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cc'
+ - '**/*.cpp'
+ - '**/*.css'
+ - '**/*.dtd'
+ - '**/*.ftl'
+ - '**/*.h'
+ - '**/*.html'
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.m'
+ - '**/*.mm'
+ - '**/*.properties'
+ - '**/*.py'
+ - '**/*.rs'
+ - '**/*.svg'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ - '**/*.xul'
+ - 'tools/lint/license.yml'
+
+lintpref:
+ description: Check for duplicates between all.js and StaticPrefList.yaml.
+ treeherder:
+ symbol: misc(pref)
+ run:
+ mach: lint -v -l lintpref -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - 'modules/libpref/init/all.js'
+ - 'modules/libpref/init/StaticPrefList.yaml'
+ - 'browser/app/profile/firefox.js'
+ - 'mobile/android/app/mobile.js'
+ - 'devtools/client/preferences/debugger.js'
+ - 'mobile/android/app/geckoview-prefs.js'
+ - 'browser/branding/official/pref/firefox-branding.js'
+ - 'browser/branding/nightly/pref/firefox-branding.js'
+ - 'browser/branding/unofficial/pref/firefox-branding.js'
+ - 'browser/branding/aurora/pref/firefox-branding.js'
+ - 'browser/app/profile/channel-prefs.js'
+ - 'mobile/android/installer/mobile-l10n.js'
+ - 'mobile/android/locales/en-US/mobile-l10n.js'
+ - 'tools/lint/lintpref.yml'
+
+mingw-cap:
+ description: lint for MinGW Capitalization issues
+ treeherder:
+ symbol: misc(mingw)
+ run:
+ mach: lint -v -l mingw-capitalization -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.c'
+ - '**/*.h'
+ - 'tools/lint/mingw-capitalization.yml'
+
+py-compat:
+ description: lint for python 2/3 compatibility issues
+ treeherder:
+ symbol: py(py-compat)
+ run:
+ mach: lint -v -l py2 -l py3 -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.py'
+ - '**/.flake8'
+ - 'tools/lint/py2.yml'
+ - 'tools/lint/py3.yml'
+
+py-flake8:
+ description: flake8 run over the gecko codebase
+ treeherder:
+ symbol: py(f8)
+ run:
+ mach: lint -v -l flake8 -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.py'
+ - '**/.flake8'
+ - 'tools/lint/flake8.yml'
+ # moz.configure files are also Python files.
+ - '**/*.configure'
+
+py-black:
+ description: black run over the gecko codebase
+ treeherder:
+ symbol: py(black)
+ run:
+ mach: lint -v -l black -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ # The list of extensions should match tools/lint/black.yml
+ - '**/*.py'
+ - '**/moz.build'
+ - '**/*.configure'
+ - '**/*.mozbuild'
+ - 'pyproject.toml'
+ - 'tools/lint/flake8.yml'
+
+py-pylint:
+ description: pylint run over the gecko codebase
+ treeherder:
+ symbol: py(pylint)
+ run:
+ mach: lint -v -l pylint -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.py'
+ - 'tools/lint/pylint.yml'
+ # moz.configure files are also Python files
+ # However, pylint has some hard time dealing with it
+
+test-manifest:
+ description: lint test manifests
+ treeherder:
+ symbol: misc(tm)
+ run:
+ mach: lint -v -l test-disable -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.ini'
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+ - 'tools/lint/test-disable.yml'
+
+wptlint-gecko:
+ description: web-platform-tests linter
+ treeherder:
+ symbol: misc(W)
+ run:
+ mach: lint -v -l wpt -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - 'testing/web-platform/tests/**'
+ - 'testing/web-platform/mozilla/tests/**'
+ - 'tools/lint/wpt.yml'
+
+yaml:
+ description: yamllint run over the gecko codebase
+ treeherder:
+ symbol: pedantic(yaml)
+ run:
+ mach: lint -v -l yaml -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.yml'
+ - '**/*.yaml'
+ - '**/.ymllint'
+
+rst:
+ description: rst lint run over the gecko codebase
+ treeherder:
+ symbol: text(rst)
+ run:
+ mach: lint -v -l rst -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.rst'
+ - 'tools/lint/rst.yml'
+
+shellcheck:
+ description: shellcheck run over the gecko codebase
+ treeherder:
+ symbol: misc(shell)
+ run:
+ mach: lint -v -l shellcheck -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.sh'
+ - 'tools/lint/shellcheck.yml'
+
+
+localization:
+ description: l10n tests for strings with errors
+ treeherder:
+ symbol: text(l1nt)
+ run:
+ mach: lint -v -l l10n -f treeherder *
+ attributes:
+ code-review: false
+ when:
+ files-changed:
+ - '**/locales/en-US/**'
+ - '**/l10n.toml'
+ - 'third_party/python/compare-locales/**'
+ - 'third_party/python/fluent/**'
+ - 'tools/lint/l10n.yml'
+
+
+l10n-conflicts:
+ description: l10n tests for strings with errors and conflicts with cross-channel
+ treeherder:
+ symbol: text(l1nt-conflicts)
+ always-target: false
+ run-on-projects: []
+ run:
+ mach: lint -W -l l10n -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/locales/en-US/**'
+ - '**/l10n.toml'
+ - 'third_party/python/compare-locales/**'
+ - 'third_party/python/fluent/**'
+ - 'tools/lint/l10n.yml'
+
+
+clang-format:
+ description: clang-format on the C/C++ code
+ treeherder:
+ symbol: cpp(clang-format)
+ run:
+ mach: lint -v -l clang-format -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.cpp'
+ - '**/*.c'
+ - '**/*.cc'
+ - '**/*.h'
+ - '**/*.m'
+ - '**/*.mm'
+ - 'tools/lint/clang-format.yml'
+ fetches:
+ toolchain:
+ - linux64-clang-tidy
+
+
+rustfmt:
+ description: rustfmt on the Rust code
+ treeherder:
+ symbol: rust(rustfmt)
+ run:
+ mach: lint -v -l rustfmt -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.rs'
+ - 'tools/lint/rustfmt.yml'
+
+
+clippy:
+ description: clippy on the Rust code
+ treeherder:
+ symbol: rust(clippy)
+ run:
+ mach: lint -v -l clippy -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.rs'
+ - '**/Cargo.toml'
+ - 'tools/lint/clippy.yml'
+
+
+file-whitespace:
+ description: Check for trailing whitespaces and Windows CR
+ platform: lint/opt
+ treeherder:
+ symbol: pedantic(file-whitespace)
+ # We don't want patches to be backed out because of this, a follow up bug will be
+ # good enough
+ tier: 2
+ run:
+ mach: lint -v -l file-whitespace -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cc'
+ - '**/*.cpp'
+ - '**/*.css'
+ - '**/*.dtd'
+ - '**/*.ftl'
+ - '**/*.h'
+ - '**/*.html'
+ - '**/*.properties'
+ - '**/*.py'
+ - '**/*.rs'
+ - '**/*.xhtml'
+ - 'tools/lint/file-whitespace.yml'
+
+
+file-perm:
+ description: Check for incorrect permissions on source files
+ platform: lint/opt
+ treeherder:
+ symbol: pedantic(file-perm)
+ # We don't want patches to be backed out because of this, a follow up bug will be
+ # good enough
+ tier: 2
+ run:
+ mach: lint -v -l file-perm -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cc'
+ - '**/*.cpp'
+ - '**/*.h'
+ - '**/*.html'
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.m'
+ - '**/*.mm'
+ - '**/*.rs'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ - '**/*.xul'
+ - 'tools/lint/file-perm.yml'
+
+
+perfdocs-verify:
+ description: Verifies Performance Testing documentation
+ treeherder:
+ symbol: text(perfdocs)
+ run:
+ mach: lint -v -l perfdocs -f treeherder -f json:/builds/worker/mozlint.json *
+ worker:
+ env:
+ WORKSPACE: /builds/worker/checkouts/gecko/
+ when:
+ files-changed:
+ - '**/perftest.ini'
+ - 'python/mozperftest/**'
+ - 'testing/**/*.ini'
+ - 'testing/**/*.yml'
+ - 'testing/**/*.rst'
+ - 'tools/lint/perfdocs.yml'
diff --git a/taskcluster/ci/source-test/node.yml b/taskcluster/ci/source-test/node.yml
new file mode 100644
index 0000000000..fb0b216b39
--- /dev/null
+++ b/taskcluster/ci/source-test/node.yml
@@ -0,0 +1,116 @@
+# 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/.
+---
+newtab-unit-tests:
+ description: newtab unit tests
+ platform: linux1804-64/opt
+ treeherder:
+ symbol: node(newtab)
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "ubuntu1804-test"}
+ max-run-time: 1800
+ require-build:
+ by-project:
+ autoland:
+ linux1804-64/opt: build-linux64/opt
+ try:
+ linux1804-64/opt: build-linux64/opt
+ default:
+ linux1804-64/opt: build-linux64-shippable/opt
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}'
+ command: >
+ cd /builds/worker/checkouts/gecko/browser/components/newtab &&
+ npm install &&
+ node bin/try-runner.js
+ when:
+ files-changed:
+ - "browser/components/newtab/**"
+
+debugger-tests:
+ description: devtools debugger unit tests and flow type checks
+ platform: linux1804-64/opt
+ attributes:
+ code-review: true
+ treeherder:
+ symbol: node(debugger)
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}'
+ command: >
+ npm install &&
+ cd devtools/client/debugger/ &&
+ yarn &&
+ node bin/try-runner.js
+ when:
+ files-changed:
+ - 'devtools/client/debugger/**'
+
+devtools-tests:
+ description: devtools node-based tests (for instance jest)
+ platform: linux1804-64/opt
+ attributes:
+ code-review: true
+ treeherder:
+ symbol: node(devtools)
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}'
+ command: >
+ npm install &&
+ cd devtools/client/bin/ &&
+ node devtools-node-test-runner.js --suite=aboutdebugging &&
+ node devtools-node-test-runner.js --suite=accessibility &&
+ node devtools-node-test-runner.js --suite=application &&
+ node devtools-node-test-runner.js --suite=compatibility &&
+ node devtools-node-test-runner.js --suite=framework &&
+ node devtools-node-test-runner.js --suite=netmonitor &&
+ node devtools-node-test-runner.js --suite=performance &&
+ node devtools-node-test-runner.js --suite=shared_components &&
+ node devtools-node-test-runner.js --suite=webconsole
+ when:
+ files-changed:
+ - 'devtools/client/**'
+ - 'devtools/shared/**'
+
+eslint-plugin-mozilla:
+ description: eslint-plugin-mozilla integration tests
+ platform: linux1804-64/opt
+ treeherder:
+ symbol: node(epm)
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}/tools/lint/eslint/eslint-plugin-mozilla'
+ command: >
+ cp -r /build/node_modules_eslint-plugin-mozilla node_modules &&
+ npm run test
+ when:
+ files-changed:
+ - 'tools/lint/eslint/eslint-plugin-mozilla/**'
diff --git a/taskcluster/ci/source-test/python.yml b/taskcluster/ci/source-test/python.yml
new file mode 100644
index 0000000000..fb2848e7fd
--- /dev/null
+++ b/taskcluster/ci/source-test/python.yml
@@ -0,0 +1,553 @@
+# 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/.
+---
+job-defaults:
+ platform: linux1804-64/opt
+ always-target: true
+ worker-type:
+ by-platform:
+ linux1804-64.*: t-linux-xlarge-source
+ macosx1014-64.*: t-osx-1014
+ windows10-64.*: t-win10-64-source
+ worker:
+ by-platform:
+ linux1804-64.*:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 3600
+ env:
+ RUSTFMT: /build/rust/bin/rustfmt
+ RUSTUP_HOME: /build/rust
+ CARGO_HOME: /build/rust
+ CLANG_FORMAT: /builds/worker/fetches/clang-tidy/bin/clang-format
+ default:
+ max-run-time: 3600
+ treeherder:
+ kind: test
+ tier: 2
+ run:
+ using: mach
+ when:
+ files-changed:
+ - 'config/mozunit/**'
+ - 'python/mach_commands.py'
+
+firefox-ci:
+ description: taskcluster/taskgraph unit tests
+ python-version: [3]
+ treeherder:
+ symbol: ci
+ run:
+ using: python-test
+ subsuite: ci
+ when:
+ files-changed:
+ - 'taskcluster/ci/**'
+ - 'taskcluster/**/*.py'
+ - 'tools/tryselect/selectors/auto.py'
+
+fog:
+ description: Python unit tests for Firefox on Glean
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: fp
+ run:
+ using: python-test
+ subsuite: fog
+ when:
+ files-changed:
+ - 'toolkit/components/glean/**'
+
+mach:
+ description: python/mach unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [2, 3]
+ treeherder:
+ symbol: mach
+ run:
+ using: python-test
+ subsuite: mach
+ when:
+ files-changed:
+ - 'python/mach/**'
+
+marionette-harness:
+ description: testing/marionette/harness unit tests
+ platform:
+ - linux1804-64/opt
+ - windows10-64/opt
+ python-version: [2]
+ treeherder:
+ symbol: mnh
+ run:
+ using: python-test
+ subsuite: marionette-harness
+ when:
+ files-changed:
+ - 'testing/marionette/harness/**'
+ - 'testing/mozbase/mozlog/mozlog/**'
+ - 'testing/mozbase/mozlog/setup.py'
+ - 'testing/mozbase/packages.txt'
+
+mochitest-harness:
+ description: testing/mochitest unittests
+ platform:
+ - linux1804-64/opt
+ - linux1804-64/debug
+ - linux1804-64-asan/opt
+ always-target: false
+ require-build:
+ by-project:
+ try:
+ linux1804-64-asan/opt: build-linux64-asan/opt
+ linux1804-64/debug: build-linux64/debug
+ linux1804-64/opt: build-linux64/opt
+ default:
+ linux1804-64-asan/opt: build-linux64-asan/opt
+ linux1804-64/debug: build-linux64/debug
+ linux1804-64/opt: build-linux64-shippable/opt
+ treeherder:
+ symbol: py2(mch)
+ worker:
+ by-platform:
+ linux1804-64.*:
+ docker-image: {in-tree: "ubuntu1804-test"}
+ max-run-time: 3600
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ source /builds/worker/scripts/xvfb.sh &&
+ start_xvfb '1600x1200x24' 0 &&
+ export GECKO_BINARY_PATH=$MOZ_FETCHES_DIR/firefox/firefox &&
+ export TEST_HARNESS_ROOT=$MOZ_FETCHES_DIR/tests &&
+ python2 ./mach python-test --subsuite mochitest
+ fetches:
+ build:
+ - target.tar.bz2
+ - artifact: target.common.tests.tar.gz
+ dest: tests
+ - artifact: target.mochitest.tests.tar.gz
+ dest: tests
+ toolchain:
+ - linux64-fix-stacks
+ when:
+ files-changed:
+ - 'testing/mochitest/**'
+ - 'testing/mozbase/mozrunner/mozrunner/**'
+ - 'testing/mozbase/moztest/moztest/selftest/**'
+ - 'testing/mozharness/mozharness/base/log.py'
+ - 'testing/mozharness/mozharness/mozilla/structuredlog.py'
+ - 'testing/mozharness/mozharness/mozilla/testing/errors.py'
+ - 'testing/profiles/**'
+
+
+mozbase:
+ description: testing/mozbase unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [2, 3]
+ treeherder:
+ symbol: mb
+ run:
+ using: python-test
+ subsuite: mozbase
+ when:
+ files-changed:
+ - 'testing/mozbase/**'
+
+mozharness:
+ description: mozharness integration tests
+ treeherder:
+ symbol: py2(mh)
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}/testing/mozharness'
+ command: >
+ /usr/local/bin/tox -e py27-hg5.2
+ when:
+ files-changed:
+ - 'testing/mozharness/**'
+
+mozharness-py3:
+ description: mozharness integration tests
+ treeherder:
+ symbol: py3(mh)
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}/testing/mozharness'
+ command: >
+ /usr/local/bin/tox -e py36-hg5.2
+ when:
+ files-changed:
+ - 'testing/mozharness/**'
+
+mozlint:
+ description: python/mozlint unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: mozlint
+ run:
+ using: python-test
+ subsuite: mozlint
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-clang-tidy
+ - linux64-node
+ macosx1014-64/opt:
+ - macosx64-clang-tidy
+ - macosx64-node
+ windows10-64/opt:
+ - win64-clang-tidy
+ - win64-node
+ when:
+ files-changed:
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+
+mozrelease:
+ description: python/mozrelease unit tests
+ python-version: [2, 3]
+ treeherder:
+ symbol: release
+ run:
+ using: python-test
+ subsuite: mozrelease
+ when:
+ files-changed:
+ - 'python/mozrelease/**'
+
+mozterm:
+ description: python/mozterm unit tests
+ platform:
+ - linux1804-64/opt
+ - windows10-64/opt
+ python-version: [2, 3]
+ treeherder:
+ symbol: term
+ run:
+ using: python-test
+ subsuite: mozterm
+ when:
+ files-changed:
+ - 'python/mozterm/**'
+
+mozversioncontrol:
+ description: python/mozversioncontrol unit tests
+ python-version: [2, 3]
+ treeherder:
+ symbol: vcs
+ run:
+ using: python-test
+ subsuite: mozversioncontrol
+ when:
+ files-changed:
+ - 'python/mozversioncontrol/**'
+
+raptor:
+ description: testing/raptor unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [2, 3]
+ treeherder:
+ symbol: rap
+ run:
+ using: python-test
+ subsuite: raptor
+ when:
+ files-changed:
+ - 'testing/raptor/**'
+
+reftest-harness:
+ description: layout/tools/reftest unittests
+ platform:
+ - linux1804-64/opt
+ - linux1804-64/debug
+ - linux1804-64-asan/opt
+ require-build:
+ by-project:
+ try:
+ linux1804-64-asan/opt: build-linux64-asan/opt
+ linux1804-64/debug: build-linux64/debug
+ linux1804-64/opt: build-linux64/opt
+ default:
+ linux1804-64-asan/opt: build-linux64-asan/opt
+ linux1804-64/debug: build-linux64/debug
+ linux1804-64/opt: build-linux64-shippable/opt
+ always-target: false
+ treeherder:
+ symbol: py2(ref)
+ worker:
+ by-platform:
+ linux1804-64.*:
+ docker-image: {in-tree: "ubuntu1804-test"}
+ max-run-time: 3600
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ source /builds/worker/scripts/xvfb.sh &&
+ start_xvfb '1600x1200x24' 0 &&
+ export GECKO_BINARY_PATH=$MOZ_FETCHES_DIR/firefox/firefox &&
+ export TEST_HARNESS_ROOT=$MOZ_FETCHES_DIR/tests &&
+ python2 ./mach python-test --subsuite reftest
+ fetches:
+ build:
+ - target.tar.bz2
+ - artifact: target.common.tests.tar.gz
+ dest: tests
+ - artifact: target.reftest.tests.tar.gz
+ dest: tests
+ toolchain:
+ - linux64-fix-stacks
+ when:
+ files-changed:
+ - 'layout/tools/reftest/**'
+ - 'testing/mozbase/mozrunner/mozrunner/**'
+ - 'testing/mozbase/moztest/moztest/selftest/**'
+ - 'testing/mozharness/mozharness/base/log.py'
+ - 'testing/mozharness/mozharness/mozilla/structuredlog.py'
+ - 'testing/mozharness/mozharness/mozilla/testing/errors.py'
+
+taskgraph-tests:
+ description: taskcluster/taskgraph unit tests
+ python-version: [2, 3]
+ treeherder:
+ symbol: tg
+ run:
+ using: python-test
+ subsuite: taskgraph
+ when:
+ files-changed:
+ - 'taskcluster/**/*.py'
+ - 'python/mach/**/*.py'
+
+tryselect:
+ description: tools/tryselect unit tests
+ platform:
+ - linux1804-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: try
+ run:
+ using: python-test
+ subsuite: try
+ when:
+ files-changed:
+ - 'taskcluster/ci/test/**'
+ - 'taskcluster/taskgraph/transforms/**'
+ - 'tools/tryselect/**'
+
+mozbuild:
+ description: mozbuild unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [2, 3]
+ treeherder:
+ symbol: mbu
+ run:
+ using: python-test
+ subsuite: mozbuild
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node-10
+ macosx1014-64/opt:
+ - macosx64-node-10
+ windows10-64/opt:
+ - win64-node-10
+ when:
+ files-changed:
+ - '**/moz.configure'
+ - 'build/moz.configure/**'
+ - 'config/tests/**'
+ - 'dom/bindings/mozwebidlcodegen/**'
+ - 'modules/libpref/init/**'
+ - 'modules/libpref/test/**'
+ - 'python/mach/**'
+ - 'python/mozboot/**'
+ - 'python/mozbuild/**'
+ - 'python/mozterm/**'
+ - 'python/mozversioncontrol/**'
+ - 'testing/mozbase/**'
+ - 'testing/xpcshell/xpcshellcommandline.py'
+
+mozperftest:
+ description: mozperftest unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ treeherder:
+ symbol: mpu
+ run:
+ mach: perftest-test
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node-10
+ macosx1014-64/opt:
+ - macosx64-node-10
+ windows10-64/opt:
+ - win64-node-10
+ when:
+ files-changed:
+ - 'testing/performance/**'
+ - 'python/mozperftest/**'
+
+condprof:
+ description: testing/condprofile unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [2]
+ treeherder:
+ symbol: condprof
+ run:
+ using: python-test
+ subsuite: condprof
+ when:
+ files-changed:
+ - 'testing/condprofile/condprof**'
+ - 'testing/condprofile/setup.py'
+
+featuregates:
+ description: featuregates Python unit tests
+ platform:
+ - linux1804-64/opt
+ - windows10-64/opt
+ python-version: [2, 3]
+ treeherder:
+ symbol: fg
+ run:
+ using: python-test
+ subsuite: featuregates
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node-10
+ windows10-64/opt:
+ - win64-node-10
+ when:
+ files-changed:
+ - 'toolkit/components/featuregates/**'
+
+talos:
+ description: testing/talos unit tests
+ platform: windows10-64/opt
+ python-version: [2]
+ treeherder:
+ symbol: tal
+ run:
+ using: python-test
+ subsuite: talos
+ when:
+ files-changed:
+ - 'testing/talos/**'
+
+telemetry-integration-tests:
+ description: pytest-based integration tests for Telemetry
+ always-target: false
+ platform:
+ - linux1804-64/opt
+ worker:
+ by-platform:
+ linux1804-64.*:
+ docker-image: {in-tree: "ubuntu1804-test"}
+ max-run-time: 3600
+ require-build:
+ by-project:
+ try:
+ linux1804-64/opt: build-linux64/opt
+ default:
+ linux1804-64/opt: build-linux64-shippable/opt
+ treeherder:
+ symbol: tt(i)
+ tier: 3
+ run-on-projects: []
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ source /builds/worker/scripts/xvfb.sh &&
+ start_xvfb '1600x1200x24' 0 &&
+ export GECKO_BINARY_PATH=$MOZ_FETCHES_DIR/firefox/firefox &&
+ python2 ./mach python-test --subsuite telemetry-integration-tests
+ fetches:
+ build:
+ - target.tar.bz2
+ - artifact: target.common.tests.tar.gz
+ dest: tests
+ - artifact: target.reftest.tests.tar.gz
+ dest: tests
+ when:
+ files-changed:
+ - 'toolkit/components/telemetry/**'
+
+telemetry-python:
+ description: Python unit tests for Telemetry
+ platform:
+ - linux1804-64/opt
+ - macosx1014-64/opt
+ - windows10-64/opt
+ python-version: [2]
+ treeherder:
+ symbol: tp
+ run:
+ using: python-test
+ subsuite: telemetry-python
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node-10
+ macosx1014-64/opt:
+ - macosx64-node-10
+ windows10-64/opt:
+ - win64-node-10
+ when:
+ files-changed:
+ - 'toolkit/components/telemetry/**'
+
+xpcom:
+ description: xpcom unit tests
+ platform:
+ - linux1804-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: xpcom
+ run:
+ using: python-test
+ subsuite: xpcom
+ when:
+ files-changed:
+ - 'third_party/python/ply/**'
+ - 'xpcom/ds/tools/**'
+ - 'xpcom/ds/test/**'
+ - 'xpcom/idl-parser/**'
diff --git a/taskcluster/ci/source-test/remote.yml b/taskcluster/ci/source-test/remote.yml
new file mode 100644
index 0000000000..1d6882cd60
--- /dev/null
+++ b/taskcluster/ci/source-test/remote.yml
@@ -0,0 +1,59 @@
+# 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/.
+---
+job-defaults:
+ platform: linux1804-64/opt
+ require-build:
+ by-project:
+ try:
+ linux1804-64/opt: build-linux64/opt
+ default:
+ linux1804-64/opt: build-linux64-shippable/opt
+ fetches:
+ build:
+ - target.tar.bz2
+ toolchain:
+ - linux64-node
+ treeherder:
+ kind: test
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: ubuntu1804-test}
+ max-run-time: 1800
+ artifacts:
+ - type: file
+ name: public/remote/results.json
+ path: /builds/worker/results.json
+ - type: file
+ name: public/remote/pup_errorsummary.json
+ path: /builds/worker/pup_errorsummary.json
+ - type: file
+ name: public/remote/pup_raw.log
+ path: /builds/worker/pup_raw.log
+ optimization:
+ skip-unless-expanded: null
+
+puppeteer:
+ description: Puppeteer tests against Firefox CDP-based remote protocol
+ run-on-projects: ["trunk"]
+ treeherder:
+ symbol: remote(pup)
+ run:
+ using: run-task
+ command: >
+ cd $GECKO_PATH/ &&
+ $MOZ_FETCHES_DIR/firefox/firefox --screenshot http://example.org &&
+ ./mach puppeteer-test -vv --binary $MOZ_FETCHES_DIR/firefox/firefox --headless --write-results /builds/worker/results.json --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json --log-raw /builds/worker/pup_raw.log
+
+puppeteer-fis:
+ description: Puppeteer tests against Firefox CDP-based remote protocol with Fission (site isolation) turned on
+ run-on-projects: []
+ treeherder:
+ symbol: remote(pup-fis)
+ run:
+ using: run-task
+ command: >
+ cd $GECKO_PATH/ &&
+ ./mach puppeteer-test -vv --binary $MOZ_FETCHES_DIR/firefox/firefox --headless --enable-fission --write-results /builds/worker/results.json --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json --log-raw /builds/worker/pup_raw.log
diff --git a/taskcluster/ci/source-test/shadow-scheduler.yml b/taskcluster/ci/source-test/shadow-scheduler.yml
new file mode 100644
index 0000000000..702c869afe
--- /dev/null
+++ b/taskcluster/ci/source-test/shadow-scheduler.yml
@@ -0,0 +1,167 @@
+# 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/.
+---
+job-defaults:
+ platform: gecko-decision/opt
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 3600
+ artifacts:
+ - type: file
+ name: public/shadow-scheduler/optimized-tasks.json
+ path: /builds/worker/optimized-tasks.json
+ env:
+ DECISION_TASK_ID: {task-reference: <decision>}
+ treeherder:
+ kind: other
+ tier: 3
+ run-on-projects: ['autoland']
+ run:
+ using: mach
+ mach: taskgraph optimized -v --json -p task-id=$DECISION_TASK_ID --output-file /builds/worker/optimized-tasks.json
+ sparse-profile: taskgraph
+
+relevant_tests:
+ description: Runs the relevant_tests optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(relevant_tests)
+ index:
+ product: source
+ job-name: shadow-scheduler-relevant_tests
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.relevant_tests
+
+bugbug_tasks_medium:
+ description: Runs the bugbug_tasks_medium optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_tasks_medium)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_tasks_medium
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_tasks_medium
+
+bugbug_tasks_high:
+ description: Runs the bugbug_tasks_high optimization strategy (with a high confidence threshold) instead of the default.
+ treeherder:
+ symbol: SS(bugbug_tasks_high)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_tasks_high
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_tasks_high
+
+bugbug_debug_disperse:
+ description: Runs the bugbug_debug_disperse optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_debug_disperse)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_debug_disperse
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_debug_disperse
+
+bugbug_disperse_low:
+ description: Runs the bugbug_disperse_low optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_disperse_low)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_disperse_low
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_low
+
+bugbug_disperse_medium:
+ description: Runs the bugbug_disperse_medium optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_disperse_med)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_disperse_medium
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_medium
+
+bugbug_disperse_reduced_medium:
+ description: Runs the bugbug_disperse_reduced_medium optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_di_r_med_noun)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_disperse_reduced_medium
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_reduced_medium
+
+bugbug_reduced_manifests_config_selection_medium:
+ description: Runs the bugbug_reduced_manifests_config_selection_medium optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_r_c_s_med)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_reduced_manifests_config_selection_medium
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_reduced_manifests_config_selection_medium
+
+bugbug_disperse_medium_no_unseen:
+ description: Runs the bugbug_disperse_medium_no_unseen optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_disp_med_noun)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_disperse_medium_no_unseen
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_medium_no_unseen
+
+bugbug_disperse_medium_only_one:
+ description: Runs the bugbug_disperse_medium_only_one optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_disp_med_one)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_disperse_medium_only_one
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_medium_only_one
+
+bugbug_disperse_high:
+ description: Runs the bugbug_disperse_high optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_disperse_high)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_disperse_high
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_high
+
+bugbug_reduced:
+ description: Runs the bugbug_reduced optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_reduced)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_reduced
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_reduced
+
+bugbug_reduced_high:
+ description: Runs the bugbug_reduced optimization strategy (with a low confidence threshold) instead of the default.
+ treeherder:
+ symbol: SS(bugbug_reduced_high)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_reduced_high
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_reduced_high
diff --git a/taskcluster/ci/source-test/webidl.yml b/taskcluster/ci/source-test/webidl.yml
new file mode 100644
index 0000000000..eec7a75e38
--- /dev/null
+++ b/taskcluster/ci/source-test/webidl.yml
@@ -0,0 +1,24 @@
+# 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/.
+---
+test:
+ description: WebIDL parser tests
+ platform: lint/opt
+ treeherder:
+ symbol: Wp
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ run:
+ using: mach
+ mach: webidl-parser-test --verbose
+ when:
+ files-changed:
+ - 'dom/bindings/parser/runtests.py'
+ - 'dom/bindings/parser/WebIDL.py'
+ - 'dom/bindings/parser/tests/**'
+ - 'other-licenses/ply/**'
diff --git a/taskcluster/ci/source-test/wpt-manifest.yml b/taskcluster/ci/source-test/wpt-manifest.yml
new file mode 100644
index 0000000000..06b29b60f5
--- /dev/null
+++ b/taskcluster/ci/source-test/wpt-manifest.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/.
+---
+job-defaults:
+ platform: linux64/opt
+ treeherder:
+ kind: test
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+
+upload:
+ description: Generate and store the web-platform-tests manifest
+ treeherder:
+ symbol: Wm
+ index:
+ product: source
+ job-name: manifest-upload
+ rank: build_date
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ ./mach wpt-manifest-update --config testing/web-platform/wptrunner.ini --no-download
+ && tar -cvzf manifests.tar.gz -C testing/web-platform/ meta/MANIFEST.json mozilla/meta/MANIFEST.json
+ worker:
+ artifacts:
+ - type: file
+ path: /builds/worker/checkouts/gecko/manifests.tar.gz
+ name: public/manifests.tar.gz
+
+ max-run-time: 3600
+ when:
+ files-changed:
+ - 'testing/web-platform/tests/**'
+ - 'testing/web-platform/mozilla/tests/**'
diff --git a/taskcluster/ci/source-test/wpt-metadata.yml b/taskcluster/ci/source-test/wpt-metadata.yml
new file mode 100644
index 0000000000..3d2a02218a
--- /dev/null
+++ b/taskcluster/ci/source-test/wpt-metadata.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+job-defaults:
+ platform: lint/opt
+ treeherder:
+ kind: test
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+
+summary:
+ description: Summarize wpt metadata
+ treeherder:
+ symbol: wpt-meta
+ index:
+ product: source
+ job-name: source-wpt-metadata-summary
+ run:
+ using: mach
+ mach: wpt-metadata-summary --out-dir=/builds/worker/artifacts
+ worker:
+ artifacts:
+ - type: directory
+ path: /builds/worker/artifacts
+ name: public
+ max-run-time: 2700
+ when:
+ files-changed:
+ - 'testing/web-platform/meta/**'
+ - 'testing/web-platform/mozilla/meta/**'
+ - 'testing/web-platform/metasummary.py'
diff --git a/taskcluster/ci/spidermonkey/kind.yml b/taskcluster/ci/spidermonkey/kind.yml
new file mode 100644
index 0000000000..59f2e89397
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/kind.yml
@@ -0,0 +1,74 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.spidermonkey:transforms
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ treeherder:
+ kind: build
+ tier: 1
+ index:
+ product: firefox
+ worker-type: b-linux
+ run:
+ using: spidermonkey
+ when:
+ files-changed:
+ # any when.files-changed specified below in a job will be
+ # appended to this list
+ - build/**
+ - config/**
+ - configure.py
+ - dom/bindings/**
+ - intl/icu/**
+ - js/moz.configure
+ - js/public/**
+ - js/rust/**
+ - js/src/**
+ - 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
+ - taskcluster/ci/spidermonkey/kind.yml
+ - testing/mozbase/**
+ - testing/web-platform/**
+ - test.mozbuild
+ - toolkit/mozapps/installer/package-name.mk
+ - toolkit/mozapps/installer/upload-files.mk
+ fetches:
+ toolchain:
+ by-worker-type:
+ .*-b-win2012:
+ - win64-clang-cl
+ - win64-rust
+ default:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-dump-syms
+
+jobs-from:
+ - linux.yml
+ - windows.yml
diff --git a/taskcluster/ci/spidermonkey/linux.yml b/taskcluster/ci/spidermonkey/linux.yml
new file mode 100644
index 0000000000..805fa99be2
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/linux.yml
@@ -0,0 +1,287 @@
+# 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/.
+---
+job-defaults:
+ worker:
+ max-run-time: 36000
+ docker-image: {in-tree: debian8-amd64-build}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/jsshell.manifest"
+ MOZ_AUTOMATION_UPLOAD: "0"
+ run:
+ tooltool-downloads: public
+
+sm-package-linux64/opt:
+ description: "Spidermonkey source package and test"
+ index:
+ job-name: sm-package-linux64-opt
+ treeherder:
+ symbol: SM(pkg)
+ platform: linux64/opt
+ run:
+ using: spidermonkey-package
+ spidermonkey-variant: plain
+
+sm-mozjs-sys-linux64/debug:
+ description: "Build js/src as the mozjs_sys Rust crate"
+ index:
+ job-name: sm-mozjs-sys-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(mozjs-crate)
+ run:
+ using: spidermonkey-mozjs-crate
+ spidermonkey-variant: plaindebug
+ run-on-projects: ['integration', 'release']
+
+sm-rust-bindings-linux64/debug:
+ description: "Build and test the Rust bindings for SpiderMonkey"
+ index:
+ job-name: sm-rust-bindings-linux64-debug
+ treeherder:
+ symbol: SM(rust)
+ tier: 2
+ platform: linux64/debug
+ worker:
+ docker-image: {in-tree: debian8-mozjs-rust-build}
+ run:
+ using: spidermonkey-rust-bindings
+ spidermonkey-variant: plaindebug
+ run-on-projects: ['integration', 'release']
+
+sm-plain-linux64/debug:
+ description: "Spidermonkey Plain"
+ index:
+ job-name: sm-plain-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(p)
+ run:
+ spidermonkey-variant: plaindebug
+
+sm-plain-linux64/opt:
+ description: "Spidermonkey Plain"
+ index:
+ job-name: sm-plain-linux64-opt
+ treeherder:
+ symbol: SM(p)
+ platform: linux64/opt
+ run:
+ spidermonkey-variant: plain
+
+sm-smoosh-linux64/debug:
+ description: "Spidermonkey SmooshMonkey"
+ index:
+ job-name: sm-smoosh-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(smoosh)
+ tier: 3
+ run:
+ spidermonkey-variant: smooshdebug
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ run-on-projects: ['mozilla-central']
+
+sm-smoosh-linux64/opt:
+ description: "Spidermonkey SmooshMonkey"
+ index:
+ job-name: sm-smoosh-linux64-opt
+ treeherder:
+ symbol: SM(smoosh)
+ platform: linux64/opt
+ tier: 3
+ run:
+ spidermonkey-variant: smoosh
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ run-on-projects: ['mozilla-central']
+
+sm-nojit-linux64/opt:
+ description: "Spidermonkey no JIT"
+ index:
+ job-name: sm-nojit-linux64-opt
+ treeherder:
+ symbol: SM(nojit)
+ platform: linux64/opt
+ run:
+ spidermonkey-variant: nojit
+
+sm-arm-sim-linux32/debug:
+ description: "Spidermonkey ARM sim"
+ index:
+ job-name: sm-arm-sim-linux32-debug
+ treeherder:
+ platform: linux32/debug
+ symbol: SM(arm)
+ worker:
+ docker-image: {in-tree: debian8-i386-build}
+ run:
+ spidermonkey-variant: arm-sim
+
+sm-arm64-sim-linux64/debug:
+ description: "Spidermonkey ARM64 sim"
+ index:
+ job-name: sm-arm64-sim-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(arm64)
+ run:
+ spidermonkey-variant: arm64-sim
+
+sm-arm64-sim-cranelift-linux64/debug:
+ description: "Spidermonkey ARM64 sim with Cranelift Wasm backend"
+ index:
+ job-name: sm-arm64-sim-cranelift-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(arm64cl)
+ run:
+ spidermonkey-variant: arm64-cranelift-sim
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump-syms
+ run-on-projects: ['mozilla-central']
+
+sm-asan-linux64/opt:
+ description: "Spidermonkey Address Sanitizer"
+ index:
+ job-name: sm-asan-linux64-opt
+ treeherder:
+ symbol: SM(asan)
+ platform: linux64/opt
+ worker:
+ env:
+ MOZ_AUTOMATION_UPLOAD: "1"
+ run:
+ spidermonkey-variant: asan
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+
+sm-compacting-linux64/debug:
+ description: "Spidermonkey Compacting"
+ index:
+ job-name: sm-compacting-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(cgc)
+ run:
+ spidermonkey-variant: compacting
+
+sm-msan-linux64/opt:
+ description: "Spidermonkey Memory Sanitizer"
+ index:
+ job-name: sm-msan-linux64-opt
+ treeherder:
+ symbol: SM(msan)
+ platform: linux64/opt
+ tier: 3
+ worker:
+ env:
+ MOZ_AUTOMATION_UPLOAD: "1"
+ run:
+ spidermonkey-variant: msan
+ # Disable by default by allow try pushes to explicitly request.
+ run-on-projects: []
+
+sm-tsan-linux64/opt:
+ description: "Spidermonkey Thread Sanitizer"
+ index:
+ job-name: sm-tsan-linux64-opt
+ treeherder:
+ symbol: SM(tsan)
+ platform: linux64/opt
+ worker:
+ env:
+ MOZ_AUTOMATION_UPLOAD: "1"
+ run:
+ spidermonkey-variant: tsan
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-nightly
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+
+sm-rootanalysis-linux64/debug:
+ description: "Spidermonkey Root Analysis"
+ index:
+ job-name: sm-rootanalysis-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(r)
+ run:
+ spidermonkey-variant: rootanalysis
+
+sm-nonunified-linux64/debug:
+ description: "Spidermonkey Non-Unified Debug"
+ index:
+ job-name: sm-nonunified-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(nu)
+ run:
+ spidermonkey-variant: nonunified
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+
+sm-fuzzing-linux64/opt:
+ description: "Spidermonkey Fuzzing"
+ index:
+ job-name: sm-fuzzing-linux64
+ treeherder:
+ platform: linux64/opt
+ symbol: SM(f)
+ worker:
+ env:
+ MOZ_AUTOMATION_UPLOAD: "1"
+ run:
+ spidermonkey-variant: fuzzing
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-dump-syms
+ - linux64-llvm-symbolizer
+
+sm-gdb-linux64/debug:
+ description: "Spidermonkey GDB Pretty-printers"
+ index:
+ job-name: sm-gdb-linux64
+ worker:
+ docker-image: {in-tree: gdb-test}
+ treeherder:
+ platform: linux64/debug
+ tier: 2
+ symbol: SM(gdb)
+ run:
+ spidermonkey-variant: gdb
diff --git a/taskcluster/ci/spidermonkey/windows.yml b/taskcluster/ci/spidermonkey/windows.yml
new file mode 100644
index 0000000000..51c522a176
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/windows.yml
@@ -0,0 +1,117 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-win2012
+ worker:
+ max-run-time: 36000
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ tooltool-downloads: internal
+
+sm-plain-win64/debug:
+ description: "Spidermonkey Plain win64 debug"
+ index:
+ job-name: sm-plain-win64-debug
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: SM(p)
+ run:
+ spidermonkey-variant: plaindebug
+ spidermonkey-platform: win64
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+
+sm-plain-win32/debug:
+ description: "Spidermonkey Plain win32 debug"
+ index:
+ job-name: sm-plain-win32-debug
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: SM(p)
+ tier: 2
+ run:
+ spidermonkey-variant: plaindebug
+ spidermonkey-platform: win32
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+
+sm-plain-win64/opt:
+ description: "Spidermonkey Plain win64 opt"
+ index:
+ job-name: sm-plain-win64-opt
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: SM(p)
+ run:
+ spidermonkey-variant: plain
+ spidermonkey-platform: win64
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+
+sm-plain-win32/opt:
+ description: "Spidermonkey Plain win32 opt"
+ index:
+ job-name: sm-plain-win32-opt
+ treeherder:
+ platform: windows2012-32/opt
+ symbol: SM(p)
+ tier: 2
+ run:
+ spidermonkey-variant: plain
+ spidermonkey-platform: win32
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+
+sm-compacting-win64/debug:
+ description: "Spidermonkey Compacting win64 debug"
+ index:
+ job-name: sm-compacting-win64-debug
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: SM(cgc)
+ run:
+ spidermonkey-variant: compacting
+ spidermonkey-platform: win64
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+
+sm-compacting-win32/debug:
+ description: "Spidermonkey Compacting win32 debug"
+ index:
+ job-name: sm-compacting-win32-debug
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: SM(cgc)
+ tier: 2
+ run:
+ spidermonkey-variant: compacting
+ spidermonkey-platform: win32
+ run-on-projects: []
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
diff --git a/taskcluster/ci/static-analysis-autotest/kind.yml b/taskcluster/ci/static-analysis-autotest/kind.yml
new file mode 100644
index 0000000000..52c78390c9
--- /dev/null
+++ b/taskcluster/ci/static-analysis-autotest/kind.yml
@@ -0,0 +1,102 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ index:
+ product: firefox
+ worker:
+ skip-artifacts: true
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest
+ run-on-projects: ['mozilla-central']
+ run:
+ using: mozharness
+ actions: [static-analysis-autotest]
+ script: mozharness/scripts/fx_desktop_build.py
+ treeherder:
+ symbol: Sa
+ kind: build
+ tier: 1
+
+jobs:
+ linux64-st-autotest/debug:
+ description: "Linux64 Debug Static Analysis Autotest"
+ index:
+ job-name: linux64-st-autotest-debug
+ treeherder:
+ platform: linux64/debug
+ worker-type: t-linux-large
+ worker:
+ docker-image: {in-tree: static-analysis-build}
+ env:
+ # clang-tidy needs a recent libstdc++, which can be found in the clang
+ # toolchain.
+ LD_LIBRARY_PATH: /builds/worker/checkouts/gecko/clang/lib
+ PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_sub_linux_configs/64_stat_and_debug.py
+ tooltool-downloads: public
+ keep-artifacts: false
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-infer
+ - linux64-rust
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+
+ win64-st-autotest/debug:
+ description: "Win64 Debug Static Analysis Autotest"
+ index:
+ job-name: win64-st-autotest-debug
+ treeherder:
+ platform: windows2012-64/debug
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/debug.py
+ tooltool-downloads: internal
+ extra-config:
+ mozconfig_variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang-cl
+ - win64-rust
+ - win64-sccache
+ - win64-cbindgen
+ - win64-clang-tidy
+ - win64-nasm
+ - win64-node
+ - win64-dump-syms
+ - win64-winchecksec
diff --git a/taskcluster/ci/system-symbols-upload/kind.yml b/taskcluster/ci/system-symbols-upload/kind.yml
new file mode 100644
index 0000000000..301297f6a9
--- /dev/null
+++ b/taskcluster/ci/system-symbols-upload/kind.yml
@@ -0,0 +1,31 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.upload_symbols:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - system-symbols
+
+job-template:
+ description: Upload Symbols
+ attributes:
+ cron: true
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 900
+ env:
+ # {level} gets replaced in the upload_symbols transform
+ SYMBOL_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-upload"
+ run:
+ using: mach
+ mach: {artifact-reference: "python toolkit/crashreporter/tools/upload_symbols.py <build/public/build/target.crashreporter-symbols.zip> --ignore-missing"}
+ sparse-profile: upload-symbols
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload
diff --git a/taskcluster/ci/system-symbols/kind.yml b/taskcluster/ci/system-symbols/kind.yml
new file mode 100644
index 0000000000..a7a92bff08
--- /dev/null
+++ b/taskcluster/ci/system-symbols/kind.yml
@@ -0,0 +1,70 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ cron: true
+ # This enables uploading symbols.
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: symbols/opt
+ kind: other
+ tier: 2
+ worker-type: b-linux
+
+jobs:
+ mac:
+ description: Extract macOS system symbols found in crashreports
+ index:
+ product: system-symbols
+ job-name: mac
+ type: generic
+ worker:
+ env:
+ PROCESSED_PACKAGES_INDEX: gecko.v2.mozilla-central.latest.system-symbols.mac
+ PROCESSED_PACKAGES_PATH: public/build/processed-packages.gz
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-mac}
+ max-run-time: 28800
+ run:
+ using: run-task
+ command: >-
+ ./run.sh
+ treeherder:
+ symbol: system-symbols-mac
+ win:
+ description: Extract windows system symbols found in crashreports
+ index:
+ product: system-symbols
+ job-name: win
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-win}
+ max-run-time: 3600
+ run:
+ using: run-task
+ command: >-
+ ./run.sh
+ treeherder:
+ symbol: system-symbols-win
+ fetches:
+ toolchain:
+ - linux64-dump-syms
diff --git a/taskcluster/ci/test/awsy.yml b/taskcluster/ci/test/awsy.yml
new file mode 100644
index 0000000000..ea50703abb
--- /dev/null
+++ b/taskcluster/ci/test/awsy.yml
@@ -0,0 +1,86 @@
+# 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/.
+---
+job-defaults:
+ suite: awsy
+ max-run-time: 7200
+ instance-size: xlarge
+ virtualization:
+ by-test-platform:
+ windows10-64(?:-shippable)?-qr/.*: virtual-with-gpu
+ windows10-64/.*: virtual-with-gpu
+ default: virtual
+ allow-software-gl-layers: false
+ mozharness:
+ script: awsy_script.py
+ config:
+ by-test-platform:
+ windows.*:
+ - awsy/taskcluster_windows_config.py
+ macosx.*/opt:
+ - awsy/macosx_config.py
+ default:
+ - awsy/linux_config.py
+ tier: default
+ fission-tier:
+ by-test-platform:
+ linux1804-64(?!-shippable).*: 3
+ windows10-64(-qr)?/opt: 3
+ default: 2
+ run-on-projects:
+ by-test-platform:
+ .*-devedition/.*: [] # don't run on devedition
+ windows7-32.*/opt: []
+ (linux|windows10|mac)(?!.*shippable).*/opt: []
+ default: ['integration', 'mozilla-central', 'mozilla-beta', 'mozilla-release']
+ test-manifest-loader: null # don't load tests in the taskgraph
+ fission-run-on-projects:
+ by-test-platform:
+ linux1804-64-shippable-qr/opt: ['mozilla-central']
+ windows10-64-shippable-qr/opt: ['mozilla-central']
+ default: []
+
+
+awsy:
+ description: "Are we slim yet"
+ treeherder-symbol: SY(sy)
+
+awsy-tp6:
+ description: "Are we slim yet - tp6 pageset"
+ variants: ["fission"]
+ treeherder-symbol: SY(sy-tp6)
+ run-on-projects:
+ by-test-platform:
+ .*-ccov.*/.*: [] # don't run on coverage
+ .*-devedition/.*: [] # don't run on devedition
+ windows7-32.*/opt: []
+ (linux|windows10|mac)(?!.*shippable)(?!.*ccov).*/opt: []
+ default: ['integration', 'mozilla-central', 'mozilla-beta', 'mozilla-release']
+ mozharness:
+ extra-options:
+ - --tp6
+
+awsy-dmd:
+ description: "Are we slim yet - dmd enabled"
+ treeherder-symbol: SY(sy-d)
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --dmd
+
+awsy-base:
+ description: "Are we slim yet - about:blank base case"
+ treeherder-symbol: SY(ab)
+ mozharness:
+ extra-options:
+ - --base
+
+awsy-base-dmd:
+ description: "Are we slim yet - about:blank base case - dmd enabled"
+ treeherder-symbol: SY(ab-d)
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --base
+ - --dmd
diff --git a/taskcluster/ci/test/browsertime-desktop.yml b/taskcluster/ci/test/browsertime-desktop.yml
new file mode 100644
index 0000000000..1111f85168
--- /dev/null
+++ b/taskcluster/ci/test/browsertime-desktop.yml
@@ -0,0 +1,151 @@
+# 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/.
+---
+job-defaults:
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2400
+ .*-ref-hw-2017/.*: 3600
+ default: 1800
+ suite: raptor
+ run-on-projects:
+ by-test-platform:
+ linux.*shippable[^-qr].*: ['mozilla-central']
+ default: []
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 3
+ fission-tier: 3
+ virtualization:
+ by-test-platform:
+ windows10-64-ccov.*/.*: virtual
+ default: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.py
+ windows10-64-ccov.*/.*:
+ - raptor/windows_vm_config.py
+ linux64-ccov.*/.*:
+ - raptor/linux64_config_taskcluster.py
+ default:
+ - raptor/linux_config.py
+ extra-options:
+ - --browsertime
+ - --no-conditioned-profile
+ fission-run-on-projects: []
+
+browsertime-tp6:
+ description: "Raptor (browsertime) tp6 page-load tests"
+ raptor-test: tp6
+ raptor-subtests:
+ - amazon
+ - apple
+ - [bing-search, bing]
+ - ebay
+ - [facebook, fb]
+ - [facebook-redesign, fbr]
+ - fandom
+ - [google-docs, gdocs]
+ - [google-mail, gmail]
+ - [google-search, gsearch]
+ - [google-sheets, gsheets]
+ - [google-slides, gslides]
+ - imdb
+ - imgur
+ - instagram
+ - linkedin
+ - microsoft
+ - netflix
+ - office
+ - outlook
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ - twitter
+ - wikipedia
+ - yahoo-mail
+ - yahoo-news
+ - yandex
+ - youtube
+ tier:
+ by-app:
+ firefox:
+ by-subtest:
+ amazon: 1
+ google-mail: 1
+ google-slides: 1
+ imgur: 1
+ tumblr: 1
+ twitch: 1
+ twitter: 1
+ default: 2
+ default: 3
+ apps: ['firefox', 'chrome', 'chromium']
+ variants:
+ by-app:
+ firefox: ['fission']
+ default: []
+ pageload: cold
+ fission-tier: 2
+ fission-run-on-projects: ["mozilla-central"]
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ linux.*shippable.*: ["trunk", "mozilla-beta"]
+ macos.*shippable.*: ["trunk", "mozilla-beta"]
+ default: []
+ default: []
+ limit-platforms:
+ by-app:
+ chrome:
+ - linux.*shippable[^-qr].*
+ - macosx1014-64-shippable-qr/opt
+ chromium:
+ # Run on non-QR shippable, but test-platforms.yml doesn't have
+ # any more non-QR macosx shippable things. So for macosx we want
+ # to run it on shippable-qr, otherwise there's nothing running
+ # this on macosx at all.
+ - .*shippable[^-qr].*
+ - macosx1014-64-shippable-qr/opt
+ default: []
+ treeherder-symbol: Btime(tp6)
+ max-run-time: 4000
+ run-visual-metrics: true
+ mozharness:
+ extra-options:
+ - --chimera
+
+browsertime-speedometer:
+ description: "Raptor (browsertime) Speedometer on Firefox"
+ raptor-test: speedometer
+ variants: ["fission"]
+ apps: ["firefox"]
+ treeherder-symbol: Btime(sp)
+
+browsertime-ares6:
+ description: "Raptor (browsertime) ares6 on Firefox"
+ raptor-test: raptor-ares6
+ variants: ["fission"]
+ apps: ["firefox"]
+ treeherder-symbol: Btime(ares6)
+
+browsertime-tp6-profiling:
+ description: "Raptor (browsertime) tp6 page-load tests with Gecko Profiling"
+ raptor-test: tp6
+ raptor-subtests: ['amazon']
+ apps: ['firefox']
+ pageload: 'both'
+ treeherder-symbol: Btime-Prof(tp6)
+ max-run-time: 4000
+ mozharness:
+ extra-options:
+ - --gecko-profile
diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/ci/test/browsertime-mobile.yml
new file mode 100644
index 0000000000..3a1440d810
--- /dev/null
+++ b/taskcluster/ci/test/browsertime-mobile.yml
@@ -0,0 +1,426 @@
+# 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/.
+---
+job-defaults:
+ max-run-time: 3600
+ suite: raptor
+ run-on-projects:
+ by-app:
+ refbrow: []
+ fennec: []
+ default:
+ by-test-platform:
+ android-hw-p2-.*aarch64.*/pgo: ["mozilla-central"]
+ android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central"]
+ default: []
+ webrender-run-on-projects: []
+ tier: 3
+ test-manifest-loader: null # don't load tests in the taskgraph
+ target:
+ by-app:
+ fenix:
+ by-test-platform:
+ android-hw.*-aarch64.*/.*:
+ index: mobile.v2.fenix.nightly.latest.arm64-v8a
+ name: build/arm64-v8a/target.apk
+ default:
+ index: mobile.v2.fenix.nightly.latest.armeabi-v7a
+ name: build/armeabi-v7a/target.apk
+ fennec:
+ by-test-platform:
+ android-hw-p2-8-0-android-aarch64.*:
+ index: gecko.v2.mozilla-esr68.signed-nightly.nightly.latest.mobile.android-aarch64-release-opt
+ name: build/target.apk
+ default:
+ index: gecko.v2.mozilla-esr68.signed-nightly.nightly.latest.mobile.android-api-16-release-opt
+ name: build/target.apk
+ refbrow:
+ by-test-platform:
+ android-hw.*-aarch64.*/.*:
+ index: mobile.v2.reference-browser.raptor.latest.arm64-v8a
+ name: target.arm64-v8a.apk
+ default:
+ index: mobile.v2.reference-browser.raptor.latest.armeabi-v7a
+ name: target.armeabi-v7a.apk
+ default: geckoview_example.apk
+ e10s: true
+ virtualization: hardware
+ activity:
+ by-app:
+ fenix: org.mozilla.fenix.IntentReceiverActivity
+ geckoview: org.mozilla.geckoview_example.GeckoViewActivity
+ fennec: org.mozilla.gecko.BrowserApp
+ refbrow: org.mozilla.reference.browser.BrowserTestActivity
+ default: None
+ binary-path:
+ by-app:
+ fenix: org.mozilla.fenix
+ geckoview: org.mozilla.geckoview_example
+ fennec: org.mozilla.firefox
+ refbrow: org.mozilla.reference.browser.raptor
+ default: None
+ mozharness:
+ script: raptor_script.py
+ config:
+ - raptor/android_hw_config.py
+ extra-options:
+ - --browsertime
+ # Bug 1635749, disable window recorder temporarily
+ - --browsertime-no-ffwindowrecorder
+ - --no-conditioned-profile
+ optimization:
+ skip-unless-backstop: null
+ variants:
+ by-app:
+ chrome-m: []
+ fennec: []
+ default: ["webrender"]
+
+browsertime-tp6m:
+ description: "Raptor (browsertime) tp6 page-load tests on android"
+ raptor-test: tp6m
+ raptor-subtests:
+ by-app:
+ chrome-m:
+ - amazon
+ - youtube
+ default:
+ - allrecipes
+ - amazon
+ - [amazon-search, amazon-s]
+ - bbc
+ - bing
+ - [bing-search-restaurants, bing-s-r]
+ - booking
+ - cnn
+ - [cnn-ampstories, cnn-amp]
+ - [ebay-kleinanzeigen, ebay-k]
+ - [ebay-kleinanzeigen-search, ebay-k-s]
+ - espn
+ - facebook
+ - [facebook-cristiano, fb-cris]
+ - google
+ - [google-maps, gmaps]
+ - [google-search-restaurants, gsearch-r]
+ - instagram
+ - imdb
+ - jianshu
+ - [microsoft-support, micros-sup]
+ - reddit
+ - [stackoverflow, stacko]
+ - web-de
+ - wikipedia
+ - youtube
+ - [youtube-watch, youtube-w]
+ apps: ["geckoview", "fenix", "fennec", "chrome-m", "refbrow"]
+ tier:
+ by-raptor-test:
+ amazon:
+ by-app:
+ fenix: 1
+ geckoview: 1
+ refbrow: 2
+ fennec: 2
+ default: 3
+ default:
+ by-app:
+ geckoview: 1
+ refbrow: 2
+ fennec: 2
+ default: 3
+ webrender-run-on-projects:
+ by-raptor-test:
+ amazon:
+ by-app:
+ fenix: []
+ chrome-m: []
+ fennec: []
+ geckoview:
+ by-pageload:
+ cold:
+ by-test-platform:
+ &android-cold-settings
+ android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta']
+ android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta']
+ default: []
+ warm:
+ by-test-platform:
+ &android-warm-settings
+ android-hw-g5-7-0-arm7-api-16-shippable/opt: ['mozilla-central']
+ android-hw-p2-8-0-android-aarch64-shippable/opt: ['mozilla-central']
+ default: []
+ default:
+ by-test-platform:
+ android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central"]
+ default: []
+ youtube:
+ by-app:
+ fenix: []
+ chrome-m: []
+ refbrow: []
+ fennec: []
+ geckoview:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ default:
+ by-test-platform:
+ android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central", "try"]
+ default: []
+ default:
+ by-pageload:
+ cold:
+ by-app:
+ geckoview:
+ by-test-platform: *android-cold-settings
+ default: []
+ warm:
+ by-app:
+ geckoview:
+ by-test-platform: *android-warm-settings
+ default: []
+ run-on-projects:
+ by-app:
+ geckoview:
+ by-subtest:
+ allrecipes:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ amazon-search:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ espn:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ facebook:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ google:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ microsoft-support:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ youtube-watch:
+ by-pageload:
+ cold:
+ by-test-platform: *android-cold-settings
+ warm:
+ by-test-platform: *android-warm-settings
+ default: []
+ default: []
+ pageload: cold
+ run-visual-metrics: true
+ treeherder-symbol: Btime(tp6m)
+ mozharness:
+ extra-options:
+ - --chimera
+
+browsertime-youtube-playback-mobile:
+ description: "Browsertime YouTube Playback on Android"
+ treeherder-symbol: Btime(ytp)
+ raptor-subtests:
+ by-test-platform:
+ android-hw-g5.*:
+ - [youtube-playback-h264-sfr, ytp-h264-sfr]
+ - [youtube-playback-hfr, ytp-hfr]
+ - [youtube-playback-widevine-h264-sfr, ytp-widevine-h264-sfr]
+ - [youtube-playback-widevine-hfr, ytp-widevine-hfr]
+ android-hw-p2.*:
+ - [youtube-playback-h264-sfr, ytp-h264-sfr]
+ - [youtube-playback-hfr, ytp-hfr]
+ - [youtube-playback-vp9-sfr, ytp-vp9-sfr]
+ - [youtube-playback-widevine-h264-sfr, ytp-widevine-h264-sfr]
+ - [youtube-playback-widevine-hfr, ytp-widevine-hfr]
+ - [youtube-playback-widevine-vp9-sfr, ytp-widevine-vp9-sfr]
+ apps: ["fenix", "geckoview", "refbrow"]
+ webrender-run-on-projects:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-g5-7-0-arm7-api-16-shippable/opt: ["mozilla-central"]
+ android-hw-p2-8-0-android-aarch64-shippable/opt: ["mozilla-central"]
+ default: []
+ default: []
+ test-url-param:
+ by-subtest:
+ youtube-playback-h264-sfr: # remove high resolution tests
+ "exclude=1,2,
+ 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38"
+ youtube-playback-hfr:
+ by-test-platform:
+ android-hw-g5.*: # remove VP9(1-34) and AV1(51-74) tests
+ "exclude=1,2,
+ 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,
+ 51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74"
+ android-hw-p2.*: # remove AV1(51-74) tests
+ "exclude=1,2,
+ 51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74"
+ default: ""
+ youtube-playback-widevine-hfr:
+ by-test-platform:
+ android-hw-g5.*: # remove VP9(1-34) tests
+ "exclude=1,2,
+ 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34"
+ default: ""
+ default: ""
+ max-run-time: 3600
+
+browsertime-tp6m-live:
+ description: "Raptor (browsertime) tp6 live site page-load tests on android"
+ raptor-test: tp6m
+ raptor-subtests:
+ by-app:
+ geckoview:
+ - [cnn-ampstories, cnn-amp]
+ default:
+ - allrecipes
+ - amazon
+ - [amazon-search, amazon-s]
+ - bbc
+ - bing
+ - [bing-search-restaurants, bing-s-r]
+ - booking
+ - booking-sf
+ - cnn
+ - [cnn-ampstories, cnn-amp]
+ - discord
+ - [ebay-kleinanzeigen, ebay-k]
+ - [ebay-kleinanzeigen-search, ebay-k-s]
+ - espn
+ - expedia
+ - facebook
+ - [facebook-cristiano, fb-cris]
+ - [fashionbeans, fashbea]
+ - google
+ - [google-accounts, gacc]
+ - [google-maps, gmaps]
+ - [google-search-restaurants, gsearch-r]
+ - instagram
+ - imdb
+ - [imdb-firefox, imdb-f]
+ - jianshu
+ - [medium-article, medium]
+ - [microsoft-support, micros-sup]
+ - nytimes
+ - [people-article, people]
+ - reddit
+ - [reddit-thread, reddit-thr]
+ - rumble-fox
+ - [stackoverflow, stacko]
+ - [stackoverflow-question, stack-q]
+ - [urbandictionary-define, urbict-def]
+ - web-de
+ - [wikia-marvel, wikia-m]
+ - wikipedia
+ - youtube
+ - [youtube-watch, youtube-w]
+ apps: ["fenix", "chrome-m", "geckoview"]
+ run-on-projects: []
+ webrender-run-on-projects:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-g5-7-0-arm7-api-16-shippable/opt: ["autoland"]
+ android-hw-p2-8-0-android-aarch64-shippable/opt: ["autoland"]
+ default: []
+ default: []
+ pageload: cold
+ run-visual-metrics: true
+ treeherder-symbol: Btime-live(tp6m)
+ mozharness:
+ extra-options:
+ - --live-sites
+ - --chimera
+
+browsertime-tp6m-profiling:
+ description: "Raptor (browsertime) tp6 page-load tests on android with Gecko profiling"
+ raptor-test: tp6m
+ raptor-subtests: ["amazon", "youtube"]
+ apps: ["geckoview"]
+ pageload: cold
+ treeherder-symbol: Btime-Prof(tp6m)
+ mozharness:
+ script: raptor_script.py
+ config:
+ - raptor/android_hw_config.py
+ extra-options:
+ - --browsertime
+ - --gecko-profile
+
+browsertime-speedometer-mobile:
+ description: "Browsertime Speedometer on Android"
+ apps: ["geckoview", "fenix", "fennec", "chrome-m"]
+ tier:
+ by-app:
+ fenix: 1
+ default: 3
+ webrender-run-on-projects:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta']
+ android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta']
+ default: []
+ default: []
+ treeherder-symbol: Btime(sp)
+ mozharness:
+ extra-options:
+ - --browsertime
+ - --test=speedometer
+
+browsertime-unity-webgl-mobile:
+ description: "Browsertime Unity WebGL on Android"
+ apps: ["geckoview", "refbrow", "fenix", "chrome-m"]
+ treeherder-symbol: Btime(ugl)
+ webrender-run-on-projects:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta']
+ android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta']
+ default: []
+ default: []
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=unity-webgl
+ fetches:
+ fetch:
+ - unity-webgl
+
+browsertime-power:
+ description: "Browsertime Power Usage Tests on Android"
+ apps: ["geckoview", "fenix", "refbrow"]
+ tier: 2
+ raptor-subtests:
+ - idle
+ - idle-bg
+ - [speedometer, sp]
+ variants: ["webrender"]
+ run-on-projects: []
+ treeherder-symbol: Btime-P(power)
+ mozharness:
+ extra-options:
+ - --power-test
diff --git a/taskcluster/ci/test/compiled.yml b/taskcluster/ci/test/compiled.yml
new file mode 100644
index 0000000000..aa4e803747
--- /dev/null
+++ b/taskcluster/ci/test/compiled.yml
@@ -0,0 +1,105 @@
+# 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/.
+---
+job-defaults:
+ e10s: false
+ test-manifest-loader: null # don't load tests in the taskgraph
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ android-hw.*: android_hardware_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ android-hw.*:
+ - android/android_common.py
+ - android/android_hw.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+ python-3: true
+
+cppunit:
+ description: "CPP Unit Tests"
+ suite: cppunittest
+ treeherder-symbol: cppunit
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-androidTest.apk
+ default: null
+ tier: default
+ run-on-projects: built-projects
+
+gtest:
+ description: "GTests run"
+ suite: gtest
+ treeherder-symbol: GTest
+ instance-size: xlarge
+ run-on-projects:
+ by-test-platform:
+ windows.*-shippable/.*: [] # permafails on shippable
+ windows.*-nightly/.*: [] # permafails on nightly too
+ .*-devedition/.*: [] # don't run on devedition
+ default: built-projects
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-androidTest.apk
+ default: null
+ tier:
+ by-test-platform:
+ windows7-32-shippable.*: 3
+ windows10-64-shippable.*: 3
+ windows10-64-asan.*: 3
+ linux.*64-ccov.*/opt: 3
+ default: default
+
+jittest:
+ description: "JIT Test run"
+ suite: jittest
+ treeherder-symbol: Jit
+ run-on-projects:
+ by-test-platform:
+ android-hw-.*-aarch64/debug: ['mozilla-central', 'release']
+ android-hw-.*-api-16(?:-shippable)?/.*: ['mozilla-central', 'release']
+ default: built-projects
+ chunks:
+ by-test-platform:
+ windows.*: 1
+ windows10-64-ccov-qr/opt: 8
+ macosx.*/opt: 1
+ macosx.*/debug: 3
+ android.*: 10
+ default: 6
+ max-run-time:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 7200
+ macosx.*-ccov.*/.*: 7200
+ android-hw.*: 5400
+ default: 3600
+ mozharness:
+ chunked:
+ by-test-platform:
+ windows.*: false
+ macosx.*: false
+ default: true
+ target:
+ by-test-platform:
+ android-.*: geckoview-androidTest.apk
+ default: null
+ tier:
+ by-test-platform:
+ android-hw.*: 2
+ default: default
diff --git a/taskcluster/ci/test/firefox-ui.yml b/taskcluster/ci/test/firefox-ui.yml
new file mode 100644
index 0000000000..4d911fa0a2
--- /dev/null
+++ b/taskcluster/ci/test/firefox-ui.yml
@@ -0,0 +1,38 @@
+# 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/.
+---
+job-defaults:
+ suite:
+ category: firefox-ui
+ max-run-time: 5400
+ test-manifest-loader: null # don't load tests in the taskgraph
+ mozharness:
+ script: firefox_ui_tests/functional.py
+ config:
+ by-test-platform:
+ windows.*:
+ - firefox_ui_tests/taskcluster_windows.py
+ macosx.*:
+ - firefox_ui_tests/taskcluster.py
+ - firefox_ui_tests/taskcluster_mac.py
+ linux.*:
+ - firefox_ui_tests/taskcluster.py
+ - remove_executables.py
+
+firefox-ui-functional-local:
+ description: "Firefox-ui-tests functional run"
+ treeherder-symbol: Fxfn-l(en-US)
+ mozharness:
+ extra-options:
+ - "--tag"
+ - "local"
+
+firefox-ui-functional-remote:
+ description: "Firefox-ui-tests functional run"
+ treeherder-symbol: Fxfn-r(en-US)
+ mozharness:
+ extra-options:
+ - "--tag"
+ - "remote"
+ tier: 2
diff --git a/taskcluster/ci/test/kind.yml b/taskcluster/ci/test/kind.yml
new file mode 100644
index 0000000000..507baf080f
--- /dev/null
+++ b/taskcluster/ci/test/kind.yml
@@ -0,0 +1,72 @@
+# 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/.
+---
+loader: taskgraph.loader.test:loader
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.tests:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+# Each stanza in a file pointed to by 'jobs-from' describes a particular test
+# suite or sub-suite. These are processed through the transformations described
+# above to produce a bunch of tasks. See the schema in
+# `taskcluster/taskgraph/transforms/tests.py` for a description of the fields
+# used in these files.
+
+# Adding a new test type or running tests on a new platform? Be sure to review
+# https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy
+
+jobs-from:
+ - awsy.yml
+ - browsertime-desktop.yml
+ - browsertime-mobile.yml
+ - compiled.yml
+ - firefox-ui.yml
+ - marionette.yml
+ - misc.yml
+ - mochitest.yml
+ - raptor.yml
+ - raptor-chrome.yml
+ - raptor-chromium.yml
+ - raptor-gve.yml
+ - raptor-refbrow.yml
+ - reftest.yml
+ - talos.yml
+ - web-platform.yml
+ - xpcshell.yml
+
+job-defaults:
+ attributes:
+ retrigger: true
+ require-signed-extensions:
+ by-release-type:
+ release|esr.*: true
+ beta:
+ by-test-platform:
+ .*-devedition/.*: false
+ default: true
+ default: false
+ fetches:
+ toolchain:
+ by-test-platform:
+ win.*:
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ macosx.*:
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ android-em-7.*:
+ - android-emulator-linux
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
diff --git a/taskcluster/ci/test/marionette.yml b/taskcluster/ci/test/marionette.yml
new file mode 100644
index 0000000000..65fcbcc0df
--- /dev/null
+++ b/taskcluster/ci/test/marionette.yml
@@ -0,0 +1,69 @@
+# 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/.
+---
+job-defaults:
+ suite: marionette
+ mozharness:
+ script: marionette.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - marionette/prod_config.py
+ - marionette/mac_taskcluster_config.py
+ windows.*:
+ - marionette/windows_taskcluster_config.py
+ default:
+ - marionette/prod_config.py
+ - remove_executables.py
+ extra-options:
+ - --setpref=toolkit.asyncshutdown.log=true
+
+ run-on-projects: built-projects
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: default
+ fission-run-on-projects:
+ by-test-platform:
+ linux.*64/.*: ['autoland']
+ linux.*64-shippable/.*: ['mozilla-central']
+ windows10-64/.*: ['autoland']
+ windows10-64-shippable/.*: ['mozilla-central']
+ default: []
+ fission-tier: 2
+ variants: ["fission"]
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
+
+marionette:
+ description: "Marionette unittest run"
+ treeherder-symbol: Mn
+ max-run-time: 5400
+ instance-size: default
+ chunks: 1
+
+marionette-framescript:
+ description: "Marionette unittest run with its JSWindowActors disabled"
+ treeherder-symbol: MnFr
+ max-run-time: 5400
+ instance-size: default
+ tier: 2
+ run-on-projects:
+ # Platforms for which we release geckodriver
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: built-projects
+ default: []
+ mozharness:
+ extra-options:
+ - --disable-actors
+
+marionette-headless:
+ description: "Marionette headless unittest run"
+ treeherder-symbol: MnH
+ max-run-time: 5400
+ instance-size: default
+ tier: 2
+ mozharness:
+ extra-options:
+ - --headless
diff --git a/taskcluster/ci/test/misc.yml b/taskcluster/ci/test/misc.yml
new file mode 100644
index 0000000000..8c11fbe247
--- /dev/null
+++ b/taskcluster/ci/test/misc.yml
@@ -0,0 +1,254 @@
+# 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/.
+---
+job-defaults:
+ test-manifest-loader: null # don't load tests in the taskgraph
+
+geckoview-junit:
+ description: "Geckoview junit run"
+ suite: geckoview-junit
+ variants: ["geckoview-e10s-single", "geckoview-fission"]
+ treeherder-symbol: gv-junit
+ loopback-video: true
+ e10s: true
+ target: geckoview-androidTest.apk
+ max-run-time: 3600
+ tier: default
+ fission-run-on-projects: ['trunk']
+ mozharness:
+ script: android_emulator_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ extra-options:
+ - --test-suite=geckoview-junit
+
+telemetry-tests-client:
+ description: "Telemetry tests client run"
+ suite: telemetry-tests-client
+ treeherder-symbol: tt(c)
+ max-run-time: 1200
+ tier: default
+ mozharness:
+ script: telemetry/telemetry_client.py
+ config:
+ by-test-platform:
+ linux.*:
+ - remove_executables.py
+ windows.*: []
+ macosx.*: []
+
+test-verify:
+ description: "Extra verification of tests modified on this push"
+ suite: test-verify
+ treeherder-symbol: TV
+ loopback-video: true
+ max-run-time: 10800
+ allow-software-gl-layers: false
+ run-on-projects:
+ by-test-platform:
+ # do not run on ccov or asan
+ .*-ccov.*/.*: []
+ .*-asan/.*: []
+ .*shippable.*: []
+ # do not run on mozilla-central, beta or release: usually just confirms earlier results
+ default: ['integration']
+ built-projects-only: true
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-androidTest.apk
+ default: null
+ optimization:
+ test-verify: ["test-verify"]
+ tier: 2
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+ extra-options:
+ - --verify
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*:
+ - linux64-node
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-node
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*aarch64.*:
+ - win32-node
+ - win32-minidump-stackwalk
+ win.*-64.*:
+ - win64-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*32.*:
+ - win32-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ android-em-7.*:
+ - android-sdk-linux
+ - linux64-node
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+
+test-verify-gpu:
+ description: "Extra verification of tests modified on this push on gpu instances"
+ suite:
+ category: test-verify
+ name: test-verify-gpu
+ treeherder-symbol: TVg
+ loopback-video: true
+ virtualization: virtual-with-gpu
+ max-run-time: 10800
+ allow-software-gl-layers: false
+ run-on-projects:
+ by-test-platform:
+ # do not run on ccov or asan
+ .*-ccov.*/.*: []
+ .*-asan/.*: []
+ .*shippable.*: []
+ # do not run on mozilla-central, beta or release: usually just confirms earlier results
+ default: ['integration']
+ built-projects-only: true
+ optimization:
+ test-verify: ["test-verify-gpu"]
+ tier: 2
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+ extra-options:
+ - --verify
+ - --gpu-required
+
+test-coverage:
+ description: "Per-test coverage"
+ suite: test-coverage
+ treeherder-symbol: TC
+ loopback-video: true
+ instance-size: default
+ max-run-time: 10800
+ allow-software-gl-layers: false
+ run-on-projects:
+ by-test-platform:
+ .*-ccov.*/.*: built-projects
+ default: []
+ tier: 2
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+ extra-options:
+ - --per-test-coverage
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*:
+ - linux64-node
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-node
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*aarch64.*:
+ - win32-node
+ - win32-minidump-stackwalk
+ win.*-64.*:
+ - win64-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*32.*:
+ - win32-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ android-em-7.*:
+ - android-sdk-linux
+ - linux64-node
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+
+test-coverage-gpu:
+ description: "Per-test coverage for tests that require gpu instances"
+ suite: test-coverage
+ treeherder-symbol: TCg
+ loopback-video: true
+ virtualization: virtual-with-gpu
+ instance-size: default
+ max-run-time: 10800
+ allow-software-gl-layers: false
+ run-on-projects:
+ by-test-platform:
+ # only run on mozilla-central and try.
+ .*-ccov.*/.*: ['mozilla-central']
+ default: []
+ tier:
+ by-test-platform:
+ windows10-64-asan.*: 3
+ default: 2
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+ extra-options:
+ - --per-test-coverage
+ - --gpu-required
diff --git a/taskcluster/ci/test/mochitest.yml b/taskcluster/ci/test/mochitest.yml
new file mode 100644
index 0000000000..7906d8b626
--- /dev/null
+++ b/taskcluster/ci/test/mochitest.yml
@@ -0,0 +1,607 @@
+# 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/.
+---
+job-defaults:
+ suite:
+ category: mochitest
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-androidTest.apk
+ android-hw.*: geckoview-androidTest.apk
+ default: null
+ variants:
+ by-test-platform:
+ linux.*64/debug: ['fission']
+ default: ['fission']
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ default: built-projects
+ fission-run-on-projects:
+ by-test-platform:
+ linux.*64-qr/debug: ['trunk']
+ linux.*64-shippable-qr/opt: ['mozilla-central']
+ linux.*64-shippable/.*: ['mozilla-central']
+ linux.*64/debug: ['mozilla-central']
+ windows10-64-shippable(-qr)?/opt: ['mozilla-central']
+ default: []
+ fission-tier:
+ by-test-platform:
+ linux.*64.*-qr/debug: 1
+ default: 2
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ android-hw.*: android_hardware_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ android-hw.*:
+ - android/android_common.py
+ - android/android_hw.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+
+mochitest-plain:
+ description: "Mochitest plain run"
+ treeherder-symbol: M()
+ schedules-component: mochitest-plain
+ loopback-video: true
+ tier: default
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
+ variants:
+ by-test-platform:
+ linux1804-64/opt: ['fission-xorigin']
+ linux1804-64/debug: ['fission-xorigin']
+ default: ['fission']
+ chunks:
+ by-test-platform:
+ android-em-7.*: 4
+ linux.*/debug: 16
+ linux.*64-asan/opt: 10
+ linux.*64-tsan/opt: 20
+ linux.*64-.*cov/opt: 10
+ windows10-64-ccov.*/.*: 10
+ macosx.*64-ccov.*/.*: 10
+ default: 5
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+ e10s: true
+ max-run-time: 5400
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ extra-options:
+ by-test-platform:
+ android-em.*:
+ - --test-suite=mochitest-plain
+ default: []
+ chunked:
+ by-test-platform:
+ android-em.*: false
+ default: true
+
+mochitest-a11y:
+ description: "Mochitest a11y run"
+ treeherder-symbol: M(a11y)
+ schedules-component: mochitest-a11y
+ test-manifest-loader: default # ensure we don't run with manifest-scheduling
+ loopback-video: true
+ tier: default
+ e10s: false
+ run-on-projects: built-projects
+ mozharness:
+ mochitest-flavor: a11y
+
+mochitest-browser-chrome:
+ description: "Mochitest browser-chrome run"
+ suite:
+ name: mochitest-browser-chrome
+ treeherder-symbol: M(bc)
+ schedules-component: mochitest-browser-chrome
+ loopback-video: true
+ variants:
+ by-test-platform:
+ linux.*64(-shippable)?/opt: ['fission', 'a11y-checks']
+ default: ['fission']
+ fission-run-on-projects:
+ by-test-platform:
+ linux.*64(-qr)?/debug: ['trunk']
+ linux.*64-shippable(-qr)?/opt: ['mozilla-central']
+ windows10-64-shippable(-qr)?/opt: ['mozilla-central']
+ default: []
+ tier: default
+ fission-tier:
+ by-test-platform:
+ linux.*64/debug: 1
+ default: 2
+ chunks:
+ by-test-platform:
+ linux.*/debug: 16
+ linux.*64-asan/opt: 16
+ linux.*64-tsan/opt: 32
+ macosx.*64/debug: 16
+ windows10-64-ccov.*/.*: 14
+ windows10.*-asan/opt: 9
+ default: 7
+ max-run-time:
+ by-test-platform:
+ linux.*64-ccov.*/.*: 9000
+ windows7-32/debug: 5400
+ windows10-64/debug: 5400
+ macosx.*64(-qr)?/debug: 5400
+ windows10-64-ccov.*/.*: 10800
+ macosx.*64-ccov.*/.*: 10800
+ linux.*/debug: 5400
+ windows10-64-qr/debug: 5400
+ linux.*64-tsan/opt: 9000
+ default: 3600
+ mozharness:
+ mochitest-flavor: browser
+ chunked: true
+ # Bug 1281241: migrating to m3.large instances
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+ allow-software-gl-layers: false
+
+browser-screenshots:
+ description: "Browser Screenshots"
+ suite:
+ name: mochitest-browser-chrome-screenshots
+ treeherder-symbol: M(ss)
+ loopback-video: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ run-on-projects:
+ by-test-platform:
+ windows7-32(?:-shippable)(?:-qr)?/opt: ['mozilla-central']
+ windows10-64(?:-shippable)(?:-qr)?/opt: ['mozilla-central']
+ (?:windows10-64|windows7-32|linux1804-64|macosx1014-64)(?:-qr)?/opt: ['integration']
+ linux1804-64-(?:shippable)(?:-qr)?/opt: ['mozilla-central']
+ macosx.*64-shippable/opt: ['mozilla-central']
+ default: []
+ fission-run-on-projects: []
+ fission-tier: 2
+ max-run-time: 3600
+ mozharness:
+ mochitest-flavor: browser
+ allow-software-gl-layers: false
+
+mochitest-chrome:
+ description: "Mochitest chrome run"
+ treeherder-symbol: M(c)
+ schedules-component: mochitest-chrome
+ loopback-video: true
+ tier: default
+ chunks:
+ by-test-platform:
+ .*(-ccov|-qr).*/.*: 3
+ windows10-64-ccov-qr/opt: 3
+ .*-asan/opt: 3
+ .*-tsan/opt: 6
+ (linux.*64|windows.*-..|macosx10..)/debug: 3
+ default: 2
+ max-run-time: 3600
+ e10s: false
+ mozharness:
+ mochitest-flavor: chrome
+ chunked: true
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+
+mochitest-devtools-chrome:
+ description: "Mochitest devtools-chrome run"
+ suite:
+ name: mochitest-devtools-chrome
+ schedules-component: mochitest-browser-chrome
+ treeherder-symbol: M(dt)
+ loopback-video: true
+ variants:
+ by-test-platform:
+ linux.*64(-shippable)?/opt: ['fission', 'a11y-checks']
+ default: ['fission']
+ fission-run-on-projects:
+ by-test-platform:
+ linux.*64(-qr)?/debug: ['trunk']
+ linux.*64-shippable(-qr)?/opt: ['trunk']
+ windows10-64-shippable(-qr)?/opt: ['trunk']
+ default: []
+ tier: default
+ fission-tier:
+ by-test-platform:
+ linux.*64(-qr)?/debug: 1
+ linux.*64-shippable(-qr)?/opt: 1
+ windows10-64-shippable(-qr)?/opt: 1
+ default: 2
+ max-run-time:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 10800
+ macosx.*64-ccov.*/.*: 9000
+ linux.*64-ccov.*/.*: 7200
+ linux.*64-tsan/opt: 7200
+ default: 5400
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 16
+ linux.*64/debug: 12
+ macosx.*64/debug: 8
+ .*-asan/opt: 8
+ .*-tsan/opt: 16
+ default: 5
+ mozharness:
+ mochitest-flavor: chrome
+ chunked: true
+ instance-size:
+ by-test-platform:
+ linux.*64-[at]san/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+ # Bug 1296086: high number of intermittents observed with software GL and large instances
+ allow-software-gl-layers: false
+
+mochitest-plain-gpu:
+ description: "Mochitest plain GPU run"
+ suite:
+ name: mochitest-plain-gpu
+ treeherder-symbol: M(gpu)
+ schedules-component: mochitest-plain
+ loopback-video: true
+ fission-run-on-projects: []
+ fission-tier: 2
+ tier: default
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual-with-gpu
+ e10s: true
+ mozharness:
+ mochitest-flavor: plain
+ extra-options:
+ by-test-platform:
+ android.*:
+ # note that Android runs fewer suites than other platforms
+ - --test-suite=mochitest-plain-gpu
+ default:
+ - --mochitest-suite=mochitest-plain-gpu
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+
+mochitest-chrome-gpu:
+ description: "Mochitest chrome GPU run"
+ suite:
+ name: mochitest-chrome-gpu
+ treeherder-symbol: M(gpu-c)
+ loopback-video: true
+ fission-run-on-projects: []
+ fission-tier: 2
+ tier: default
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual-with-gpu
+ e10s: true
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ android.*/.*: []
+ default: built-projects
+ mozharness:
+ mochitest-flavor: chrome
+ extra-options:
+ by-test-platform:
+ android.*:
+ # note that Android runs fewer suites than other platforms
+ - --test-suite=mochitest-chrome-gpu
+ default:
+ - --mochitest-suite=mochitest-chrome-gpu
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+
+mochitest-media:
+ description: "Mochitest media run"
+ treeherder-symbol: M(mda)
+ schedules-component: mochitest-plain
+ max-run-time:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 7200
+ macosx.*64-ccov.*/.*: 7200
+ linux.*64-tsan/opt: 7200
+ default: 5400
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['autoland']
+ android-hw-.*-api-16(-qr)?/(?:debug)?: ['trunk', 'mozilla-beta', 'mozilla-release']
+ android-hw-.*-api-16-shippable(-qr)?/opt: ['trunk', 'mozilla-beta', 'mozilla-release']
+ windows10-aarch64/.*: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ default: built-projects
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: ['socketprocess']
+ default: ['fission', 'socketprocess', 'webgl-ipc']
+ loopback-video: true
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan/opt: xlarge # runs out of memory on default/m3.large
+ default: large
+ chunks:
+ by-test-platform:
+ android-em-7.*: 1
+ windows10-64.*: 1
+ macosx.*64.*/.*: 2
+ windows10-aarch64/.*: 1
+ windows7-32-shippable/.*: 2
+ linux1804-64(-shippable|-devedition|-.*qr)/opt: 2
+ linux.*64-tsan/opt: 4
+ default: 3
+ mozharness:
+ mochitest-flavor: plain
+ chunked:
+ by-test-platform:
+ android.*: false
+ macosx.*64.*: false
+ windows10-64.*: false
+ default: true
+ extra-options:
+ - --setpref=webgl.out-of-process=false
+ tier:
+ by-test-platform:
+ android-em.*: 1
+ windows10-aarch64.*: 2
+ android-hw.*: 1
+ default: default
+
+mochitest-plain-headless:
+ description: "Mochitest plain headless run"
+ suite:
+ name: mochitest-plain
+ treeherder-symbol: M(h)
+ loopback-video: true
+ chunks:
+ by-test-platform:
+ linux.*/debug: 16
+ default: 5
+ e10s: true
+ max-run-time: 5400
+ allow-software-gl-layers: false
+ tier: 2
+ run-on-projects: ['mozilla-central']
+ mozharness:
+ mochitest-flavor: plain
+ chunked: true
+ extra-options:
+ - --headless
+
+mochitest-valgrind:
+ description: "Mochitest plain Valgrind run"
+ suite:
+ name: mochitest-valgrind-plain
+ treeherder-symbol: M-V()
+ run-on-projects: []
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 3
+ loopback-video: true
+ chunks: 40
+ max-run-time: 14400
+ # We could re-enable e10s later.
+ # There's no intrinsic reason not to use it.
+ e10s: false
+ variants: []
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ chunked: true
+
+mochitest-webgl1-core:
+ description: "Mochitest webgl1-core run"
+ treeherder-symbol: M(gl1c)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ default: ['webgl-ipc']
+ e10s: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ tier: default
+ max-run-time:
+ by-test-platform:
+ macosx.*64-ccov.*/.*: 7200
+ default: 1800
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ android-hw.*aarch.*-shippable/opt: ['mozilla-central']
+ default: built-projects
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ extra-options:
+ - --setpref=webgl.out-of-process=false
+
+mochitest-webgl1-ext:
+ description: "Mochitest webgl1-ext run"
+ treeherder-symbol: M(gl1e)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ default: ['webgl-ipc']
+ chunks:
+ by-test-platform:
+ android.*: 2
+ default: 1
+ e10s: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ tier: default
+ max-run-time: 2700
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ android-hw.*aarch.*-shippable/opt: ['mozilla-central']
+ default: built-projects
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ chunked: true
+ extra-options:
+ - --setpref=webgl.out-of-process=false
+
+mochitest-webgl2-core:
+ description: "Mochitest webgl2-core run"
+ treeherder-symbol: M(gl2c)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ default: ['webgl-ipc']
+ chunks:
+ by-test-platform:
+ android.*: 2
+ default: 1
+ e10s: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ tier: default
+ max-run-time: 1800
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ android-hw.*aarch.*-shippable/opt: ['mozilla-central']
+ default: built-projects
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ chunked: true
+
+mochitest-webgl2-ext:
+ description: "Mochitest webgl2-ext run"
+ treeherder-symbol: M(gl2e)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ default: ['webgl-ipc']
+ chunks: 4
+ e10s: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ tier: default
+ max-run-time: 2700
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ chunked: true
+ extra-options:
+ - --setpref=webgl.out-of-process=false
+
+mochitest-webgl2-deqp:
+ description: "Mochitest webgl2-deqp run"
+ treeherder-symbol: M(gl2d)
+ schedules-component: mochitest-plain
+ run-on-projects: [] # Don't run this for now.
+ virtualization: virtual-with-gpu
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ default: ['webgl-ipc']
+ chunks: 4
+ e10s: true
+ loopback-video: true
+ tier: default
+ max-run-time: 1800
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+ chunked: true
+ extra-options:
+ - --setpref=webgl.out-of-process=false
+
+mochitest-webgpu:
+ description: "Mochitest webgpu run"
+ treeherder-symbol: M(webgpu)
+ schedules-component: mochitest-plain
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual-with-gpu
+ e10s: true
+ loopback-video: true
+ run-on-projects:
+ by-test-platform:
+ .*mingw.*: ["release"]
+ .*shippable.*: ["mozilla-central"]
+ (!-shippable).*-qr.*: ["trunk"]
+ default: []
+ tier: default
+ max-run-time:
+ by-test-platform:
+ macosx.*64-ccov.*/.*: 7200
+ default: 1800
+ # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+ allow-software-gl-layers: false
+ mozharness:
+ mochitest-flavor: plain
+
+mochitest-remote:
+ description: "Mochitest for the remote agent (/remote folder)"
+ suite:
+ name: mochitest-remote
+ treeherder-symbol: M(remote)
+ loopback-video: true
+ run-on-projects:
+ by-test-platform:
+ .*shippable.*: ["mozilla-central"]
+ (linux1804-64|windows7-32|windows10-64|macosx1014-64)(?:-qr)?/opt: ['integration']
+ default: ["trunk"]
+ fission-run-on-projects: []
+ fission-tier: 2
+ max-run-time: 5400
+ mozharness:
+ mochitest-flavor: browser
+ extra-options:
+ - --setpref=remote.log.level=Trace
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
diff --git a/taskcluster/ci/test/raptor-chrome.yml b/taskcluster/ci/test/raptor-chrome.yml
new file mode 100644
index 0000000000..cb2503842a
--- /dev/null
+++ b/taskcluster/ci/test/raptor-chrome.yml
@@ -0,0 +1,247 @@
+# 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/.
+---
+job-defaults:
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2400
+ .*-ux/.*: 2400
+ default: 1800
+ suite: raptor
+ run-on-projects: []
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 2
+ virtualization:
+ by-test-platform:
+ windows10-64-ccov.*/.*: virtual
+ default: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.py
+ windows10-64-ccov.*/.*:
+ - raptor/windows_vm_config.py
+ linux64-ccov.*/.*:
+ - raptor/linux64_config_taskcluster.py
+ default:
+ - raptor/linux_config.py
+
+raptor-speedometer-chrome:
+ description: "Raptor Speedometer on Chrome"
+ try-name: raptor-speedometer-chrome
+ treeherder-symbol: Rap-ChR(sp)
+ mozharness:
+ extra-options:
+ - --test=raptor-speedometer
+ - --app=chrome
+
+raptor-stylebench-chrome:
+ description: "Raptor StyleBench on Chrome"
+ try-name: raptor-stylebench-chrome
+ treeherder-symbol: Rap-ChR(sb)
+ mozharness:
+ extra-options:
+ - --test=raptor-stylebench
+ - --app=chrome
+
+raptor-motionmark-htmlsuite-chrome:
+ description: "Raptor MotionMark HtmlSuite on Chrome"
+ try-name: raptor-motionmark-htmlsuite-chrome
+ treeherder-symbol: Rap-ChR(mm-h)
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-htmlsuite
+ - --app=chrome
+
+raptor-motionmark-animometer-chrome:
+ description: "Raptor MotionMark Animometer on Chrome"
+ try-name: raptor-motionmark-animometer-chrome
+ treeherder-symbol: Rap-ChR(mm-a)
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-animometer
+ - --app=chrome
+
+raptor-webaudio-chrome:
+ description: "Raptor WebAudio on Chrome"
+ try-name: raptor-webaudio-chrome
+ treeherder-symbol: Rap-ChR(wa)
+ mozharness:
+ extra-options:
+ - --test=raptor-webaudio
+ - --app=chrome
+
+raptor-sunspider-chrome:
+ description: "Raptor SunSpider on Chrome"
+ try-name: raptor-sunspider-chrome
+ treeherder-symbol: Rap-ChR(ss)
+ mozharness:
+ extra-options:
+ - --test=raptor-sunspider
+ - --app=chrome
+
+raptor-unity-webgl-chrome:
+ description: "Raptor Unity WebGL on Chrome"
+ try-name: raptor-unity-webgl-chrome
+ treeherder-symbol: Rap-ChR(ugl)
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-unity-webgl
+ - --app=chrome
+ fetches:
+ fetch:
+ - unity-webgl
+
+raptor-wasm-misc-chrome:
+ description: "Raptor WASM Misc on Chrome"
+ try-name: raptor-wasm-misc-chrome
+ treeherder-symbol: Rap-ChR(wm)
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc
+ - --app=chrome
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-assorted-dom-chrome:
+ description: "Raptor Assorted-Dom on Chrome"
+ try-name: raptor-assorted-dom-chrome
+ treeherder-symbol: Rap-ChR(dom)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-assorted-dom
+ - --app=chrome
+ fetches:
+ fetch:
+ - assorted-dom
+
+raptor-wasm-godot-chrome:
+ description: "Raptor Wasm Godot on Chrome"
+ try-name: raptor-wasm-godot-chrome
+ treeherder-symbol: Rap-ChR(godot)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot
+ - --app=chrome
+
+raptor-ares6-chrome:
+ description: "Raptor Ares6 on Chrome"
+ try-name: raptor-ares6-chrome
+ treeherder-symbol: Rap-ChR(ares6)
+ max-run-time: 2500
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-ares6
+ - --app=chrome
+
+raptor-jetstream2-chrome:
+ description: "Raptor Jetstream2 on Chrome"
+ try-name: raptor-jetstream2-chrome
+ treeherder-symbol: Rap-ChR(js2)
+ max-run-time: 8000
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-jetstream2
+ - --app=chrome
+ fetches:
+ fetch:
+ - jetstream2
+
+raptor-youtube-playback-av1-sfr-chrome:
+ description: "Raptor YouTube Playback AV1 SFR on Chrome"
+ try-name: raptor-youtube-playback-av1-sfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-av1-sfr)
+ max-run-time: 3600
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-av1-sfr
+ - --app=chrome
+
+raptor-youtube-playback-h264-sfr-chrome:
+ description: "Raptor YouTube Playback H264 SFR on Chrome"
+ try-name: raptor-youtube-playback-h264-sfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-h264-sfr)
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-h264-sfr
+ - --app=chrome
+
+raptor-youtube-playback-hfr-chrome:
+ description: "Raptor YouTube Playback HFR on Chrome"
+ try-name: raptor-youtube-playback-hfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-hfr)
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-hfr
+ - --app=chrome
+
+raptor-youtube-playback-vp9-sfr-chrome:
+ description: "Raptor YouTube Playback VP9 SFR on Chrome"
+ try-name: raptor-youtube-playback-vp9-sfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-vp9-sfr)
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-vp9-sfr
+ - --app=chrome
+
+raptor-youtube-playback-widevine-hfr-chrome:
+ description: "Raptor YouTube Playback Widevine HFR on Chrome"
+ try-name: raptor-youtube-playback-widevine-hfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-widevine-hfr)
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-widevine-hfr
+ - --app=chrome
+
+raptor-youtube-playback-widevine-h264-sfr-chrome:
+ description: "Raptor YouTube Playback Widevine H264 SFR on Chrome"
+ try-name: raptor-youtube-playback-widevine-h264-sfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-widevine-h264-sfr)
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-widevine-h264-sfr
+ - --app=chrome
+
+raptor-youtube-playback-widevine-vp9-sfr-chrome:
+ description: "Raptor YouTube Playback Widevine VP9 SFR on Chrome"
+ try-name: raptor-youtube-playback-widevine-vp9-sfr-chrome
+ treeherder-symbol: Rap-ChR(ytp-widevine-vp9-sfr)
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-widevine-vp9-sfr
+ - --app=chrome
diff --git a/taskcluster/ci/test/raptor-chromium.yml b/taskcluster/ci/test/raptor-chromium.yml
new file mode 100644
index 0000000000..4fd37aab93
--- /dev/null
+++ b/taskcluster/ci/test/raptor-chromium.yml
@@ -0,0 +1,219 @@
+# 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/.
+---
+job-defaults:
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2400
+ .*-ux/.*: 2400
+ default: 1800
+ suite: raptor
+ run-on-projects: []
+ tier: 2
+ virtualization:
+ by-test-platform:
+ windows10-64-ccov.*/.*: virtual
+ default: hardware
+ test-manifest-loader: null # don't load tests in the taskgraph
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.py
+ windows10-64-ccov.*/.*:
+ - raptor/windows_vm_config.py
+ linux64-ccov.*/.*:
+ - raptor/linux64_config_taskcluster.py
+ default:
+ - raptor/linux_config.py
+ fetches:
+ fetch:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ win.*32.*:
+ - win32-chromium
+ macosx.*:
+ - mac-chromium
+ default:
+ - linux64-chromium
+
+raptor-speedometer-chromium:
+ description: "Raptor Speedometer on Chromium"
+ try-name: raptor-speedometer-chromium
+ treeherder-symbol: Rap-Cr(sp)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-speedometer
+ - --app=chromium
+
+raptor-stylebench-chromium:
+ description: "Raptor StyleBench on Chromium"
+ try-name: raptor-stylebench-chromium
+ treeherder-symbol: Rap-Cr(sb)
+ mozharness:
+ extra-options:
+ - --test=raptor-stylebench
+ - --app=chromium
+
+raptor-motionmark-htmlsuite-chromium:
+ description: "Raptor MotionMark HtmlSuite on Chromium"
+ try-name: raptor-motionmark-htmlsuite-chromium
+ treeherder-symbol: Rap-Cr(mm-h)
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-htmlsuite
+ - --app=chromium
+
+raptor-motionmark-animometer-chromium:
+ description: "Raptor MotionMark Animometer on Chromium"
+ try-name: raptor-motionmark-animometer-chromium
+ treeherder-symbol: Rap-Cr(mm-a)
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-animometer
+ - --app=chromium
+
+raptor-webaudio-chromium:
+ description: "Raptor WebAudio on Chromium"
+ try-name: raptor-webaudio-chromium
+ treeherder-symbol: Rap-Cr(wa)
+ mozharness:
+ extra-options:
+ - --test=raptor-webaudio
+ - --app=chromium
+
+raptor-sunspider-chromium:
+ description: "Raptor SunSpider on Chromium"
+ try-name: raptor-sunspider-chromium
+ treeherder-symbol: Rap-Cr(ss)
+ mozharness:
+ extra-options:
+ - --test=raptor-sunspider
+ - --app=chromium
+
+raptor-unity-webgl-chromium:
+ description: "Raptor Unity WebGL on Chromium"
+ try-name: raptor-unity-webgl-chromium
+ treeherder-symbol: Rap-Cr(ugl)
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-unity-webgl
+ - --app=chromium
+ fetches:
+ fetch:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ - unity-webgl
+ win.*32.*:
+ - win32-chromium
+ - unity-webgl
+ macosx.*:
+ - mac-chromium
+ - unity-webgl
+ default:
+ - linux64-chromium
+ - unity-webgl
+
+raptor-wasm-misc-chromium:
+ description: "Raptor WASM Misc on Chromium"
+ try-name: raptor-wasm-misc-chromium
+ treeherder-symbol: Rap-Cr(wm)
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc
+ - --app=chromium
+ fetches:
+ fetch:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ - wasm-misc
+ win.*32.*:
+ - win32-chromium
+ - wasm-misc
+ macosx.*:
+ - mac-chromium
+ - wasm-misc
+ default:
+ - linux64-chromium
+ - wasm-misc
+
+raptor-assorted-dom-chromium:
+ description: "Raptor Assorted-Dom on Chromium"
+ try-name: raptor-assorted-dom-chromium
+ treeherder-symbol: Rap-Cr(dom)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-assorted-dom
+ - --app=chromium
+ fetches:
+ fetch:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ - assorted-dom
+ win.*32.*:
+ - win32-chromium
+ - assorted-dom
+ macosx.*:
+ - mac-chromium
+ - assorted-dom
+ default:
+ - linux64-chromium
+ - assorted-dom
+
+raptor-wasm-godot-chromium:
+ description: "Raptor Wasm Godot on Chromium"
+ try-name: raptor-wasm-godot-chromium
+ treeherder-symbol: Rap-Cr(godot)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot
+ - --app=chromium
+
+raptor-ares6-chromium:
+ description: "Raptor Ares6 on Chromium"
+ try-name: raptor-ares6-chromium
+ treeherder-symbol: Rap-Cr(ares6)
+ max-run-time: 2500
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-ares6
+ - --app=chromium
+
+raptor-jetstream2-chromium:
+ description: "Raptor Jetstream2 on Chromium"
+ try-name: raptor-jetstream2-chromium
+ treeherder-symbol: Rap-Cr(js2)
+ tier: 3
+ max-run-time: 8000
+ mozharness:
+ extra-options:
+ - --test=raptor-jetstream2
+ - --app=chromium
+ fetches:
+ fetch:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ - jetstream2
+ win.*32.*:
+ - win32-chromium
+ - jetstream2
+ macosx.*:
+ - mac-chromium
+ - jetstream2
+ default:
+ - linux64-chromium
+ - jetstream2
diff --git a/taskcluster/ci/test/raptor-gve.yml b/taskcluster/ci/test/raptor-gve.yml
new file mode 100644
index 0000000000..76cfaf8c66
--- /dev/null
+++ b/taskcluster/ci/test/raptor-gve.yml
@@ -0,0 +1,120 @@
+# 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/.
+---
+job-defaults:
+ max-run-time: 1800
+ suite: raptor
+ webrender-run-on-projects: []
+ variants: ["webrender"]
+ run-on-projects:
+ by-test-platform:
+ android-hw-p2-.*-api-16/(?!opt).*: []
+ android-hw-p2-.*-api-16-shippable/opt: []
+ android-hw(?!-p2).*(?<!-api-16-shippable)/opt.*: []
+ default: ['mozilla-central']
+ target: geckoview_example.apk
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 1
+ virtualization: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ - raptor/android_hw_config.py
+ extra-options:
+ - --no-conditioned-profile
+ optimization:
+ skip-unless-backstop: null
+
+raptor-speedometer-geckoview-cpu-memory:
+ description: "Raptor Speedometer cpu/memory on GeckoView"
+ try-name: raptor-speedometer-geckoview-cpu-memory
+ treeherder-symbol: Rap(sp-cm)
+ target: geckoview_example.apk
+ run-on-projects: []
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --test=raptor-speedometer
+ - --app=geckoview
+ - --binary=org.mozilla.geckoview_example
+ - --cpu-test
+ - --memory-test
+ - --page-cycles 5
+ - --activity=org.mozilla.geckoview_example.GeckoViewActivity
+
+raptor-speedometer-geckoview-cpu-memory-power:
+ description: "Raptor Speedometer cpu/memory/power on GeckoView"
+ try-name: raptor-speedometer-geckoview-cpu-memory-power
+ treeherder-symbol: Rap(sp-cmp)
+ target: geckoview_example.apk
+ run-on-projects: []
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --test=raptor-speedometer
+ - --app=geckoview
+ - --binary=org.mozilla.geckoview_example
+ - --cpu-test
+ - --memory-test
+ - --power-test
+ - --page-cycles 5
+ - --activity=org.mozilla.geckoview_example.GeckoViewActivity
+
+raptor-scn-cpu-memory-idle-geckoview:
+ description: "Raptor idle-browser cpu/memory on GeckoView"
+ try-name: raptor-scn-cpu-memory-idle-geckoview
+ treeherder-symbol: Rap(idl-cm)
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle
+ - --app=geckoview
+ - --binary=org.mozilla.geckoview_example
+ - --cpu-test
+ - --memory-test
+ - --activity=org.mozilla.geckoview_example.GeckoViewActivity
+
+raptor-scn-cpu-memory-power-idle-geckoview:
+ description: "Raptor idle-browser cpu/memory/power on GeckoView"
+ try-name: raptor-scn-cpu-memory-power-idle-geckoview
+ treeherder-symbol: Rap(idl-cmp)
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle
+ - --app=geckoview
+ - --binary=org.mozilla.geckoview_example
+ - --cpu-test
+ - --memory-test
+ - --power-test
+ - --activity=org.mozilla.geckoview_example.GeckoViewActivity
+
+raptor-scn-cpu-memory-idle-bg-geckoview:
+ description: "Raptor idle-browser (backgrounded) cpu/memory on GeckoView"
+ try-name: raptor-scn-cpu-memory-idle-bg-geckoview
+ treeherder-symbol: Rap(idlbg-cm)
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle-bg
+ - --app=geckoview
+ - --binary=org.mozilla.geckoview_example
+ - --cpu-test
+ - --memory-test
+ - --activity=org.mozilla.geckoview_example.GeckoViewActivity
+
+raptor-scn-cpu-memory-power-idle-bg-geckoview:
+ description: "Raptor idle-browser (backgrounded) cpu/memory/power on GeckoView"
+ try-name: raptor-scn-cpu-memory-power-idle-bg-geckoview
+ treeherder-symbol: Rap(idlbg-cmp)
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle-bg
+ - --app=geckoview
+ - --binary=org.mozilla.geckoview_example
+ - --cpu-test
+ - --memory-test
+ - --power-test
+ - --activity=org.mozilla.geckoview_example.GeckoViewActivity
diff --git a/taskcluster/ci/test/raptor-refbrow.yml b/taskcluster/ci/test/raptor-refbrow.yml
new file mode 100644
index 0000000000..fa8edd1a8d
--- /dev/null
+++ b/taskcluster/ci/test/raptor-refbrow.yml
@@ -0,0 +1,86 @@
+# 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/.
+---
+job-defaults:
+ max-run-time: 1800
+ suite: raptor
+ webrender-run-on-projects: []
+ variants: ["webrender"]
+ run-on-projects: []
+ tier: 2
+ test-manifest-loader: null # don't load tests in the taskgraph
+ target:
+ by-test-platform:
+ android-hw.*-aarch64.*/.*:
+ index: mobile.v2.reference-browser.raptor.latest.arm64-v8a
+ name: target.arm64-v8a.apk
+ default:
+ index: mobile.v2.reference-browser.raptor.latest.armeabi-v7a
+ name: target.armeabi-v7a.apk
+ virtualization: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ - raptor/android_hw_config.py
+
+raptor-scn-cpu-memory-idle-refbrow:
+ description: "Raptor idle-browser cpu/memory on Reference Browser"
+ try-name: raptor-scn-cpu-memory-idle-refbrow
+ treeherder-symbol: Rap-refbrow(idl-cm)
+ tier: 3
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle
+ - --app=refbrow
+ - --binary-path=org.mozilla.reference.browser.raptor
+ - --cpu-test
+ - --memory-test
+ - --activity=org.mozilla.reference.browser.BrowserTestActivity
+
+raptor-scn-cpu-memory-power-idle-refbrow:
+ description: "Raptor idle-browser cpu/memory/power on Reference Browser"
+ try-name: raptor-scn-cpu-memory-power-idle-refbrow
+ treeherder-symbol: Rap-refbrow(idl-cmp)
+ tier: 3
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle
+ - --app=refbrow
+ - --binary-path=org.mozilla.reference.browser.raptor
+ - --cpu-test
+ - --memory-test
+ - --power-test
+ - --activity=org.mozilla.reference.browser.BrowserTestActivity
+
+raptor-scn-cpu-memory-idle-bg-refbrow:
+ description: "Raptor idle-browser (backgrounded) cpu/memory on Reference Browser"
+ try-name: raptor-scn-cpu-memory-idle-bg-refbrow
+ treeherder-symbol: Rap-refbrow(idlbg-cm)
+ tier: 3
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle-bg
+ - --app=refbrow
+ - --binary-path=org.mozilla.reference.browser.raptor
+ - --cpu-test
+ - --memory-test
+ - --activity=org.mozilla.reference.browser.BrowserTestActivity
+
+raptor-scn-cpu-memory-power-idle-bg-refbrow:
+ description: "Raptor idle-browser (backgrounded) cpu/memory/power on Reference Browser"
+ try-name: raptor-scn-cpu-memory-power-idle-bg-refbrow
+ treeherder-symbol: Rap-refbrow(idlbg-cmp)
+ tier: 3
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --test=raptor-scn-power-idle-bg
+ - --app=refbrow
+ - --binary-path=org.mozilla.reference.browser.raptor
+ - --cpu-test
+ - --memory-test
+ - --power-test
+ - --activity=org.mozilla.reference.browser.BrowserTestActivity
diff --git a/taskcluster/ci/test/raptor.yml b/taskcluster/ci/test/raptor.yml
new file mode 100644
index 0000000000..fc57f43a14
--- /dev/null
+++ b/taskcluster/ci/test/raptor.yml
@@ -0,0 +1,784 @@
+# 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/.
+---
+job-defaults:
+ max-run-time:
+ by-app:
+ firefox:
+ by-test-platform:
+ .*-qr/.*: 2400
+ .*-ref-hw-2017/.*: 3600
+ default: 1800
+ default:
+ by-test-platform:
+ .*-qr/.*: 2400
+ .*-ux/.*: 2400
+ default: 1800
+ suite: raptor
+ test-manifest-loader: null # don't load tests in the taskgraph
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-name:
+ raptor-tp6-firefox:
+ by-pageload:
+ warm:
+ by-test-platform:
+ windows7-32.*/opt: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ linux.*shippable.*: []
+ macos.*shippable.*: []
+ default: ["mozilla-central"]
+ cold:
+ by-test-platform:
+ windows7-32.*/opt: []
+ macosx.*64(?:-qr)?/opt: ["mozilla-central"]
+ (linux|windows10|macos)(?!.*shippable).*: []
+ linux.*shippable.*: []
+ macos.*shippable.*: []
+ default: ["trunk", "mozilla-beta"]
+ default:
+ by-test-platform:
+ windows7-32.*/opt: []
+ macosx.*64(?:-qr)?/opt: ["mozilla-central"]
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ["trunk", "mozilla-beta"]
+ chrome: []
+ chromium: []
+ default: # tests that dont have "apps: []"
+ by-test-name:
+ raptor-.*-profiling.*:
+ by-test-platform:
+ windows7-32.*/opt: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ["mozilla-central"]
+ default:
+ by-test-platform:
+ windows7-32.*/opt: []
+ macosx.*64(?:-qr)?/opt: ["mozilla-central"]
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ["trunk", "mozilla-beta"]
+ limit-platforms:
+ by-app:
+ chrome:
+ - linux64-shippable/opt
+ - windows7-32-shippable/opt
+ - windows10-64-shippable/opt
+ - macosx1014-64-shippable/opt
+ chromium:
+ - linux64-shippable/opt
+ - windows7-32-shippable/opt
+ - windows10-64-shippable/opt
+ - macosx1014-64-shippable/opt
+ default:
+ - .*
+ tier:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows10-64-ref-hw-2017/opt: 2
+ windows10-64-ccov.*/.*: 3
+ linux64-ccov.*/.*: 3
+ default: 2
+ default: 2
+ fission-tier: 2
+ virtualization:
+ by-test-platform:
+ windows10-64-ccov.*/.*: virtual
+ default: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.py
+ windows10-64-ccov.*/.*:
+ - raptor/windows_vm_config.py
+ linux64-ccov.*/.*:
+ - raptor/linux64_config_taskcluster.py
+ default:
+ - raptor/linux_config.py
+ extra-options:
+ # Bug 1626522: Temporarily enable extension logging for
+ # an easier investigation of intermittents on mobile devices
+ - --setpref=extensions.logging.enabled=true
+ # Bug 1663449: Disable conditioned profiles for raptor tests because of test failures
+ - --no-conditioned-profile
+ fission-run-on-projects:
+ by-app:
+ chrome: []
+ chromium: []
+ default:
+ by-test-platform:
+ linux64-shippable-qr/opt: ["mozilla-central"]
+ windows10-64-shippable-qr/opt: ["mozilla-central"]
+ default: []
+ fetches:
+ fetch:
+ by-app:
+ chromium:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ win.*32.*:
+ - win32-chromium
+ macosx.*:
+ - mac-chromium
+ default:
+ - linux64-chromium
+ default: []
+
+raptor-tp6:
+ description: "Raptor (webextension) tp6"
+ apps: ["firefox", "chrome", "chromium"]
+ variants:
+ # Used for defining webrender and fission build variant tests,
+ by-app:
+ firefox:
+ by-subtest:
+ yahoo-mail: []
+ wikipedia: []
+ default: ["fission"]
+ chrome: []
+ chromium: []
+ default: []
+ pageload:
+ by-app:
+ firefox: "both"
+ chrome: "both"
+ chromium: "both"
+ default: "cold"
+ limit-platforms:
+ by-app:
+ chrome:
+ # Run on non-QR shippable, but test-platforms.yml doesn't have
+ # any more non-QR macosx shippable things. So for macosx we want
+ # to run it on shippable-qr, otherwise there's nothing running
+ # this on macosx at all.
+ - .*shippable[^-qr].*
+ - macosx1014-64-shippable-qr/opt
+ chromium:
+ # Ditto as for chrome
+ - .*shippable[^-qr].*
+ - macosx1014-64-shippable-qr/opt
+ default: []
+ treeherder-symbol: Rap(tp6)
+ max-run-time: 4000
+ raptor-test: tp6
+ raptor-subtests:
+ - amazon
+ - apple
+ - bing
+ - ebay
+ - [facebook, fb]
+ - [facebook-redesign, fb-r]
+ - fandom
+ - [docs, gdoc]
+ - google
+ - [google-mail, gmail]
+ - [sheets, gsheets]
+ - [slides, gslides]
+ - imdb
+ - imgur
+ - instagram
+ - linkedin
+ - microsoft
+ - netflix
+ - office
+ - outlook
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ - twitter
+ - wikipedia
+ - yahoo-mail
+ - yahoo-news
+ - yandex
+ - youtube
+ tier:
+ by-app:
+ firefox:
+ by-subtest:
+ amazon: 1
+ .*gmail.*: 1
+ .*gslides.*: 1
+ imgur: 1
+ tumblr: 1
+ twitch: 1
+ twitter: 1
+ default: 2
+ default: 2
+
+raptor-tp6-live:
+ description: "Raptor (webextension) tp6 on live-sites"
+ apps: ["firefox"]
+ variants: []
+ pageload: "both"
+ treeherder-symbol: Rap-live(tp6)
+ raptor-test: tp6
+ raptor-subtests:
+ - [cnn-ampstories, cnn-amp]
+ run-on-projects:
+ by-pageload:
+ warm:
+ by-test-platform:
+ windows7-32.*/opt: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ["mozilla-central"]
+ cold:
+ by-test-platform:
+ windows7-32.*/opt: []
+ macosx.*64(?:-qr)?/opt: ["mozilla-central"]
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ["mozilla-central", "autoland"]
+ tier: 2
+ mozharness:
+ extra-options:
+ - --no-conditioned-profile
+ - --live-sites
+
+raptor-speedometer-firefox:
+ description: "Raptor Speedometer on Firefox"
+ variants: ["fission"]
+ try-name: raptor-speedometer-firefox
+ treeherder-symbol: Rap(sp)
+ mozharness:
+ extra-options:
+ - --test=raptor-speedometer
+
+raptor-speedometer-firefox-profiling:
+ description: "Raptor Speedometer on Firefox with Gecko Profiling"
+ try-name: raptor-speedometer-firefox-profiling
+ treeherder-symbol: Rap-Prof(sp)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-speedometer
+ - --gecko-profile
+
+raptor-stylebench-firefox:
+ description: "Raptor StyleBench on Firefox"
+ variants: ["fission"]
+ try-name: raptor-stylebench-firefox
+ treeherder-symbol: Rap(sb)
+ mozharness:
+ extra-options:
+ - --test=raptor-stylebench
+
+raptor-stylebench-firefox-profiling:
+ description: "Raptor StyleBench on Firefox with Gecko Profiling"
+ try-name: raptor-stylebench-firefox-profiling
+ treeherder-symbol: Rap-Prof(sb)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-stylebench
+ - --gecko-profile
+
+raptor-motionmark-htmlsuite-firefox:
+ description: "Raptor MotionMark HtmlSuite on Firefox"
+ variants: ["fission"]
+ try-name: raptor-motionmark-htmlsuite-firefox
+ treeherder-symbol: Rap(mm-h)
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-htmlsuite
+
+raptor-motionmark-htmlsuite-firefox-profiling:
+ description: "Raptor MotionMark HtmlSuite on Firefox with Gecko Profiling"
+ try-name: raptor-motionmark-htmlsuite-firefox-profiling
+ treeherder-symbol: Rap-Prof(mm-h)
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-htmlsuite
+ - --gecko-profile
+
+raptor-motionmark-animometer-firefox:
+ description: "Raptor MotionMark Animometer on Firefox"
+ variants: ["fission"]
+ try-name: raptor-motionmark-animometer-firefox
+ treeherder-symbol: Rap(mm-a)
+ tier: 1
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-animometer
+
+raptor-motionmark-animometer-firefox-profiling:
+ description: "Raptor MotionMark Animometer on Firefox with Gecko Profiling"
+ try-name: raptor-motionmark-animometer-firefox-profiling
+ treeherder-symbol: Rap-Prof(mm-a)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-motionmark-animometer
+ - --gecko-profile
+
+raptor-webaudio-firefox:
+ description: "Raptor WebAudio on Firefox"
+ variants: ["fission"]
+ try-name: raptor-webaudio-firefox
+ treeherder-symbol: Rap(wa)
+ tier: 1
+ mozharness:
+ extra-options:
+ - --test=raptor-webaudio
+
+raptor-webaudio-firefox-profiling:
+ description: "Raptor WebAudio on Firefox with Gecko Profiling"
+ try-name: raptor-webaudio-firefox
+ treeherder-symbol: Rap-Prof(wa)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-webaudio
+ - --gecko-profile
+
+raptor-sunspider-firefox:
+ description: "Raptor SunSpider on Firefox"
+ variants: ["fission"]
+ try-name: raptor-sunspider-firefox
+ treeherder-symbol: Rap(ss)
+ mozharness:
+ extra-options:
+ - --test=raptor-sunspider
+
+raptor-sunspider-firefox-profiling:
+ description: "Raptor SunSpider on Firefox with Gecko Profiling"
+ try-name: raptor-sunspider-firefox-profiling
+ treeherder-symbol: Rap-Prof(ss)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-sunspider
+ - --gecko-profile
+
+raptor-unity-webgl-firefox:
+ description: "Raptor Unity WebGL on Firefox"
+ variants: ["fission"]
+ try-name: raptor-unity-webgl-firefox
+ treeherder-symbol: Rap(ugl)
+ run-on-projects:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ["autoland"]
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-unity-webgl
+ fetches:
+ fetch:
+ - unity-webgl
+
+raptor-unity-webgl-firefox-profiling:
+ description: "Raptor Unity WebGL on Firefox with Gecko Profiling"
+ try-name: raptor-unity-webgl-firefox-profiling
+ treeherder-symbol: Rap-Prof(ugl)
+ mozharness:
+ extra-options:
+ - --test=raptor-unity-webgl
+ - --gecko-profile
+ fetches:
+ fetch:
+ - unity-webgl
+
+raptor-wasm-misc-firefox:
+ description: "Raptor WASM Misc on Firefox"
+ variants: ["fission"]
+ try-name: raptor-wasm-misc-firefox
+ treeherder-symbol: Rap(wm)
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-wasm-misc-firefox-profiling:
+ description: "Raptor WASM Misc on Firefox with Gecko Profiling"
+ try-name: raptor-wasm-misc-firefox-profiling
+ treeherder-symbol: Rap-Prof(wm)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc
+ - --gecko-profile
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-wasm-misc-baseline-firefox:
+ description: "Raptor WASM Misc on Firefox with baseline JIT"
+ variants: ["fission"]
+ try-name: raptor-wasm-misc-baseline-firefox
+ treeherder-symbol: Rap(wm-b)
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc-baseline
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-wasm-misc-baseline-firefox-profiling:
+ description: "Raptor WASM Misc on Firefox with baseline JIT and Gecko Profiling"
+ try-name: raptor-wasm-misc-baseline-firefox-profiling
+ treeherder-symbol: Rap-Prof(wm-b)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc-baseline
+ - --gecko-profile
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-wasm-misc-optimizing-firefox:
+ description: "Raptor WASM Misc on Firefox with optimizing JIT"
+ variants: ["fission"]
+ try-name: raptor-wasm-misc-optimizing-firefox
+ treeherder-symbol: Rap(wm-i)
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc-optimizing
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-wasm-misc-optimizing-firefox-profiling:
+ description: "Raptor WASM Misc on Firefox with optimizing JIT and Gecko Profiling"
+ try-name: raptor-wasm-misc-optimizing-firefox-profiling
+ treeherder-symbol: Rap-Prof(wm-i)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-misc-optimizing
+ - --gecko-profile
+ fetches:
+ fetch:
+ - wasm-misc
+
+raptor-assorted-dom-firefox:
+ description: "Raptor Assorted-Dom on Firefox"
+ variants: ["fission"]
+ try-name: raptor-assorted-dom-firefox
+ treeherder-symbol: Rap(dom)
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2100
+ .*-ref-hw-2017/.*: 2100
+ default: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-assorted-dom
+ fetches:
+ fetch:
+ - assorted-dom
+
+raptor-assorted-dom-firefox-profiling:
+ description: "Raptor Assorted-Dom on Firefox with Gecko Profiling"
+ try-name: raptor-assorted-dom-firefox-profiling
+ treeherder-symbol: Rap-Prof(dom)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-assorted-dom
+ - --gecko-profile
+ fetches:
+ fetch:
+ - assorted-dom
+
+raptor-wasm-godot-firefox:
+ description: "Raptor Wasm Godot on Firefox"
+ variants: ["fission"]
+ try-name: raptor-wasm-godot-firefox
+ treeherder-symbol: Rap(godot)
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2100
+ .*-ref-hw-2017/.*: 2100
+ default: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot
+
+raptor-wasm-godot-firefox-profiling:
+ description: "Raptor Wasm Godot on Firefox with Gecko Profiling"
+ try-name: raptor-wasm-godot-firefox-profiling
+ treeherder-symbol: Rap-Prof(godot)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot
+ - --gecko-profile
+
+raptor-wasm-godot-baseline-firefox:
+ description: "Raptor Wasm Godot on Firefox with baseline JIT"
+ variants: ["fission"]
+ try-name: raptor-wasm-godot-baseline-firefox
+ treeherder-symbol: Rap(godot-b)
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2100
+ .*-ref-hw-2017/.*: 2100
+ default: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot-baseline
+
+raptor-wasm-godot-baseline-firefox-profiling:
+ description: "Raptor Wasm Godot on Firefox with baseline JIT and Gecko Profiling"
+ try-name: raptor-wasm-godot-baseline-firefox-profiling
+ treeherder-symbol: Rap-Prof(godot-b)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot-baseline
+ - --gecko-profile
+
+raptor-wasm-godot-optimizing-firefox:
+ description: "Raptor WASM godot on Firefox with optimizing JIT"
+ variants: ["fission"]
+ try-name: raptor-wasm-godot-optimizing-firefox
+ treeherder-symbol: Rap(godot-i)
+ max-run-time:
+ by-test-platform:
+ .*-qr/.*: 2100
+ .*-ref-hw-2017/.*: 2100
+ default: 1500
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot-optimizing
+
+raptor-wasm-godot-optimizing-firefox-profiling:
+ description: "Raptor WASM godot on Firefox with optimizing JIT and Gecko Profiling"
+ try-name: raptor-wasm-godot-optimizing-firefox-profiling
+ treeherder-symbol: Rap-Prof(godot-i)
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --test=raptor-wasm-godot-optimizing
+ - --gecko-profile
+
+raptor-youtube-playback-v9-power-firefox:
+ description: "Raptor V9 YouTube Playback on Firefox with Power Testing"
+ try-name: raptor-youtube-playback-v9-power-firefox
+ treeherder-symbol: Rap(ytp-v9-p)
+ run-on-projects:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ["mozilla-central"]
+ max-run-time: 2700
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-v9
+ - --power-test
+
+raptor-youtube-playback-h264-power-firefox:
+ description: "Raptor H264 YouTube Playback on Firefox with Power Testing"
+ try-name: raptor-youtube-playback-h264-power-firefox
+ treeherder-symbol: Rap(ytp-h264-p)
+ run-on-projects:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ["mozilla-central"]
+ max-run-time: 2700
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-h264
+ - --power-test
+
+raptor-youtube-playback-av1-sfr-firefox:
+ description: "Raptor YouTube Playback AV1 SFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-av1-sfr-firefox
+ treeherder-symbol: Rap(ytp-av1-sfr)
+ run-on-projects:
+ by-test-platform:
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ limit-platforms:
+ - windows10-64-ref-hw-2017/opt
+ - macosx1014-64-shippable-qr/opt
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-av1-sfr
+
+raptor-youtube-playback-h264-sfr-firefox:
+ description: "Raptor YouTube Playback H264 SFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-h264-sfr-firefox
+ treeherder-symbol: Rap(ytp-h264-sfr)
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-h264-sfr
+
+raptor-youtube-playback-hfr-firefox:
+ description: "Raptor YouTube Playback HFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-hfr-firefox
+ treeherder-symbol: Rap(ytp-hfr)
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time: 3600
+ tier: 2
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-hfr
+
+raptor-youtube-playback-vp9-sfr-firefox:
+ description: "Raptor YouTube Playback VP9 SFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-vp9-sfr-firefox
+ treeherder-symbol: Rap(ytp-vp9-sfr)
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ limit-platforms:
+ - android-hw-p2.*
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-vp9-sfr
+
+raptor-youtube-playback-widevine-hfr-firefox:
+ description: "Raptor YouTube Playback Widevine HFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-widevine-hfr-firefox
+ treeherder-symbol: Rap(ytp-widevine-hfr)
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-widevine-hfr
+
+raptor-youtube-playback-widevine-h264-sfr-firefox:
+ description: "Raptor YouTube Playback Widevine H264 SFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-widevine-h264-sfr-firefox
+ treeherder-symbol: Rap(ytp-widevine-h264-sfr)
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-widevine-h264-sfr
+
+raptor-youtube-playback-widevine-vp9-sfr-firefox:
+ description: "Raptor YouTube Playback Widevine VP9 SFR on Firefox"
+ variants: ["fission"]
+ try-name: raptor-youtube-playback-widevine-vp9-sfr-firefox
+ treeherder-symbol: Rap(ytp-widevine-vp9-sfr)
+ run-on-projects:
+ by-test-platform:
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time:
+ by-test-platform:
+ windows10-aarch64/opt: 3600
+ default: 2700
+ limit-platforms:
+ - android-hw-p2.*
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-widevine-vp9-sfr
+
+raptor-ares6-firefox:
+ description: "Raptor Ares6 on Firefox"
+ variants: ["fission"]
+ try-name: raptor-ares6-firefox
+ treeherder-symbol: Rap(ares6)
+ max-run-time: 2500
+ mozharness:
+ extra-options:
+ - --test=raptor-ares6
+
+raptor-ares6-firefox-profiling:
+ description: "Raptor Ares6 on Firefox with Gecko Profiling"
+ try-name: raptor-ares6-firefox-profiling
+ treeherder-symbol: Rap-Prof(ares6)
+ max-run-time: 2500
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-ares6
+ - --gecko-profile
+
+raptor-jetstream2-firefox:
+ description: "Raptor Jetstream2 on Firefox"
+ variants: ["fission"]
+ try-name: raptor-jetstream2-firefox
+ treeherder-symbol: Rap(js2)
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ tier: 3
+ max-run-time: 8000
+ mozharness:
+ extra-options:
+ - --test=raptor-jetstream2
+ fetches:
+ fetch:
+ - jetstream2
+
+raptor-jetstream2-firefox-profiling:
+ description: "Raptor Jetstream2 on Firefox with Gecko Profiling"
+ try-name: raptor-jetstream2-firefox-profiling
+ treeherder-symbol: Rap-Prof(js2)
+ max-run-time: 8000
+ tier: 3
+ mozharness:
+ extra-options:
+ - --test=raptor-jetstream2
+ - --gecko-profile
+ fetches:
+ fetch:
+ - jetstream2
diff --git a/taskcluster/ci/test/reftest.yml b/taskcluster/ci/test/reftest.yml
new file mode 100644
index 0000000000..4847147ef3
--- /dev/null
+++ b/taskcluster/ci/test/reftest.yml
@@ -0,0 +1,235 @@
+# 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/.
+---
+job-defaults:
+ suite:
+ category: reftest
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-androidTest.apk
+ android-hw-.*: geckoview-androidTest.apk
+ default: null
+ variants: ['fission']
+ fission-tier: 2
+ run-on-projects:
+ by-test-platform:
+ android-hw-.*-qr/debug: ['mozilla-central']
+ android-hw-.*-qr/opt: ['mozilla-central', 'autoland']
+ windows10-aarch64/.*: [] # Specific repos enabled below
+ default: built-projects
+ test-manifest-loader: null # don't load tests in the taskgraph
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ android-hw.*: android_hardware_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ android-hw.*:
+ - android/android_common.py
+ - android/android_hw.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+
+crashtest:
+ description: "Crashtest run"
+ schedules-component: crashtest
+ treeherder-symbol: R(C)
+ chunks:
+ by-test-platform:
+ android-em-7.*: 1
+ default: 1
+ e10s: true
+ run-on-projects:
+ by-test-platform:
+ windows10-aarch64/.*: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ default: built-projects
+ max-run-time: 3600
+ tier:
+ by-test-platform:
+ windows10-aarch64.*: 2
+ android-hw-.*-qr/.*: 2
+ default: default
+ fission-tier:
+ by-test-platform:
+ linux1804-64-qr/debug: 1
+ default: 2
+ fission-run-on-projects:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ default: []
+
+crashtest-qr:
+ description: "Crashtest Webrender run"
+ schedules-component: crashtest
+ treeherder-symbol: R(C)
+ chunks: 1
+ e10s: true
+ run-on-projects: built-projects
+ max-run-time: 1200
+ tier: 2
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
+
+jsreftest:
+ description: "JS Reftest run"
+ schedules-component: jsreftest
+ treeherder-symbol: R(J)
+ instance-size: default
+ chunks:
+ by-test-platform:
+ android-hw.*\/debug: 12
+ android-hw.*/(opt|pgo)?: 6
+ windows.*\/opt: 2
+ windows10-64-asan/opt: 3
+ windows10-64-ccov-qr/opt: 5
+ linux.*64-ccov.*/.*: 5
+ linux1804-64-qr/opt: 4
+ linux1804-64-qr/debug: 5
+ linux1804-64/debug: 5
+ macosx.*-64-ccov.*/.*: 5
+ macosx.*-64(-shippable)?/opt: 2
+ default: 3
+ max-run-time:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 7200
+ macosx.*64-ccov.*/.*: 7200
+ linux.*64-ccov.*/.*: 7200
+ default: 3600
+ tier: default
+ run-on-projects:
+ by-test-platform:
+ android-hw-.*-aarch64(?:-shippable)?/.*: ['mozilla-central', 'release']
+ android-hw-.*-api-16(?:-shippable)?/.*: ['mozilla-central', 'release']
+ default: built-projects
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
+
+reftest:
+ description: "Reftest run"
+ treeherder-symbol: R(R)
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual-with-gpu
+ variants:
+ by-test-platform:
+ linux1804-64-qr/debug: ['webrender-sw', 'fission']
+ windows10-64-qr/debug: ['webrender-sw', 'fission']
+ default: ['fission']
+ chunks:
+ by-test-platform:
+ android-em-7.*: 2
+ linux1804-64(-shippable|-devedition|-qr)?/opt: 5
+ macosx101.*-64-shippable(-qr)?/opt: 3
+ macosx101.*-64/debug: 4
+ macosx101.*-64(-ccov.*|-qr)/debug: 6
+ windows.*/opt: 2
+ windows.*/debug: 4
+ windows10-64-asan/opt: 3
+ windows10-64-ccov-qr/opt: 9
+ default: 8
+ e10s: true
+ run-on-projects:
+ by-test-platform:
+ windows10-aarch64/.*: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ default: built-projects
+ max-run-time:
+ by-test-platform:
+ windows7-32-mingwclang/debug: 5400
+ windows10-64-ccov.*/.*: 5400
+ windows10-64-asan/opt: 5400
+ macosx.*64-ccov.*/.*: 5400
+ default: 3600
+ mozharness:
+ chunked:
+ by-test-platform:
+ android-em.*: false
+ macosx.*64/opt: false
+ windows10-64.*/opt: false
+ default: true
+ tier:
+ by-test-platform:
+ windows10-aarch64.*: 2
+ android-hw-.*-qr/.*: 2
+ default: default
+ fission-tier:
+ by-test-platform:
+ linux1804-64-qr/debug: 1
+ default: 2
+ fission-run-on-projects:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ default: []
+
+reftest-qr:
+ description: "Reftest webrender run"
+ treeherder-symbol: R(R)
+ chunks: 2
+ e10s: true
+ run-on-projects: built-projects
+ max-run-time: 2400
+ mozharness:
+ chunked: true
+ tier: 2
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual
+
+
+reftest-gpu:
+ description: "Reftest GPU run"
+ treeherder-symbol: R(Rg)
+ chunks:
+ by-test-platform:
+ windows.*/opt: 2
+ default: 4
+ run-on-projects:
+ by-test-platform:
+ windows10.*: []
+ default: built-projects
+ instance-size: default
+ virtualization: virtual-with-gpu
+ max-run-time: 3600
+ mozharness:
+ chunked: true
+ tier: default
+
+reftest-no-accel:
+ description: "Reftest not accelerated run"
+ treeherder-symbol: R(Ru)
+ virtualization:
+ by-test-platform:
+ windows10-64.*: hardware
+ default: virtual-with-gpu
+ run-on-projects:
+ by-test-platform:
+ windows10.*: []
+ default: built-projects
+ chunks:
+ by-test-platform:
+ macosx.*: 1
+ windows.*: 4
+ linux1804-64(-shippable|-devedition)?/opt: 4
+ default: 8
+ mozharness:
+ chunked:
+ by-test-platform:
+ windows10-64.*/opt: false
+ macosx.*: false
+ default: true
diff --git a/taskcluster/ci/test/talos.yml b/taskcluster/ci/test/talos.yml
new file mode 100644
index 0000000000..4e758416ba
--- /dev/null
+++ b/taskcluster/ci/test/talos.yml
@@ -0,0 +1,646 @@
+# 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/.
+---
+job-defaults:
+ max-run-time: 3600
+ suite: talos
+ tier:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 3
+ linux64-ccov.*/.*: 3
+ default: default
+ variants: ['fission']
+ fission-tier: 2
+ virtualization:
+ by-test-platform:
+ windows10-64-ccov.*/.*: virtual
+ default: hardware
+ mozharness:
+ script: talos_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - talos/mac_config.py
+ windows.*:
+ - talos/windows_config.py
+ windows10-64-ccov-qr/opt:
+ - talos/windows_vm_config.py
+ linux64-ccov.*/.*:
+ - talos/linux64_config_taskcluster.py
+ default:
+ - talos/linux_config.py
+ test-manifest-loader: null # don't load tests in the taskgraph
+ run-on-projects:
+ by-test-name:
+ talos-.*-profiling:
+ by-test-platform:
+ windows7-32.*: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ .*(?:shippable-qr).*: []
+ windows10.*(?!shippable-qr)shippable.*: []
+ default: ['mozilla-central']
+ default:
+ by-test-platform:
+ windows7-32.*: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-beta', 'trunk']
+ fission-run-on-projects:
+ by-test-platform:
+ (linux64|windows10-64|macosx1014-64)-shippable-qr/opt: ['mozilla-central']
+ default: []
+
+talos-bcv:
+ description: "Talos basic compositor video"
+ try-name: bcv
+ treeherder-symbol: T(bcv)
+ variants:
+ by-test-platform:
+ (linux64|windows10|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ run-on-projects:
+ by-test-platform:
+ .(linux|windows10|macos)(?:shippable-qr|-qr)/.*:
+ by-variant:
+ webrender-sw: ['trunk']
+ default: []
+ windows7-32.*: []
+ (linux|windows10|macos)(?!.*shippable)(?!.*-qr).*: []
+ default: ['mozilla-beta', 'trunk']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=bcv
+
+talos-bcv-profiling:
+ description: "Talos basic compositor video with gecko profiling"
+ try-name: bcv-prof
+ treeherder-symbol: T-Prof(bcv)
+ tier: 2
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*: []
+ .*(?:shippable-qr|-qr)/.*: []
+ (linux|windows10|macos)(?!.*shippable)(?!.*-qr).*: []
+ windows10-64-shippable/opt: []
+ default: ['mozilla-central']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=bcv
+ - --gecko-profile
+
+talos-chrome:
+ description: "Talos chrome"
+ try-name: chromez
+ treeherder-symbol: T(c)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=chromez
+
+talos-chrome-profiling:
+ description: "Talos chrome with gecko profiling"
+ try-name: chromez-prof
+ treeherder-symbol: T-Prof(c)
+ tier: 2
+ max-run-time: 1200
+ mozharness:
+ extra-options:
+ - --suite=chromez
+ - --gecko-profile
+
+talos-damp:
+ description: "Talos devtools (damp)"
+ try-name: damp
+ treeherder-symbol: T(damp)
+ max-run-time: 5400
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ run-on-projects:
+ by-test-platform:
+ windows7-32-shippable/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-beta', 'trunk']
+ fission-run-on-projects:
+ by-test-platform:
+ (linux64|windows10-64)-shippable-qr/opt: ['mozilla-central']
+ # Bug 1657864 - Disabled on macos for high frequency intermittents
+ default: []
+
+ mozharness:
+ extra-options:
+ - --suite=damp
+
+talos-damp-profiling:
+ description: "Talos devtools (damp) with gecko profiling"
+ try-name: damp-prof
+ treeherder-symbol: T-Prof(damp)
+ tier: 2
+ max-run-time: 5400
+ run-on-projects:
+ by-test-platform:
+ windows7-32-shippable/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ mozharness:
+ extra-options:
+ - --suite=damp
+ - --gecko-profile
+
+talos-dromaeojs:
+ description: "Talos dromaeojs"
+ try-name: dromaeojs
+ treeherder-symbol: T(d)
+ max-run-time: 2100
+ mozharness:
+ extra-options:
+ - --suite=dromaeojs
+
+talos-dromaeojs-profiling:
+ description: "Talos dromaeojs with gecko profiling"
+ try-name: dromaeojs-prof
+ treeherder-symbol: T-Prof(d)
+ tier: 2
+ max-run-time: 2100
+ mozharness:
+ extra-options:
+ - --suite=dromaeojs
+ - --gecko-profile
+
+talos-flex:
+ description: "Talos XUL flexbox emulation enabled"
+ try-name: flex
+ treeherder-symbol: T(f)
+ tier: 3
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=flex
+
+talos-flex-profiling:
+ description: "Talos XUL flexbox emulation enabled with gecko profiling"
+ try-name: flex-prof
+ treeherder-symbol: T-Prof(f)
+ tier: 3
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=flex
+ - --gecko-profile
+
+talos-g1:
+ description: "Talos g1"
+ try-name: g1
+ treeherder-symbol: T(g1)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time:
+ by-test-platform:
+ linux64.*: 3600
+ default: 7200
+ mozharness:
+ extra-options:
+ - --suite=g1
+
+talos-g1-profiling:
+ description: "Talos g1 with gecko profiling"
+ try-name: g1-prof
+ treeherder-symbol: T-Prof(g1)
+ tier: 2
+ max-run-time:
+ by-test-platform:
+ linux64.*: 3600
+ default: 7200
+ mozharness:
+ extra-options:
+ - --suite=g1
+ - --gecko-profile
+
+talos-g3:
+ description: "Talos g3"
+ try-name: g3
+ treeherder-symbol: T(g3)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --suite=g3
+
+talos-g3-profiling:
+ description: "Talos g3 with gecko profiling"
+ try-name: g3-prof
+ treeherder-symbol: T-Prof(g3)
+ tier: 2
+ max-run-time: 900
+ mozharness:
+ extra-options:
+ - --suite=g3
+ - --gecko-profile
+
+talos-g4:
+ description: "Talos g4"
+ try-name: g4
+ treeherder-symbol: T(g4)
+ variants:
+ by-test-platform:
+ windows7-32.*: []
+ (linux64|windows10|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-beta', 'trunk']
+ max-run-time:
+ by-test-platform:
+ linux64.*: 1500
+ default: 1800
+ mozharness:
+ extra-options:
+ - --suite=g4
+
+talos-g4-profiling:
+ description: "Talos g4 with gecko profiling"
+ try-name: g4-prof
+ treeherder-symbol: T-Prof(g4)
+ tier: 2
+ max-run-time:
+ by-test-platform:
+ linux64.*: 1500
+ default: 1800
+ mozharness:
+ extra-options:
+ - --suite=g4
+ - --gecko-profile
+
+talos-g5:
+ description: "Talos g5"
+ try-name: g5
+ treeherder-symbol: T(g5)
+ mozharness:
+ extra-options:
+ - --suite=g5
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time:
+ by-test-platform:
+ linux64.*: 1200
+ macosx.*: 2400
+ default: 1800
+
+talos-g5-profiling:
+ description: "Talos g5 with gecko profiling"
+ try-name: g5-prof
+ treeherder-symbol: T-Prof(g5)
+ tier: 2
+ mozharness:
+ extra-options:
+ - --suite=g5
+ - --gecko-profile
+ max-run-time:
+ by-test-platform:
+ linux64.*: 1200
+ default: 1800
+
+talos-h1:
+ description: "Talos h1"
+ try-name: h1
+ treeherder-symbol: T(h1)
+ mozharness:
+ extra-options:
+ - --suite=h1
+ max-run-time:
+ by-test-platform:
+ linux64.*: 900
+ default: 1800
+
+talos-h2:
+ description: "Talos h2"
+ try-name: h2
+ treeherder-symbol: T(h2)
+ max-run-time:
+ by-test-platform:
+ linux64.*: 900
+ default: 7200
+ mozharness:
+ extra-options:
+ - --suite=h2
+
+talos-motionmark:
+ description: "Talos motionmark"
+ try-name: motionmark
+ treeherder-symbol: T(mm)
+ run-on-projects:
+ by-test-platform:
+ (linux|windows|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time: 3600
+ tier:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 3
+ linux64-ccov.*/.*: 3
+ default: 2
+ mozharness:
+ extra-options:
+ - --suite=motionmark
+
+talos-motionmark-profiling:
+ description: "Talos motionmark with gecko profiling"
+ try-name: motionmark-prof
+ treeherder-symbol: T-Prof(mm)
+ max-run-time: 3600
+ tier:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 3
+ linux64-ccov.*/.*: 3
+ default: 2
+ mozharness:
+ extra-options:
+ - --suite=motionmark
+ - --gecko-profile
+
+talos-other:
+ description: "Talos other"
+ try-name: other
+ treeherder-symbol: T(o)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=other
+
+talos-other-profiling:
+ description: "Talos other with gecko profiling"
+ try-name: other-prof
+ treeherder-symbol: T-Prof(o)
+ tier: 2
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=other
+ - --gecko-profile
+
+talos-sessionrestore-many-windows:
+ description: "Talos sessionrestore-many-windows"
+ try-name: sessionrestore-many-windows
+ treeherder-symbol: T(smw)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*/opt: []
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-central']
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=sessionrestore-many-windows
+
+talos-sessionrestore-many-windows-profiling:
+ description: "Talos sessionrestore-many-windows with gecko profiling"
+ try-name: sessionrestore-many-windows-prof
+ treeherder-symbol: T-Prof(smw)
+ tier: 2
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=sessionrestore-many-windows
+ - --gecko-profile
+
+talos-perf-reftest:
+ description: "Talos perf-reftest"
+ try-name: perf-reftest
+ treeherder-symbol: T(p)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 1200
+ mozharness:
+ extra-options:
+ - --suite=perf-reftest
+
+talos-perf-reftest-profiling:
+ description: "Talos perf-reftest with gecko profiling"
+ try-name: perf-reftest-prof
+ treeherder-symbol: T-Prof(p)
+ tier: 2
+ max-run-time: 1200
+ mozharness:
+ extra-options:
+ - --suite=perf-reftest
+ - --gecko-profile
+
+talos-perf-reftest-singletons:
+ description: "Talos perf-reftest singletons"
+ try-name: perf-reftest-singletons
+ treeherder-symbol: T(ps)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=perf-reftest-singletons
+
+talos-perf-reftest-singletons-profiling:
+ description: "Talos perf-reftest singletons with gecko profiling"
+ try-name: perf-reftest-singletons-prof
+ treeherder-symbol: T-Prof(ps)
+ tier: 2
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=perf-reftest-singletons
+ - --gecko-profile
+
+talos-svgr:
+ description: "Talos svgr"
+ try-name: svgr
+ treeherder-symbol: T(s)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=svgr
+
+talos-svgr-profiling:
+ description: "Talos svgr with gecko profiling"
+ try-name: svgr-prof
+ treeherder-symbol: T-Prof(s)
+ tier: 2
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=svgr
+ - --gecko-profile
+
+talos-tp5o:
+ description: "Talos tp5o"
+ try-name: tp5o
+ treeherder-symbol: T(tp)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=tp5o
+
+talos-tp5o-profiling:
+ description: "Talos tp5o with gecko profiling"
+ try-name: tp5o-prof
+ treeherder-symbol: T-Prof(tp)
+ tier: 2
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=tp5o
+ - --gecko-profile
+
+talos-tabswitch:
+ description: "Talos page scroll (tabswitch)"
+ try-name: tabswitch
+ treeherder-symbol: T(tabswitch)
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ max-run-time: 1200
+ mozharness:
+ extra-options:
+ - --suite=tabswitch
+
+talos-tabswitch-profiling:
+ description: "Talos page scroll (tabswitch) with gecko profiling"
+ try-name: tabswitch-prof
+ treeherder-symbol: T-Prof(tabswitch)
+ tier: 2
+ max-run-time: 1200
+ mozharness:
+ extra-options:
+ - --suite=tabswitch
+ - --gecko-profile
+
+talos-webgl:
+ description: "Talos WebGL"
+ try-name: webgl
+ treeherder-symbol: T(webgl)
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ windows7-32.*: []
+ (linux64|windows10|macos).*-qr.*: ['webgl-ipc', 'webrender-sw']
+ windows10-64-ccov-qr/opt: []
+ default: ['webgl-ipc']
+ run-on-projects:
+ by-test-platform:
+ windows7-32.*: []
+ windows10-64-ref-hw-2017/opt: ['mozilla-central']
+ (linux|windows10|macos)(?!.*shippable).*: []
+ default: ['mozilla-beta', 'trunk']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=webgl
+
+talos-webgl-profiling:
+ description: "Talos WebGL with gecko profiling"
+ try-name: webgl
+ treeherder-symbol: T-Prof(webgl)
+ tier: 2
+ run-on-projects: []
+ variants:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ android.*: []
+ windows7-32.*: []
+ default: ['webgl-ipc']
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=webgl
+ - --gecko-profile
+
+talos-xperf:
+ description: "Talos xperf"
+ try-name: xperf
+ treeherder-symbol: T(x)
+ virtualization: virtual
+ os-groups: ['Administrators']
+ run-as-administrator:
+ by-test-platform:
+ windows7-32.*: false
+ windows10-64.*: true
+ variants:
+ by-test-platform:
+ (linux64|windows|macos).*-qr.*: ['fission', 'webrender-sw']
+ default: ['fission']
+ run-on-projects:
+ by-test-platform:
+ windows7-32-shippable(?:-qr)?/.*: []
+ windows10-64-shippable(?:-qr)?/.*: ['mozilla-beta', 'trunk']
+ default: []
+ tier:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 3
+ default: default
+ mozharness:
+ extra-options:
+ - --suite=xperf
+ config:
+ by-test-platform:
+ windows.*:
+ - talos/windows_vm_config.py
+
+talos-realworld-webextensions:
+ description: "Talos tests with realworld WebExtensions"
+ try-name: "realworld-webextensions"
+ treeherder-symbol: T(realwebext)
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=realworld-webextensions
+
+talos-realworld-webextensions-profiling:
+ description: "Talos tests with realworld WebExtensions with gecko profiling"
+ try-name: "realworld-webextensions-prof"
+ treeherder-symbol: T-Prof(realwebext)
+ tier: 2
+ max-run-time: 1500
+ mozharness:
+ extra-options:
+ - --suite=realworld-webextensions
+ - --gecko-profile
diff --git a/taskcluster/ci/test/test-platforms.yml b/taskcluster/ci/test/test-platforms.yml
new file mode 100644
index 0000000000..24bd836ad2
--- /dev/null
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -0,0 +1,537 @@
+# 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/.
+---
+# 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.
+
+
+##
+# Linux platforms (matching /linux.*/)
+# Linux1804-64 uses Ubuntu 18.04 and is run on docker
+
+linux1804-32-shippable/opt:
+ build-platform: linux-shippable/opt
+ test-sets:
+ - linux32-tests
+
+linux1804-64/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - linux1804-tests
+ - marionette-framescript
+ - marionette-headless
+ - mochitest-headless
+ - mochitest-webgpu
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - web-platform-tests-wdspec-headless
+
+linux1804-64/debug:
+ build-platform: linux64/debug
+ test-sets:
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-shippable/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - linux1804-tests
+ - marionette-framescript
+ - marionette-headless
+ - mochitest-headless
+ - mochitest-webgpu
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - web-platform-tests-wdspec-headless
+
+linux1804-64-devedition/opt:
+ build-platform: linux64-devedition/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - linux1804-tests
+ - web-platform-tests
+
+linux1804-64-asan/opt:
+ build-platform: linux64-asan/opt
+ test-sets:
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-tsan/opt:
+ build-platform: linux64-tsan/opt
+ test-sets:
+ - linux-tsan-tests
+
+linux1804-64-qr/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - awsy
+ - linux1804-qr-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-shippable-qr/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - awsy
+ - linux1804-qr-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-qr/debug:
+ build-platform: linux64/debug
+ test-sets:
+ - linux1804-qr-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-asan-qr/opt:
+ build-platform: linux64-asan/opt
+ test-sets:
+ - linux-qr-smoketests
+
+linux1804-64-ccov/opt:
+ build-platform: linux64-ccov/opt
+ test-sets:
+ - awsy
+ - linux1804-tests
+ - linux1804-ccov-tests
+ - web-platform-tests
+ - ccov-code-coverage-tests
+ - mochitest-webgpu
+
+# Linux64 uses Ubuntu 16.04 and is run on hardware
+
+linux64/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - talos
+ - linux-talos-flex
+ - raptor-firefox
+ - browsertime
+ - raptor-fetch-firefox
+
+linux64-shippable/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - talos
+ - linux-talos-flex
+ - raptor-chrome
+ - raptor-chromium
+ - raptor-fetch-chromium
+ - raptor-firefox
+ - browsertime
+ - raptor-fetch-firefox
+ - raptor-profiling
+ - raptor-fetch-profiling
+ - talos-profiling
+
+# QR builds just run a subset right now.
+linux64-qr/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - talos
+ - raptor-firefox
+ - browsertime
+ - raptor-fetch-firefox
+
+linux64-shippable-qr/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - talos
+ - talos-profiling
+ - raptor-firefox
+ - browsertime
+ - raptor-fetch-firefox
+
+linux64-ccov/opt:
+ build-platform: linux64-ccov/opt
+ test-sets:
+ - talos
+
+##
+# Windows platforms (matching /windows.*/)
+
+# win32
+windows7-32/debug:
+ build-platform: win32/debug
+ test-sets:
+ - windows-reftest-gpu
+ - windows-tests
+ - web-platform-tests
+ - mochitest-webgpu
+
+windows7-32/opt:
+ build-platform: win32/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - marionette-framescript
+ - windows-reftest-gpu
+ - windows-talos
+ - windows-tests
+ - web-platform-tests
+ - raptor-firefox
+ - browsertime
+ - mochitest-webgpu
+ - web-platform-tests-wdspec-headless
+
+windows7-32-shippable/opt:
+ build-platform: win32-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - marionette-framescript
+ - windows-reftest-gpu
+ - windows-talos
+ - windows-tests
+ - web-platform-tests
+ - web-platform-tests-wdspec-headless
+ - raptor-chrome
+ - raptor-chromium
+ - raptor-firefox
+ - browsertime
+ - mochitest-webgpu
+
+# win7 qr builds for try purposes
+windows7-32-qr/debug:
+ build-platform: win32/debug
+ test-sets:
+ - mochitest-webgpu
+ - windows-qr-tests
+ - web-platform-tests
+
+windows7-32-qr/opt:
+ build-platform: win32/opt
+ test-sets:
+ - awsy
+ - windows-qr-tests
+ - windows-talos
+ - web-platform-tests
+
+# win64
+windows10-64-ccov-qr/opt:
+ build-platform: win64-ccov/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - windows-reftest-gpu
+ - windows-talos
+ - windows-tests
+ - windows-ccov-tests
+ - windows10-tests
+ - web-platform-tests
+ - ccov-code-coverage-tests
+ - mochitest-webgpu
+
+windows10-64/debug:
+ build-platform: win64/debug
+ test-sets:
+ - mochitest-webgpu
+ - windows-tests
+ - windows10-tests
+ - web-platform-tests
+
+windows10-64/opt:
+ build-platform: win64/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - windows-talos
+ - marionette-framescript
+ - windows-tests
+ - windows10-tests
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - raptor-firefox
+ - browsertime
+ - mochitest-webgpu
+ - web-platform-tests-wdspec-headless
+
+windows10-aarch64/opt:
+ build-platform: win64-aarch64-shippable/opt
+ test-sets:
+ - windows-aarch64-tests
+
+windows10-64-ref-hw-2017/opt:
+ build-platform: win64-shippable/opt
+ test-sets:
+ - raptor-firefox
+ - browsertime
+ - talos-ref-hw
+
+windows10-64-shippable/opt:
+ build-platform: win64-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - windows-talos
+ - marionette-framescript
+ - windows-tests
+ - windows10-tests
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - web-platform-tests-wdspec-headless
+ - raptor-chrome
+ - raptor-chromium
+ - raptor-firefox
+ - browsertime
+ - raptor-profiling
+ - talos-profiling
+ - mochitest-webgpu
+
+windows10-64-devedition/opt:
+ build-platform: win64-devedition/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - windows-tests
+ - windows10-tests
+ - web-platform-tests
+ - mochitest-webgpu
+
+windows10-64-asan/opt:
+ build-platform: win64-asan/opt
+ test-sets:
+ - windows-tests
+ - windows10-tests
+ - mochitest-webgpu
+
+# QR builds just run a subset right now.
+windows10-64-qr/debug:
+ build-platform: win64/debug
+ test-sets:
+ - mochitest-webgpu
+ - windows-qr-tests
+ - web-platform-tests
+
+windows10-64-qr/opt:
+ build-platform: win64/opt
+ test-sets:
+ - awsy
+ - windows-qr-tests
+ - windows-talos
+ - raptor-firefox
+ - browsertime
+ - web-platform-tests
+
+windows10-64-shippable-qr/opt:
+ build-platform: win64-shippable/opt
+ test-sets:
+ - awsy
+ - windows-qr-tests
+ - windows-talos
+ - talos-profiling
+ - raptor-firefox
+ - browsertime
+ - web-platform-tests
+ - mochitest-webgpu
+
+windows10-64-mingwclang/debug:
+ build-platform: win64-mingwclang/debug
+ test-sets:
+ - mingwclang-tests-debug
+
+windows10-64-mingwclang/opt:
+ build-platform: win64-mingwclang/opt
+ test-sets:
+ - mingwclang-tests-opt
+
+windows7-32-mingwclang/debug:
+ build-platform: win32-mingwclang/debug
+ test-sets:
+ - mingwclang-win7-tests-debug
+
+windows7-32-mingwclang/opt:
+ build-platform: win32-mingwclang/opt
+ test-sets:
+ - mingwclang-tests-opt
+
+##
+# MacOS X platforms (matching /macosx.*/)
+
+macosx1014-64/debug:
+ build-platform: macosx64/debug
+ test-sets:
+ - macosx1014-64-tests
+
+macosx1014-64-devedition/opt:
+ build-platform: macosx64-devedition/opt
+ test-sets:
+ - macosx1014-64-tests
+
+macosx1014-64-qr/opt:
+ build-platform: macosx64/opt
+ test-sets:
+ - macosx1014-64-qr-tests
+ - desktop-screenshot-capture
+ - marionette-framescript
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - web-platform-tests-wdspec-headless
+
+macosx1014-64-shippable-qr/opt:
+ build-platform: macosx64-shippable/opt
+ test-sets:
+ - macosx1014-64-qr-tests
+ - macosx64-talos
+ - awsy
+ - browsertime
+ - desktop-screenshot-capture
+ - marionette-framescript
+ - raptor-chrome
+ - raptor-chromium
+ - raptor-firefox
+ - raptor-firefox-power
+ - raptor-profiling
+ - talos-profiling
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - web-platform-tests-wdspec-headless
+
+macosx1014-64-devedition-qr/opt:
+ build-platform: macosx64-devedition/opt
+ test-sets:
+ - macosx1014-64-qr-tests
+ - web-platform-tests
+
+macosx1014-64-qr/debug:
+ build-platform: macosx64/debug
+ test-sets:
+ - macosx1014-64-qr-tests
+ - web-platform-tests
+
+macosx1014-64-ccov-qr/opt:
+ build-platform: macosx64-ccov/opt
+ test-sets:
+ - macosx1014-64-qr-tests
+
+##
+# Android platforms (matching /android-em.*/)
+#
+# android-em test platforms execute on android emulators.
+
+android-em-7.0-x86_64/opt:
+ build-platform: android-x86_64/opt
+ test-sets:
+ - android-x86_64-tests
+ - web-platform-tests-backlog
+
+android-em-7.0-x86_64-shippable/opt:
+ build-platform: android-x86_64-shippable/opt
+ test-sets:
+ - android-x86_64-tests
+ - web-platform-tests-backlog
+
+android-em-7.0-x86_64/debug:
+ build-platform: android-x86_64/debug
+ test-sets:
+ - android-x86_64-tests
+
+android-em-7.0-x86_64-qr/opt:
+ build-platform: android-x86_64/opt
+ test-sets:
+ - android-x86_64-qr-tests
+
+android-em-7.0-x86_64-shippable-qr/opt:
+ build-platform: android-x86_64-shippable/opt
+ test-sets:
+ - android-x86_64-qr-tests
+
+android-em-7.0-x86_64-qr/debug:
+ build-platform: android-x86_64/debug
+ test-sets:
+ - android-x86_64-qr-tests
+
+# android-hw test platforms execute on real devices attached to Autophone hosts.
+
+# android-hw-g5-7-0 Motorola Moto G5 Android 7.0
+
+android-hw-g5-7-0-arm7-api-16/opt:
+ build-platform: android-api-16/opt
+ test-sets:
+ - android-hw-arm7-browsertime
+ - android-hw-arm7-raptor-cpu-memory
+ - android-hw-arm7-raptor-cpu-memory-power
+
+android-hw-g5-7-0-arm7-api-16-shippable/opt:
+ build-platform: android-api-16-shippable/opt
+ test-sets:
+ - android-hw-arm7-browsertime
+ - android-hw-arm7-raptor-cpu-memory
+ - android-hw-arm7-raptor-cpu-memory-power
+
+# android-hw-p2-8-0 Google Pixel 2 Android 8.0
+
+android-hw-p2-8-0-arm7-api-16/opt:
+ build-platform: android-api-16/opt
+ test-sets:
+ - android-hw-arm7-browsertime
+ - android-hw-arm7-pgo-unittests
+ - android-hw-arm7-raptor-cpu-memory
+ - android-hw-arm7-raptor-cpu-memory-power
+
+android-hw-p2-8-0-arm7-api-16-shippable/opt:
+ build-platform: android-api-16-shippable/opt
+ test-sets:
+ - android-hw-arm7-browsertime
+ - android-hw-arm7-pgo-unittests
+ - android-hw-arm7-raptor-cpu-memory
+ - android-hw-arm7-raptor-cpu-memory-power
+
+android-hw-p2-8-0-arm7-api-16/debug:
+ build-platform: android-api-16/debug
+ test-sets:
+ - android-hw-arm7-debug-unittests
+
+android-hw-p2-8-0-android-aarch64-qr/opt:
+ build-platform: android-aarch64/opt
+ test-sets:
+ - android-hw-aarch64-qr
+
+android-hw-p2-8-0-android-aarch64-shippable-qr/opt:
+ build-platform: android-aarch64-shippable/opt
+ test-sets:
+ - android-hw-aarch64-qr
+
+android-hw-p2-8-0-android-aarch64-qr/debug:
+ build-platform: android-aarch64/debug
+ test-sets:
+ - android-hw-aarch64-qr
+
+android-hw-p2-8-0-android-aarch64/opt:
+ build-platform: android-aarch64/opt
+ test-sets:
+ - android-hw-aarch64-browsertime
+ - android-hw-aarch64-opt-unittests
+ - android-hw-aarch64-raptor-cpu-memory
+ - android-hw-aarch64-raptor-cpu-memory-power
+
+android-hw-p2-8-0-android-aarch64-shippable/opt:
+ build-platform: android-aarch64-shippable/opt
+ test-sets:
+ - android-hw-aarch64-browsertime
+ - android-hw-aarch64-pgo-unittests
+ - android-hw-aarch64-raptor-cpu-memory
+ - android-hw-aarch64-raptor-cpu-memory-power
+
+android-hw-p2-8-0-android-aarch64/debug:
+ build-platform: android-aarch64/debug
+ test-sets:
+ - android-hw-aarch64-debug-unittests
diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/ci/test/test-sets.yml
new file mode 100644
index 0000000000..0465c99a9f
--- /dev/null
+++ b/taskcluster/ci/test/test-sets.yml
@@ -0,0 +1,560 @@
+# 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/.
+---
+# 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.
+
+### Feature-specific test groups
+
+web-platform-tests:
+ - web-platform-tests
+ - web-platform-tests-crashtest
+ - web-platform-tests-print-reftest
+ - web-platform-tests-reftest
+ - web-platform-tests-wdspec
+
+web-platform-tests-backlog:
+ - web-platform-tests-backlog
+ - web-platform-tests-reftest-backlog
+
+web-platform-tests-wdspec-headless:
+ - web-platform-tests-wdspec-headless
+
+mochitest-webgpu:
+ - mochitest-webgpu
+
+talos:
+ - talos-bcv
+ - talos-chrome
+ - talos-damp
+ - talos-dromaeojs
+ - talos-g1
+ - talos-g3
+ - talos-g4
+ - talos-g5
+ - talos-other
+ - talos-sessionrestore-many-windows
+ - talos-svgr
+ - talos-tp5o
+ - talos-perf-reftest
+ - talos-perf-reftest-singletons
+ - talos-tabswitch
+ - talos-realworld-webextensions
+ - talos-webgl
+ # - talos-h1 Bug 1487031 - Disabled for not finding actionable regressions
+ # - talos-h2 Bug 1487031 - Disabled for not finding actionable regressions
+
+talos-profiling:
+ - talos-bcv-profiling
+ - talos-chrome-profiling
+ # - talos-damp-profiling - Disabled b/c of Bug 1597734
+ - talos-dromaeojs-profiling
+ # - talos-flex-profiling - Disabled b/c of Bug 1597736
+ - talos-g1-profiling
+ - talos-g3-profiling
+ - talos-g4-profiling
+ - talos-g5-profiling
+ - talos-motionmark-profiling
+ - talos-other-profiling
+ - talos-sessionrestore-many-windows-profiling
+ - talos-perf-reftest-profiling
+ - talos-perf-reftest-singletons-profiling
+ - talos-svgr-profiling
+ - talos-tp5o-profiling
+ - talos-tabswitch-profiling
+ - talos-realworld-webextensions-profiling
+ - talos-webgl-profiling
+
+talos-ref-hw:
+ - talos-g4
+ - talos-webgl
+
+raptor-firefox:
+ - raptor-tp6
+ - raptor-tp6-live
+ - raptor-speedometer-firefox
+ - raptor-stylebench-firefox
+ - raptor-motionmark-htmlsuite-firefox
+ - raptor-motionmark-animometer-firefox
+ - raptor-webaudio-firefox
+ - raptor-sunspider-firefox
+ - raptor-wasm-godot-firefox
+ - raptor-youtube-playback-av1-sfr-firefox
+ - raptor-youtube-playback-h264-sfr-firefox
+ - raptor-youtube-playback-hfr-firefox
+ - raptor-youtube-playback-vp9-sfr-firefox
+ - raptor-youtube-playback-widevine-hfr-firefox
+ - raptor-youtube-playback-widevine-h264-sfr-firefox
+ - raptor-youtube-playback-widevine-vp9-sfr-firefox
+ - raptor-ares6-firefox
+ - raptor-jetstream2-firefox
+
+raptor-chrome:
+ - raptor-speedometer-chrome
+ - raptor-stylebench-chrome
+ - raptor-motionmark-htmlsuite-chrome
+ - raptor-motionmark-animometer-chrome
+ - raptor-webaudio-chrome
+ - raptor-sunspider-chrome
+ - raptor-wasm-godot-chrome
+ - raptor-ares6-chrome
+ - raptor-jetstream2-chrome
+ - raptor-youtube-playback-av1-sfr-chrome
+ - raptor-youtube-playback-h264-sfr-chrome
+ - raptor-youtube-playback-hfr-chrome
+ - raptor-youtube-playback-vp9-sfr-chrome
+ - raptor-youtube-playback-widevine-hfr-chrome
+ - raptor-youtube-playback-widevine-h264-sfr-chrome
+ - raptor-youtube-playback-widevine-vp9-sfr-chrome
+
+raptor-profiling:
+ - raptor-speedometer-firefox-profiling
+ - raptor-stylebench-firefox-profiling
+ - raptor-motionmark-htmlsuite-firefox-profiling
+ - raptor-motionmark-animometer-firefox-profiling
+ - raptor-webaudio-firefox-profiling
+ - raptor-sunspider-firefox-profiling
+ - raptor-wasm-godot-firefox-profiling
+ - raptor-ares6-firefox-profiling
+ - raptor-jetstream2-firefox-profiling
+
+raptor-chromium:
+ - raptor-speedometer-chromium
+ - raptor-stylebench-chromium
+ - raptor-motionmark-htmlsuite-chromium
+ - raptor-motionmark-animometer-chromium
+ - raptor-webaudio-chromium
+ - raptor-sunspider-chromium
+ - raptor-wasm-godot-chromium
+ - raptor-ares6-chromium
+ - raptor-jetstream2-chromium
+
+# Fetch tasks are only supported on Linux for now,
+# so these need to be separate sets.
+raptor-fetch-firefox:
+ - raptor-unity-webgl-firefox
+ - raptor-wasm-misc-firefox
+ - raptor-wasm-misc-baseline-firefox
+ - raptor-wasm-misc-optimizing-firefox
+ - raptor-wasm-godot-baseline-firefox
+ - raptor-wasm-godot-optimizing-firefox
+ - raptor-assorted-dom-firefox
+
+raptor-fetch-profiling:
+ - raptor-unity-webgl-firefox-profiling
+ - raptor-wasm-misc-firefox-profiling
+ - raptor-wasm-misc-baseline-firefox-profiling
+ - raptor-wasm-misc-optimizing-firefox-profiling
+ - raptor-wasm-godot-baseline-firefox-profiling
+ - raptor-wasm-godot-optimizing-firefox-profiling
+ - raptor-assorted-dom-firefox-profiling
+
+raptor-fetch-chromium:
+ - raptor-unity-webgl-chromium
+ - raptor-wasm-misc-chromium
+ - raptor-assorted-dom-chromium
+ - raptor-jetstream2-chromium
+
+browsertime:
+ - browsertime-tp6
+ - browsertime-speedometer
+ - browsertime-ares6
+ - browsertime-tp6-profiling
+
+# Raptor desktop power tests
+# (requires Intel Power Gadget to be pre-installed)
+raptor-firefox-power:
+ - raptor-youtube-playback-v9-power-firefox
+ - raptor-youtube-playback-h264-power-firefox
+
+awsy:
+ - awsy
+ - awsy-base
+ - awsy-dmd
+ - awsy-base-dmd
+ - awsy-tp6
+
+ccov-code-coverage-tests:
+ - test-coverage
+ - test-coverage-wpt
+
+mochitest-headless:
+ - mochitest-plain-headless
+
+mochitest-valgrind:
+ - mochitest-valgrind
+
+marionette-framescript:
+ - marionette-framescript
+
+marionette-headless:
+ - marionette-headless
+
+desktop-screenshot-capture:
+ - browser-screenshots
+
+
+### Specific platform test sets
+
+# Linux
+
+linux32-tests:
+ - web-platform-tests
+
+linux1804-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - gtest
+ # - jittest # See comment in linux1804-ccov-tests set.
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-chrome
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-devtools-chrome
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-remote
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - reftest
+ - reftest-no-accel
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - xpcshell
+
+linux1804-qr-tests:
+ - cppunit
+ - crashtest
+ - gtest
+ # - jittest # See comment in linux1804-ccov-tests set.
+ - jsreftest
+ - mochitest-a11y
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-remote
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - reftest
+ - xpcshell
+
+linux1804-ccov-tests:
+ # jittest run on regular linux builds is redundant with SM(p), so we omit it
+ # from the linux1804-tests and linux1804-qr-tests sets. But, we still want
+ # to run it on ccov builds, so we have this set that has it and which runs
+ # on ccov builds.
+ - jittest
+
+linux-qr-smoketests:
+ - crashtest
+ - reftest
+
+linux-talos-flex:
+ - talos-flex
+
+# Windows
+
+windows-qr-tests:
+ - crashtest
+ - mochitest-chrome-gpu
+ - mochitest-browser-chrome
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-media
+ - mochitest-webgl1-core
+ - mochitest-webgl2-core
+ - reftest
+
+windows-reftest-gpu:
+ - reftest-gpu
+
+windows-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - gtest
+ # - jittest # See comment in windows-ccov-tests set.
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-chrome
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-remote
+ - reftest
+ - reftest-no-accel
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - xpcshell
+
+windows-ccov-tests:
+ # jittest run on regular windows builds is redundant with SM(p), so we omit
+ # it from the windows-tests set. But, we still want to run it on ccov builds,
+ # so we have this set that has it and which runs on ccov builds.
+ - jittest
+
+windows10-tests:
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - mochitest-devtools-chrome
+
+mingwclang-tests-debug:
+ - cppunit
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - mochitest-a11y
+ - mochitest-chrome-gpu
+ - mochitest-plain-gpu
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - mochitest-webgpu
+ - reftest
+ - telemetry-tests-client
+
+# The following is the same as the above block, minus reftests.
+# Reftests were disabled due to frequent hangs; see bug 1642719
+# for re-enabling.
+mingwclang-win7-tests-debug:
+ - cppunit
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - mochitest-a11y
+ - mochitest-chrome-gpu
+ - mochitest-plain-gpu
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - mochitest-webgpu
+ # - reftest - disabled, see bug 1642719
+ - telemetry-tests-client
+
+mingwclang-tests-opt:
+ - cppunit
+ - mochitest-chrome-gpu
+ - mochitest-plain-gpu
+
+windows-aarch64-tests:
+ - crashtest
+ - mochitest-media
+ - reftest
+
+windows-talos:
+ - talos-bcv
+ - talos-chrome
+ - talos-damp
+ - talos-dromaeojs
+ - talos-g1
+ - talos-g4
+ - talos-g5
+ - talos-other
+ - talos-sessionrestore-many-windows
+ - talos-perf-reftest
+ - talos-perf-reftest-singletons
+ - talos-svgr
+ - talos-tp5o
+ - talos-xperf
+ - talos-tabswitch
+ - talos-realworld-webextensions
+ - talos-webgl
+ # - talos-h1 Bug 1487031 - Disabled for not finding actionable regressions
+
+# macOS
+
+macosx1014-64-tests:
+ - crashtest
+ - reftest
+ - web-platform-tests-reftest
+
+macosx1014-64-qr-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional-local
+ - firefox-ui-functional-remote
+ - gtest
+ - jittest
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-chrome
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-devtools-chrome
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-media
+ - mochitest-remote
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - mochitest-webgpu
+ - reftest
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - xpcshell
+
+macosx64-talos:
+ - talos-bcv
+ - talos-chrome
+ - talos-damp
+ - talos-dromaeojs
+ - talos-g1
+ - talos-g4
+ - talos-g5
+ - talos-other
+ - talos-sessionrestore-many-windows
+ - talos-svgr
+ - talos-tp5o
+ - talos-perf-reftest
+ - talos-perf-reftest-singletons
+ - talos-realworld-webextensions
+ - talos-webgl
+ # - talos-tabswitch # Bug 1453007 times out
+ # - talos-h1 # too long to unpack profile- Bug 1442893
+
+# Android
+
+android-x86_64-tests:
+ - cppunit
+ - crashtest
+ - geckoview-junit
+ - gtest
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ # - mochitest-webgl1-core # Harness issues?
+ # - mochitest-webgl1-ext
+ # - mochitest-webgl2-core # Emulator not creating ES3?
+ # - mochitest-webgl2-ext
+ - reftest
+ - test-verify
+ - web-platform-tests
+ - web-platform-tests-crashtest
+ - web-platform-tests-reftest
+ - xpcshell
+
+android-x86_64-qr-tests:
+ - crashtest
+ - geckoview-junit
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - web-platform-tests
+ - web-platform-tests-crashtest
+ - web-platform-tests-reftest
+ - reftest
+
+android-hw-aarch64-opt-unittests:
+ - jittest
+
+android-hw-arm7-pgo-unittests:
+ - jittest
+ - jsreftest
+
+android-hw-aarch64-pgo-unittests:
+ - jittest
+
+android-hw-arm7-debug-unittests:
+ - jittest
+ - jsreftest
+
+android-hw-aarch64-debug-unittests:
+ - jittest
+
+android-hw-aarch64-qr:
+ - crashtest-qr
+ - reftest-qr
+ - mochitest-media
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+
+android-hw-arm7-raptor-cpu-memory:
+ - raptor-speedometer-geckoview-cpu-memory
+ - raptor-scn-cpu-memory-idle-geckoview
+ - raptor-scn-cpu-memory-idle-refbrow
+ - raptor-scn-cpu-memory-idle-bg-geckoview
+ - raptor-scn-cpu-memory-idle-bg-refbrow
+
+android-hw-arm7-raptor-cpu-memory-power:
+ - raptor-speedometer-geckoview-cpu-memory-power
+ - raptor-scn-cpu-memory-power-idle-geckoview
+ - raptor-scn-cpu-memory-power-idle-refbrow
+ - raptor-scn-cpu-memory-power-idle-bg-geckoview
+ - raptor-scn-cpu-memory-power-idle-bg-refbrow
+
+android-hw-aarch64-raptor-cpu-memory:
+ - raptor-speedometer-geckoview-cpu-memory
+ - raptor-scn-cpu-memory-idle-geckoview
+ - raptor-scn-cpu-memory-idle-refbrow
+ - raptor-scn-cpu-memory-idle-bg-geckoview
+ - raptor-scn-cpu-memory-idle-bg-refbrow
+
+android-hw-aarch64-raptor-cpu-memory-power:
+ - raptor-speedometer-geckoview-cpu-memory-power
+ - raptor-scn-cpu-memory-power-idle-geckoview
+ - raptor-scn-cpu-memory-power-idle-refbrow
+ - raptor-scn-cpu-memory-power-idle-bg-geckoview
+ - raptor-scn-cpu-memory-power-idle-bg-refbrow
+
+android-hw-aarch64-browsertime:
+ - browsertime-power
+ - browsertime-tp6m
+ - browsertime-tp6m-live
+ - browsertime-tp6m-profiling
+ - browsertime-speedometer-mobile
+ - browsertime-youtube-playback-mobile
+ - browsertime-unity-webgl-mobile
+
+android-hw-arm7-browsertime:
+ - browsertime-power
+ - browsertime-tp6m
+ - browsertime-tp6m-live
+ - browsertime-tp6m-profiling
+ - browsertime-speedometer-mobile
+ - browsertime-youtube-playback-mobile
+ - browsertime-unity-webgl-mobile
+
+linux-tsan-tests:
+ - mochitest-a11y
+ - mochitest-browser-chrome
+ - mochitest-media
+ - mochitest-plain
+ - web-platform-tests
+ - web-platform-tests-reftest
+ - xpcshell
diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/ci/test/web-platform.yml
new file mode 100644
index 0000000000..b669421775
--- /dev/null
+++ b/taskcluster/ci/test/web-platform.yml
@@ -0,0 +1,342 @@
+# 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/.
+---
+job-defaults:
+ suite:
+ category: web-platform-tests
+ instance-size: xlarge
+ max-run-time:
+ by-test-platform:
+ android-em-7.0-x86_64/debug: 7200
+ default: 5400
+ variants:
+ by-test-platform:
+ linux.*64/debug: ['fission']
+ default: ['fission']
+ fission-run-on-projects:
+ by-test-platform:
+ linux.*64-qr/debug: ['trunk']
+ linux.*64(-shippable)?-qr/opt: ['trunk']
+ windows10-64(-shippable)?-qr/opt: ['trunk']
+ default: []
+ fission-tier:
+ by-test-platform:
+ linux.*64-qr/debug: 1
+ linux.*64(-shippable)?-qr/opt: 1
+ windows10-64(-shippable)?-qr/opt: 1
+ default: 2
+ mozharness:
+ script: web_platform_tests.py
+ config:
+ by-test-platform:
+ windows.*:
+ - web_platform_tests/prod_config_windows_taskcluster.py
+ macosx.*:
+ - web_platform_tests/prod_config_mac.py
+ android-em.*:
+ - android/androidx86_7_0.py
+ - web_platform_tests/prod_config_android.py
+ default:
+ - web_platform_tests/prod_config.py
+ - remove_executables.py
+ target:
+ by-test-platform:
+ android-em-7.0-x86_64-shippable(-qr)?/opt: geckoview-androidTest.apk
+ android-em-7.0-x86_64(-qr)?/opt: geckoview-androidTest.apk
+ android-em-7.0-x86_64(-qr)?/debug: geckoview-androidTest.apk
+ default: null
+ python-3: true
+
+web-platform-tests:
+ description: "Web platform test run"
+ suite: web-platform-tests
+ treeherder-symbol: W(wpt)
+ virtualization:
+ by-test-platform:
+ windows10-64.*/.*: hardware
+ default: virtual
+ chunks:
+ by-test-platform:
+ android.*: 16
+ linux.*64-tsan/opt: 26
+ linux.*64-asan/opt: 22
+ linux.*64-ccov.*/opt: 20
+ linux.*/debug: 16
+ macosx.*/debug: 18
+ windows7.*/opt: 12
+ windows.*/debug: 14
+ windows10-64-ccov.*/opt: 14
+ default: 10
+ max-run-time:
+ by-test-platform:
+ .*-ccov.*/.*: 10800
+ linux.*64-tsan/opt: 14400
+ linux.*64-asan/opt: 14400
+ linux.*64(-qr)?/debug: 10800
+ macosx.*/debug: 10800
+ android-em.*/.*: 10800
+ default: 7200
+ e10s: true
+ run-on-projects:
+ by-test-platform:
+ linux1804-32-shippable/opt: ['release'] # skip integration, Bug 1599197
+ linux.*-qr/.*: ['release'] # skip on integration branches due to high load
+ windows.*-qr/.*: ['release'] # skip on integration branches due to high load
+ default: built-projects
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --skip-implementation-status=backlog
+ - --skip-implementation-status=not-implementing
+
+web-platform-tests-backlog:
+ description: "Web platform test (backlog) run"
+ treeherder-symbol: W-b(wpt)
+ chunks:
+ by-test-platform:
+ android.*: 3
+ default: 1
+ max-run-time:
+ by-test-platform:
+ android.*/opt: 7200
+ default: 3600
+ variants: []
+ e10s: true
+ run-on-projects: ['mozilla-central']
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 2
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --skip-implementation-status=implementing
+ - --skip-implementation-status=not-implementing
+ - --backlog
+
+web-platform-tests-reftest:
+ description: "Web platform reftest run"
+ schedules-component: web-platform-tests-reftest
+ treeherder-symbol: W(Wr)
+ virtualization:
+ by-test-platform:
+ windows10-64.*-qr/.*: virtual-with-gpu
+ default: virtual
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 8
+ linux.*64-tsan/opt: 8
+ linux1804-64(-qr|-asan)/.*: 6
+ linux1804-64(-shippable|-devedition)?/opt: 3
+ macosx10.*-64/debug: 6
+ macosx10.*-64/opt: 3
+ windows.*-(32|64)(-qr)?/debug: 5
+ android.*: 6
+ default: 4
+ e10s: true
+ run-on-projects: built-projects
+ tier:
+ by-test-platform:
+ linux1804-64-asan/opt: 2
+ default: default
+ mozharness:
+ extra-options:
+ - --test-type=reftest
+ - --skip-implementation-status=backlog
+ - --skip-implementation-status=not-implementing
+
+web-platform-tests-reftest-backlog:
+ description: "Web platform reftest (backlog) run"
+ schedules-component: web-platform-tests-reftest
+ treeherder-symbol: W-b(Wr)
+ virtualization: virtual
+ chunks: 1
+ variants: []
+ e10s: true
+ run-on-projects: ['mozilla-central']
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 2
+ mozharness:
+ extra-options:
+ - --test-type=reftest
+ - --skip-implementation-status=implementing
+ - --skip-implementation-status=not-implementing
+ - --backlog
+
+web-platform-tests-wdspec:
+ description: "Web platform webdriver-spec run"
+ schedules-component: web-platform-tests-wdspec
+ treeherder-symbol: W(Wd)
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 4
+ default: 3
+ mozharness:
+ extra-options:
+ - --test-type=wdspec
+ - --setpref=toolkit.asyncshutdown.log=true
+ run-on-projects:
+ by-test-platform:
+ linux.*-qr/.*: ['release'] # skip on integration branches due to high load
+ windows.*-qr/.*: ['release'] # skip on integration branches due to high load
+ default: built-projects
+ tier:
+ by-test-platform:
+ android.*: 3
+ linux.*64-asan/opt: 2
+ .*-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
+ default: default
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*64.*:
+ - linux64-geckodriver
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ linux.*32.*:
+ - linux32-geckodriver
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-geckodriver
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*-32.*:
+ - win32-geckodriver
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*-64.*:
+ - win64-geckodriver
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ - linux64-geckodriver
+
+
+web-platform-tests-wdspec-headless:
+ description: "Web platform webdriver-spec headless run"
+ suite:
+ name: web-platform-tests-wdspec
+ schedules-component: web-platform-tests-wdspec
+ treeherder-symbol: W(WdH)
+ chunks: 2
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows.*:
+ - --test-type=wdspec
+ - --setpref=toolkit.asyncshutdown.log=true
+ - --headless
+ - --headless-width=1600
+ - --headless-height=1200
+ default:
+ - --test-type=wdspec
+ - --setpref=toolkit.asyncshutdown.log=true
+ - --headless
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*64.*:
+ - linux64-geckodriver
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ linux.*32.*:
+ - linux32-geckodriver
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-geckodriver
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*-32.*:
+ - win32-geckodriver
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*-64.*:
+ - win64-geckodriver
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ - linux64-geckodriver
+
+web-platform-tests-crashtest:
+ description: "Web platform crashtests run"
+ schedules-component: web-platform-tests-crashtest
+ treeherder-symbol: W(Wc)
+ chunks: 1
+ mozharness:
+ extra-options:
+ - --test-type=crashtest
+ run-on-projects:
+ by-test-platform:
+ linux.*-qr/.*: ['release'] # skip on integration branches due to high load
+ windows.*-qr/.*: ['release'] # skip on integration branches due to high load
+ default: built-projects
+ tier:
+ by-test-platform:
+ linux1804-64-asan/opt: 2
+ .*-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
+ default: default
+
+web-platform-tests-print-reftest:
+ description: "Web platform print-reftest run"
+ schedules-component: web-platform-tests-print-reftest
+ treeherder-symbol: W(Wp)
+ chunks: 1
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier:
+ by-test-platform:
+ .*-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
+ default: default
+ run-on-projects: built-projects
+ mozharness:
+ extra-options:
+ - --test-type=print-reftest
+
+test-verify-wpt:
+ description: "Extra verification of web-platform tests modified on this push"
+ suite:
+ category: test-verify
+ name: test-verify-wpt
+ variants: []
+ treeherder-symbol: TVw
+ max-run-time: 10800
+ run-on-projects:
+ by-test-platform:
+ # do not run on ccov or asan
+ .*-ccov.*/.*: []
+ .*-asan/.*: []
+ .*shippable.*: []
+ # do not run on beta or release: usually just confirms earlier results
+ default: ['integration']
+ built-projects-only: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ optimization:
+ test-verify: ["test-verify-wpt"]
+ tier: 2
+ mozharness:
+ extra-options:
+ - --verify
+
+test-coverage-wpt:
+ description: "Per web-platform test coverage"
+ suite:
+ category: test-coverage
+ name: test-coverage-wpt
+ schedules-component: test-coverage-wpt
+ treeherder-symbol: TCw
+ max-run-time: 10800
+ run-on-projects:
+ by-test-platform:
+ .*-ccov.*/.*: built-projects
+ default: []
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 2
+ mozharness:
+ extra-options:
+ - --per-test-coverage
diff --git a/taskcluster/ci/test/xpcshell.yml b/taskcluster/ci/test/xpcshell.yml
new file mode 100644
index 0000000000..7bd3d366e0
--- /dev/null
+++ b/taskcluster/ci/test/xpcshell.yml
@@ -0,0 +1,99 @@
+# 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/.
+---
+job-defaults:
+ suite: xpcshell
+ variants:
+ by-test-platform:
+ linux1804-64/debug: ['fission', 'socketprocess_networking']
+ default: ['fission']
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-androidTest.apk
+ default: null
+ fission-tier: 2
+ mozharness:
+ script:
+ by-test-platform:
+ android-em.*: android_emulator_unittest.py
+ default: desktop_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/androidx86_7_0.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ windows.*:
+ - unittests/win_unittest.py
+ requires-signed-builds:
+ by-test-platform:
+ windows10-64-asan/opt: false # No XPCShell on ASAN yet
+ windows7-32-mingwclang/opt: false
+ windows7-32-mingwclang/debug: false
+ windows10-64-mingwclang/opt: false
+ windows10-64-mingwclang/debug: false
+ windows.*: true
+ default: false
+
+xpcshell:
+ description: "xpcshell test run"
+ treeherder-symbol: X(X)
+ run-on-projects:
+ by-test-platform:
+ .*-tsan/opt: ['trunk']
+ windows10-64-asan/opt: [] # No XPCShell on ASAN yet
+ default: built-projects
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 6
+ windows10-64-ccov-qr/opt: 6
+ android-em-7.*: 4
+ macosx1014-64(-shippable|-devedition|-asan)?(-qr)?/.*: 2
+ linux1804-64(-qr)?/debug: 6
+ .*-tsan/opt: 8
+ windows(7-32|10-64)(-shippable|-devedition|-asan|.*-qr)?/.*: 2
+ default: 5
+ max-run-time:
+ by-test-platform:
+ macosx1014-64(-shippable|-devedition|-asan)?(-qr)?/.*: 5400
+ windows(7-32|10-64)(-shippable)?/opt: 5400
+ .*-ccov.*/.*: 7200
+ .*-tsan/opt: 7200
+ android-em-7.*: 5400
+ default: 2700
+ allow-software-gl-layers: false
+ tier:
+ by-test-platform:
+ windows10-64-asan.*: 3
+ default: default
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*:
+ - linux64-node
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-node
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*aarch64.*:
+ - win32-node
+ - win32-minidump-stackwalk
+ win.*-64.*:
+ - win64-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*32.*:
+ - win32-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ android-em-7.*:
+ - android-emulator-linux
+ - linux64-node
+ - linux64-minidump-stackwalk
diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml
new file mode 100644
index 0000000000..d3ee12b25e
--- /dev/null
+++ b/taskcluster/ci/toolchain/android.yml
@@ -0,0 +1,84 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 1800
+
+linux64-android-sdk-linux-repack:
+ description: "Android SDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-sdk-linux)
+ worker:
+ artifacts:
+ - name: project/gecko/android-sdk
+ path: /builds/worker/project/gecko/android-sdk/
+ type: directory
+ run:
+ script: repack-android-sdk-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.zst
+ toolchain-alias: android-sdk-linux
+
+linux64-android-emulator-linux-repack:
+ description: "Android Emulator (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-emulator-linux)
+ worker:
+ artifacts:
+ - name: project/gecko/android-emulator
+ path: /builds/worker/project/gecko/android-emulator/
+ type: directory
+ run:
+ script: repack-android-emulator-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-emulator/android-emulator-linux.tar.zst
+ toolchain-alias: android-emulator-linux
+
+linux64-android-ndk-linux-repack:
+ description: "Android NDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-ndk-linux)
+ worker:
+ artifacts:
+ - name: project/gecko/android-ndk
+ path: /builds/worker/project/gecko/android-ndk/
+ type: directory
+ run:
+ script: repack-android-ndk-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.zst
+ toolchain-alias: android-ndk-linux
+
+linux64-android-gradle-dependencies:
+ description: "Android Gradle dependencies toolchain task"
+ treeherder:
+ symbol: TL(gradle-dependencies)
+ worker:
+ env:
+ GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
+ run:
+ script: android-gradle-dependencies.sh
+ sparse-profile: null
+ resources:
+ - 'taskcluster/scripts/misc/android-gradle-dependencies/**'
+ - '*.gradle'
+ - 'mobile/android/**/*.gradle'
+ - 'mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/**'
+ - 'mobile/android/config/mozconfigs/common*'
+ - 'mobile/android/gradle.configure'
+ toolchain-artifact: public/build/android-gradle-dependencies.tar.zst
+ toolchain-alias: android-gradle-dependencies
+ fetches:
+ fetch:
+ - sonatype-nexus
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-android-sdk-linux-repack
+ - linux64-node
diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/ci/toolchain/cbindgen.yml
new file mode 100644
index 0000000000..8ed16bc7fa
--- /dev/null
+++ b/taskcluster/ci/toolchain/cbindgen.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/.
+---
+job-defaults:
+ description: "cbindgen toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-cbindgen.sh
+ toolchain-artifact: public/build/cbindgen.tar.xz
+ run-on-projects: [trunk]
+ fetches:
+ fetch:
+ # If you update this, make sure to update the minimum version in
+ # build/moz.configure/bindgen.configure as well.
+ - cbindgen-0.16.0
+
+linux64-cbindgen:
+ treeherder:
+ symbol: TL(cbindgen)
+ worker:
+ max-run-time: 1800
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-rust-1.47
+
+macosx64-cbindgen:
+ treeherder:
+ symbol: TM(cbindgen)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ arguments: ['x86_64-apple-darwin']
+ resources:
+ - taskcluster/scripts/misc/tooltool-download.sh
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+ - linux64-llvm-dsymutil
+ - linux64-rust-macos-1.47
+
+win64-cbindgen:
+ treeherder:
+ symbol: TW64(cbindgen)
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ resources:
+ - taskcluster/scripts/misc/tooltool-download.sh
+ toolchain-artifact: public/build/cbindgen.tar.bz2
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-rust-1.47
diff --git a/taskcluster/ci/toolchain/cctools-port.yml b/taskcluster/ci/toolchain/cctools-port.yml
new file mode 100644
index 0000000000..091868ccca
--- /dev/null
+++ b/taskcluster/ci/toolchain/cctools-port.yml
@@ -0,0 +1,26 @@
+# 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/.
+---
+job-defaults:
+ description: "cctools-port toolchain build"
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ fetches:
+ fetch:
+ - cctools-port
+ - libtapi
+
+linux64-cctools-port-clang-11:
+ treeherder:
+ symbol: TL(cctools-clang-11)
+ run:
+ script: build-cctools-port.sh
+ toolchain-alias: linux64-cctools-port
+ toolchain-artifact: public/build/cctools.tar.xz
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-clang-11
+ - linux64-binutils
diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml
new file mode 100644
index 0000000000..f4be606c2c
--- /dev/null
+++ b/taskcluster/ci/toolchain/clang-tidy.yml
@@ -0,0 +1,125 @@
+# 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/.
+---
+job-defaults:
+ description: "Clang-tidy build"
+ attributes:
+ local-toolchain: true
+ index:
+ product: static-analysis
+ worker-type: b-linux-large
+ worker:
+ max-run-time: 3600
+ run:
+ toolchain-artifact: public/build/clang-tidy.tar.zst
+ resources:
+ - 'build/clang-plugin/**/*.cpp'
+ - 'build/clang-plugin/**/*.h'
+ - 'build/clang-plugin/*.inc'
+ - 'build/clang-plugin/*.py'
+ - 'build/clang-plugin/moz.build'
+ - 'build/clang-plugin/Makefile.in'
+ - 'build/build-clang/build-clang.py'
+ fetches:
+ fetch:
+ - clang-11
+
+linux64-clang-tidy:
+ index:
+ job-name: linux64-clang-tidy
+ treeherder:
+ symbol: TL(clang-tidy)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-linux64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-linux64.json'
+ run-on-projects:
+ - trunk
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+
+macosx64-clang-tidy:
+ index:
+ job-name: macosx64-clang-tidy
+ treeherder:
+ symbol: TM(clang-tidy)
+ worker-type: b-linux-large
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ tooltool-downloads: internal
+ arguments:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ run-on-projects:
+ - trunk
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11-macosx-cross
+ - linux64-gcc-7
+ - linux64-node
+
+win64-clang-tidy:
+ description: "Clang-tidy toolchain build"
+ index:
+ job-name: win64-clang-tidy
+ treeherder:
+ symbol: TW64(clang-tidy)
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-win64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-win64.json'
+ tooltool-downloads: internal
+ run-on-projects:
+ - trunk
+ fetches:
+ fetch:
+ - cmake
+ - ninja
+
+linux64-clang-tidy-external:
+ attributes:
+ local-toolchain: false
+ index:
+ job-name: linux64-clang-tidy-external
+ treeherder:
+ symbol: TL(clang-tidy-e)
+ worker:
+ artifacts:
+ - name: project/civet/clang-tidy.tar.zst
+ path: /builds/worker/private-artifacts/clang-tidy.tar.zst
+ type: file
+ run:
+ toolchain-artifact: project/civet/clang-tidy.tar.zst
+ script: build-clang-tidy-external.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-external-linux64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-external-linux64.json'
+ run-on-projects: []
+ fetches:
+ fetch:
+ - civet-source
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/ci/toolchain/clang.yml
new file mode 100644
index 0000000000..7706a20af0
--- /dev/null
+++ b/taskcluster/ci/toolchain/clang.yml
@@ -0,0 +1,320 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux-xlarge
+ worker:
+ max-run-time: 7200
+ run:
+ resources:
+ - 'build/build-clang/build-clang.py'
+
+linux64-clang-5.0:
+ description: "Clang 5.0 toolchain build"
+ treeherder:
+ symbol: TL(clang5.0)
+ worker-type: b-linux-large
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-5.0-linux64.json'
+ resources:
+ - 'build/build-clang/clang-5.0-linux64.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-5.0
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+
+linux64-clang-7:
+ description: "Clang 7 toolchain build"
+ treeherder:
+ symbol: TL(clang7)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-7-linux64.json'
+ resources:
+ - 'build/build-clang/clang-7-linux64.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-7
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+
+linux64-clang-11-mingw-x86:
+ description: "MinGW-Clang 11 x86 toolchain build"
+ treeherder:
+ symbol: TMW(clang-x86)
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x86'
+ - 'build/build-clang/clang-11-mingw.json'
+ resources:
+ - 'build/build-clang/clang-11-mingw.json'
+ toolchain-alias: linux64-clang-mingw-x86
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ - mingw-w64
+ - libunwind
+ - llvm-mingw
+ - gcc-9.3.0
+ toolchain:
+ - linux64-gcc-7
+ - linux64-binutils
+
+linux64-clang-11-mingw-x64:
+ description: "MinGW-Clang 11 x64 toolchain build"
+ treeherder:
+ symbol: TMW(clang-x64)
+ tier: 1
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x64'
+ - 'build/build-clang/clang-11-mingw.json'
+ resources:
+ - 'build/build-clang/clang-11-mingw.json'
+ toolchain-alias: linux64-clang-mingw-x64
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ - mingw-w64
+ - libunwind
+ - llvm-mingw
+ - gcc-9.3.0
+ toolchain:
+ - linux64-gcc-7
+ - linux64-binutils
+
+linux64-clang-10:
+ description: "Clang 10 toolchain build"
+ treeherder:
+ symbol: TL(clang10)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-10-linux64.json'
+ resources:
+ - 'build/build-clang/clang-10-linux64.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-10
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+ - wasi-sysroot
+
+linux64-clang-11:
+ description: "Clang 11 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(clang11)
+ run-on-projects: [trunk]
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-11-linux64.json'
+ resources:
+ - 'build/build-clang/clang-11-linux64.json'
+ toolchain-alias: linux64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+ - wasi-sysroot-11
+
+linux64-clang-11-android-cross:
+ description: "Clang 11 toolchain build"
+ treeherder:
+ symbol: TL(clang11-android)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-11-android.json'
+ resources:
+ - 'build/build-clang/clang-11-android.json'
+ toolchain-alias: linux64-clang-android-cross
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+ - linux64-android-ndk-linux-repack
+
+linux64-clang-11-aarch64-cross:
+ description: "Clang 11 toolchain build with aarch64 runtime"
+ treeherder:
+ symbol: TL(clang11-aarch64)
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ docker-image: {in-tree: toolchain-arm64-build}
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-11-linux64-aarch64-cross.json'
+ resources:
+ - 'build/build-clang/clang-11-linux64-aarch64-cross.json'
+ toolchain-alias: linux64-clang-aarch64-cross
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+
+linux64-clang-11-macosx-cross:
+ description: "Clang 11 toolchain repack with MacOS Compiler RT libs"
+ treeherder:
+ symbol: TL(clang11-macosx-cross)
+ worker-type: b-linux
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang-linux-macosx-cross.sh
+ toolchain-alias: linux64-clang-macosx-cross
+ toolchain-artifact: public/build/clang.tar.zst
+ dependencies:
+ macosx64-aarch64-compiler-rt-11: toolchain-macosx64-aarch64-compiler-rt-11
+ macosx64-x64-compiler-rt-11: toolchain-macosx64-x64-compiler-rt-11
+ fetches:
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+ macosx64-aarch64-compiler-rt-11:
+ - artifact: compiler-rt.tar.zst
+ dest: aarch64
+ macosx64-x64-compiler-rt-11:
+ - artifact: compiler-rt.tar.zst
+ dest: x86_64
+
+linux64-clang-11-win-cross:
+ description: "Clang 11 toolchain repack with Windows Compiler RT libs"
+ treeherder:
+ symbol: TL(clang11-win-cross)
+ worker-type: b-linux
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang-linux-win-cross.sh
+ toolchain-alias: linux64-clang-win-cross
+ toolchain-artifact: public/build/clang.tar.zst
+ dependencies:
+ win64-clang-cl-11-2stage: toolchain-win64-clang-cl-11-2stage
+ fetches:
+ toolchain:
+ - linux64-clang-11
+ win64-clang-cl-11-2stage:
+ # Put this into a new directory so it doesn't conflict with the linux toolchain
+ - artifact: clang.tar.zst
+ dest: clang-cl
+ extract: false
+
+macosx64-clang-11:
+ description: "Clang 11 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-11)
+ worker-type: b-linux-large
+ worker:
+ max-run-time: 3600
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run-on-projects:
+ - trunk
+ run:
+ script: build-clang.sh
+ tooltool-downloads: internal
+ arguments:
+ - 'build/build-clang/clang-11-macosx64.json'
+ resources:
+ - 'build/build-clang/clang-11-macosx64.json'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ toolchain-alias: macosx64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-binutils
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11-macosx-cross
+ - linux64-gcc-7
+ - linux64-node
+
+win64-clang-cl-11:
+ description: "Clang-cl 11 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(clang-cl-11)
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ max-run-time: 9000
+ run-on-projects:
+ - trunk
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-11-win64.json'
+ resources:
+ - 'build/build-clang/clang-11-win64.json'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ toolchain-alias: win64-clang-cl
+ toolchain-artifact: public/build/clang.tar.zst
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - clang-11
+ - cmake
+ - ninja
+
+win64-clang-cl-11-2stage:
+ description: "Clang-cl 11 toolchain 2-stage quick build"
+ treeherder:
+ symbol: TW64(clang-cl-11-2stage)
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-11-win64-2stage.json'
+ resources:
+ - 'build/build-clang/clang-11-win64-2stage.json'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ toolchain-alias: win64-clang-cl-2stage
+ toolchain-artifact: public/build/clang.tar.zst
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - clang-11
+ - cmake
+ - ninja
diff --git a/taskcluster/ci/toolchain/dist-toolchains.yml b/taskcluster/ci/toolchain/dist-toolchains.yml
new file mode 100644
index 0000000000..0c0dc53c0c
--- /dev/null
+++ b/taskcluster/ci/toolchain/dist-toolchains.yml
@@ -0,0 +1,42 @@
+# 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/.
+---
+job-defaults:
+ description: "sccache-dist toolchain archive build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux
+ run-on-projects:
+ - trunk
+ run:
+ using: toolchain-script
+ script: build-dist-toolchains.sh
+
+clang-dist-toolchain:
+ treeherder:
+ symbol: TL(clang-dist)
+ worker:
+ max-run-time: 1800
+ run:
+ arguments: ['clang']
+ toolchain-artifact: public/build/clang-dist-toolchain.tar.xz
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+
+rustc-dist-toolchain:
+ treeherder:
+ symbol: TL(rustc-dist)
+ worker:
+ max-run-time: 1800
+ run:
+ arguments: ['rustc']
+ toolchain-artifact: public/build/rustc-dist-toolchain.tar.xz
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-rust-cross
+ - linux64-sccache
diff --git a/taskcluster/ci/toolchain/dump-syms.yml b/taskcluster/ci/toolchain/dump-syms.yml
new file mode 100644
index 0000000000..c650f60f8c
--- /dev/null
+++ b/taskcluster/ci/toolchain/dump-syms.yml
@@ -0,0 +1,65 @@
+# 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/.
+---
+job-defaults:
+ attributes:
+ local-toolchain: true
+ description: "dump_syms toolchain build"
+ worker:
+ max-run-time: 1800
+ run-on-projects: [trunk]
+ run:
+ script: build-dump-syms.sh
+ fetches:
+ fetch:
+ - dump-syms
+
+linux64-dump-syms:
+ treeherder:
+ symbol: TL(dump_syms)
+ worker-type: b-linux
+ run:
+ toolchain-artifact: public/build/dump_syms.tar.xz
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-11
+ - linux64-rust-1.47
+
+macosx64-dump-syms:
+ treeherder:
+ symbol: TM(dump_syms)
+ worker-type: b-linux
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ arguments: ['x86_64-apple-darwin']
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ toolchain-artifact: public/build/dump_syms.tar.xz
+ fetches:
+ toolchain:
+ - linux64-rust-macos-1.47
+ - linux64-clang-11
+ - linux64-cctools-port-clang-11
+ - linux64-llvm-dsymutil
+ - linux64-binutils
+
+win64-dump-syms:
+ treeherder:
+ symbol: TW64(dump_syms)
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ toolchain-artifact: public/build/dump_syms.tar.bz2
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-rust-1.47
diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/ci/toolchain/fix-stacks.yml
new file mode 100644
index 0000000000..30daab2172
--- /dev/null
+++ b/taskcluster/ci/toolchain/fix-stacks.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/.
+---
+job-defaults:
+ description: "fix-stacks toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-fix-stacks.sh
+ run-on-projects:
+ - trunk
+ fetches:
+ fetch:
+ - fix-stacks
+
+linux64-fix-stacks:
+ treeherder:
+ symbol: TL(fix-stacks)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ toolchain-artifact: public/build/fix-stacks.tar.xz
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-11
+ - linux64-rust-1.47
+
+macosx64-fix-stacks:
+ treeherder:
+ symbol: TM(fix-stacks)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ arguments: ['x86_64-apple-darwin']
+ resources:
+ - taskcluster/scripts/misc/tooltool-download.sh
+ toolchain-artifact: public/build/fix-stacks.tar.xz
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+ - linux64-rust-macos-1.47
+
+win32-fix-stacks:
+ treeherder:
+ symbol: TW32(fix-stacks)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ toolchain-artifact: public/build/fix-stacks.tar.bz2
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-clang-11
+ - linux64-liblowercase
+ - linux64-rust-windows-1.47
diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml
new file mode 100644
index 0000000000..7e1d10cebd
--- /dev/null
+++ b/taskcluster/ci/toolchain/gcc.yml
@@ -0,0 +1,78 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ max-run-time: 3600
+ run:
+ resources:
+ - 'build/unix/build-gcc/build-gcc.sh'
+ toolchain-artifact: public/build/gcc.tar.xz
+
+linux64-gcc-7:
+ description: "GCC 7 toolchain build"
+ treeherder:
+ symbol: TL(gcc7)
+ run:
+ script: build-gcc-linux.sh
+ toolchain-alias: linux64-gcc
+ fetches:
+ fetch:
+ - binutils-2.31.1
+ - gcc-7.4.0
+ - gmp-6.1.0
+ - isl-0.16.1
+ - mpc-1.0.3
+ - mpfr-3.1.4
+
+linux64-gcc-8:
+ description: "GCC 8 toolchain build"
+ treeherder:
+ symbol: TL(gcc8)
+ run:
+ script: build-gcc-linux.sh
+ fetches:
+ fetch:
+ - binutils-2.31.1
+ - gcc-8.3.0
+ - gmp-6.1.0
+ - isl-0.16.1
+ - mpc-1.0.3
+ - mpfr-3.1.4
+
+linux64-gcc-9:
+ description: "GCC 9 toolchain build"
+ treeherder:
+ symbol: TL(gcc9)
+ run:
+ script: build-gcc-linux.sh
+ fetches:
+ fetch:
+ - binutils-2.31.1
+ - gcc-9.3.0
+ - gmp-6.1.0
+ - isl-0.16.1
+ - mpc-1.0.3
+ - mpfr-3.1.4
+
+linux64-gcc-sixgill:
+ description: "sixgill GCC plugin build"
+ treeherder:
+ symbol: TL(sixgill)
+ run:
+ script: build-gcc-sixgill-plugin-linux.sh
+ resources:
+ - 'taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh'
+ toolchain-artifact: public/build/sixgill.tar.xz
+ fetches:
+ fetch:
+ - binutils-2.31.1
+ - gcc-9.3.0
+ - gmp-6.1.0
+ - isl-0.16.1
+ - mpc-1.0.3
+ - mpfr-3.1.4
+ toolchain:
+ - linux64-gcc-9
diff --git a/taskcluster/ci/toolchain/geckodriver.yml b/taskcluster/ci/toolchain/geckodriver.yml
new file mode 100644
index 0000000000..1af7b5cdbd
--- /dev/null
+++ b/taskcluster/ci/toolchain/geckodriver.yml
@@ -0,0 +1,112 @@
+# 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/.
+---
+job-defaults:
+ description: "geckodriver toolchain build"
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run-on-projects: ['trunk']
+ attributes:
+ build_type: opt
+ geckodriver: true
+ shippable: true
+ rebuild-on-release: true
+ run:
+ script: build-geckodriver.sh
+ toolchain-artifact: public/build/geckodriver.tar.gz
+ sparse-profile: null
+ resources:
+ - 'testing/geckodriver'
+ - 'testing/mozbase/rust'
+ - 'testing/webdriver'
+ # Changes to 'third_party/rust' should be captured by
+ # 'testing/geckodriver/Cargo.toml'.
+
+# For Linux platforms target "*-musl" so that the binary will be statically linked.
+
+linux32-geckodriver:
+ treeherder:
+ symbol: TL32(gd)
+ platform: linux32/opt
+ run:
+ arguments: ['i686-unknown-linux-musl']
+ attributes:
+ build_platform: linux-geckodriver
+ fetches:
+ toolchain:
+ - linux64-rust-static
+
+linux64-geckodriver:
+ treeherder:
+ symbol: TL(gd)
+ platform: linux64/opt
+ run:
+ arguments: ['x86_64-unknown-linux-musl']
+ attributes:
+ build_platform: linux64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-rust-static
+
+macosx64-geckodriver:
+ treeherder:
+ symbol: TM(gd)
+ platform: macosx64/opt
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ arguments: ['x86_64-apple-darwin']
+ resources:
+ - taskcluster/scripts/misc/tooltool-download.sh
+ tooltool-downloads: internal
+ attributes:
+ build_platform: macosx64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-llvm-dsymutil
+ - linux64-rust-macos
+
+win32-geckodriver:
+ treeherder:
+ symbol: TW32(gd)
+ platform: win32/opt
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ resources:
+ - taskcluster/scripts/misc/tooltool-download.sh
+ toolchain-artifact: public/build/geckodriver.zip
+ tooltool-downloads: internal
+ attributes:
+ build_platform: win32-geckodriver
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-windows
+
+win64-geckodriver:
+ treeherder:
+ symbol: TW64(gd)
+ platform: win64/opt
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ resources:
+ - taskcluster/scripts/misc/tooltool-download.sh
+ toolchain-artifact: public/build/geckodriver.zip
+ tooltool-downloads: internal
+ attributes:
+ build_platform: win64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-windows
diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml
new file mode 100644
index 0000000000..d505fa5f83
--- /dev/null
+++ b/taskcluster/ci/toolchain/gn.yml
@@ -0,0 +1,61 @@
+# 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/.
+---
+job-defaults:
+ description: "gn toolchain build"
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run-on-projects:
+ - trunk
+ run:
+ resources:
+ - 'taskcluster/scripts/misc/build-gn-common.sh'
+ toolchain-artifact: public/build/gn.tar.xz
+ fetches:
+ fetch:
+ - gn
+
+linux64-gn:
+ treeherder:
+ symbol: TL(gn)
+ run:
+ script: build-gn-linux.sh
+ fetches:
+ toolchain:
+ - linux64-gcc-7
+
+macosx64-gn:
+ treeherder:
+ symbol: TM(gn)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ script: build-gn-macosx.sh
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+
+win32-gn:
+ treeherder:
+ symbol: TW64(gn)
+ worker-type: b-win2012
+ worker:
+ max-run-time: 3600
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ script: build-gn-win32.sh
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ toolchain-artifact: public/build/gn.tar.bz2
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - ninja
diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/ci/toolchain/grcov.yml
new file mode 100644
index 0000000000..b533300ba8
--- /dev/null
+++ b/taskcluster/ci/toolchain/grcov.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/.
+---
+job-defaults:
+ description: "grcov toolchain build"
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-grcov.sh
+ toolchain-artifact: public/build/grcov.tar.xz
+ fetches:
+ fetch:
+ - grcov
+
+linux64-grcov:
+ treeherder:
+ symbol: TL(grcov)
+ fetches:
+ toolchain:
+ - linux64-rust-1.47
+ - linux64-clang
+ - linux64-binutils
+
+macosx64-grcov:
+ treeherder:
+ symbol: TM(grcov)
+ run-on-projects:
+ - trunk
+ fetches:
+ toolchain:
+ - linux64-rust-1.47
+ - linux64-clang
+ - linux64-binutils
+
+win64-grcov:
+ treeherder:
+ symbol: TW64(grcov)
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ toolchain-artifact: public/build/grcov.tar.bz2
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-rust-1.47
diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml
new file mode 100644
index 0000000000..4127ca2955
--- /dev/null
+++ b/taskcluster/ci/toolchain/kind.yml
@@ -0,0 +1,47 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+
+transforms:
+ - taskgraph.transforms.try_job:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.cached_tasks:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ kind: build
+ platform: toolchains/opt
+ tier: 1
+ run-on-projects: []
+ run:
+ using: toolchain-script
+
+jobs-from:
+ - android.yml
+ - cbindgen.yml
+ - cctools-port.yml
+ - clang-tidy.yml
+ - clang.yml
+ - dump-syms.yml
+ - fix-stacks.yml
+ - gcc.yml
+ - geckodriver.yml
+ - gn.yml
+ - grcov.yml
+ - llvm-symbolizer.yml
+ - mingw.yml
+ - minidump_stackwalk.yml
+ - misc.yml
+ - nasm.yml
+ - node.yml
+ - resourcemonitor.yml
+ - rust.yml
+ - rust-size.yml
+ - sccache.yml
+ - dist-toolchains.yml
diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/ci/toolchain/llvm-symbolizer.yml
new file mode 100644
index 0000000000..1f6fb2a8f1
--- /dev/null
+++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run:
+ script: repack-llvm-symbolizer.sh
+ toolchain-artifact: public/build/llvm-symbolizer.tar.zst
+
+linux64-llvm-symbolizer:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL(llvm-symbolizer)
+ fetches:
+ toolchain:
+ - linux64-clang
+
+macosx64-llvm-symbolizer:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TM(llvm-symbolizer)
+ fetches:
+ toolchain:
+ - macosx64-clang
+
+win64-llvm-symbolizer:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TW64(llvm-symbolizer)
+ fetches:
+ toolchain:
+ - win64-clang-cl
diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/ci/toolchain/mingw.yml
new file mode 100644
index 0000000000..14a9f24e56
--- /dev/null
+++ b/taskcluster/ci/toolchain/mingw.yml
@@ -0,0 +1,64 @@
+# 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/.
+---
+job-defaults:
+ treeherder:
+ tier: 2
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: mingw32-build}
+ max-run-time: 3600
+
+linux64-mingw32-gcc:
+ description: "GCC toolchain build for MinGW32 Cross Compile"
+ treeherder:
+ symbol: TMW(mingw32-gcc)
+ worker:
+ max-run-time: 10800
+ run:
+ script: build-gcc-mingw32.sh
+ resources:
+ - 'build/unix/build-gcc/build-gcc.sh'
+ toolchain-artifact: public/build/mingw32.tar.xz
+ fetches:
+ fetch:
+ - binutils-2.27
+ - gcc-6.4.0
+ - gmp-5.1.3
+ - isl-0.15
+ - mpc-0.8.2
+ - mpfr-3.1.5
+
+linux64-mingw32-nsis:
+ description: "NSIS build for MinGW32 Cross Compile"
+ treeherder:
+ symbol: TMW(mingw32-nsis)
+ run:
+ script: build-mingw32-nsis.sh
+ resources:
+ - 'build/unix/build-gcc/build-gcc.sh'
+ - 'taskcluster/scripts/misc/build-gcc-mingw32.sh'
+ toolchain-artifact: public/build/nsis.tar.xz
+ fetches:
+ fetch:
+ - nsis-3.01
+ - zlib-1.2.11
+ toolchain:
+ - linux64-mingw32-gcc
+
+linux64-mingw-fxc2-x86:
+ description: "fxc2.exe x86 build for MinGW Cross Compile"
+ treeherder:
+ symbol: TMW(mingw-fxc2-x86)
+ worker:
+ max-run-time: 1800
+ run:
+ using: toolchain-script
+ script: build-mingw-fxc2-x86.sh
+ toolchain-artifact: public/build/fxc2.tar.xz
+ fetches:
+ fetch:
+ - fxc2
+ toolchain:
+ - linux64-clang-mingw-x86
diff --git a/taskcluster/ci/toolchain/minidump_stackwalk.yml b/taskcluster/ci/toolchain/minidump_stackwalk.yml
new file mode 100644
index 0000000000..492e60aa2f
--- /dev/null
+++ b/taskcluster/ci/toolchain/minidump_stackwalk.yml
@@ -0,0 +1,62 @@
+# 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/.
+---
+job-defaults:
+ description: "minidump_stackwalk toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-minidump-stackwalk.sh
+ sparse-profile: null
+ resources:
+ - 'build/moz.configure'
+ - 'config/external/zlib'
+ - 'moz.configure'
+ - 'toolkit/crashreporter'
+ - 'toolkit/crashreporter/google-breakpad/src/processor'
+ - 'tools/crashreporter/'
+ toolchain-artifact: public/build/minidump_stackwalk.tar.xz
+ run-on-projects:
+ - trunk
+
+linux64-minidump-stackwalk:
+ treeherder:
+ symbol: TL(stackwalk)
+ fetches:
+ toolchain:
+ - linux64-clang-11
+ - linux64-binutils
+ - linux64-rust-1.47
+
+macosx64-minidump-stackwalk:
+ treeherder:
+ symbol: TM(stackwalk)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ arguments: ['macosx64']
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+ - linux64-rust-macos-1.47
+
+win32-minidump-stackwalk:
+ treeherder:
+ symbol: TW32(stackwalk)
+ worker:
+ docker-image: {in-tree: mingw32-build}
+ run:
+ arguments: ['mingw32']
+ fetches:
+ toolchain:
+ - linux64-clang-mingw-x86
+ - mingw32-rust-1.47
diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/ci/toolchain/misc.yml
new file mode 100644
index 0000000000..0cd7afe12d
--- /dev/null
+++ b/taskcluster/ci/toolchain/misc.yml
@@ -0,0 +1,386 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+
+linux64-infer:
+ description: "infer build"
+ index:
+ product: static-analysis
+ job-name: linux64-infer
+ treeherder:
+ symbol: TL(infer)
+ worker:
+ docker-image: {in-tree: static-analysis-build}
+ max-run-time: 3600
+ run:
+ script: build-infer-linux.sh
+ resources:
+ - 'build/build-infer/build-infer.py'
+ - 'build/build-infer/infer-linux64.json'
+ toolchain-artifact: public/build/infer.tar.xz
+
+linux64-llvm-dsymutil:
+ description: "llvm-dsymutil toolchain build"
+ treeherder:
+ symbol: TL(dsymutil)
+ run:
+ script: build-llvm-dsymutil.sh
+ toolchain-artifact: public/build/llvm-dsymutil.tar.xz
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-gcc-7
+
+linux64-binutils:
+ description: "Binutils toolchain build"
+ treeherder:
+ symbol: TL(binutil)
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-binutils-linux.sh
+ resources:
+ - 'build/unix/build-binutils/build-binutils.sh'
+ toolchain-artifact: public/build/binutils.tar.xz
+ fetches:
+ fetch:
+ - binutils-2.31.1
+
+linux64-hfsplus:
+ description: "hfsplus toolchain build"
+ treeherder:
+ symbol: TL(hfs+)
+ run:
+ script: build-hfsplus-linux.sh
+ resources:
+ - 'build/unix/build-hfsplus/build-hfsplus.sh'
+ toolchain-artifact: public/build/hfsplus-tools.tar.xz
+ fetches:
+ fetch:
+ - hfsplus-tools
+ toolchain:
+ - linux64-clang-11
+
+linux64-libdmg:
+ description: "libdmg-hfsplus toolchain build"
+ treeherder:
+ symbol: TL(libdmg-hfs+)
+ run:
+ script: build-libdmg-hfsplus.sh
+ toolchain-artifact: public/build/dmg.tar.xz
+ fetches:
+ fetch:
+ - libdmg-hfsplus
+
+linux64-mar-tools:
+ description: "mar-tools toolchain build"
+ treeherder:
+ symbol: TL(mar-tools)
+ fetches:
+ toolchain:
+ - linux64-clang-7
+ - linux64-binutils
+ run:
+ script: build-mar-tools.sh
+ sparse-profile: null
+ toolchain-artifact: public/build/mar-tools.tar.xz
+ resources:
+ - build/moz.configure
+ - modules/libmar/
+ - moz.configure
+ - other-licenses/bsdiff/
+ - other-licenses/nsis/Contrib/CityHash/cityhash/
+ - toolkit/mozapps/update/updater/bspatch/
+ - tools/update-packaging/
+
+linux64-upx:
+ description: "UPX build"
+ treeherder:
+ symbol: TL(upx)
+ tier: 1
+ run:
+ script: build-upx.sh
+ toolchain-artifact: public/build/upx.tar.xz
+
+linux64-custom-v8:
+ description: "Custom v8 build"
+ treeherder:
+ symbol: TL(custom-v8)
+ worker:
+ docker-image: {in-tree: custom-v8}
+ max-run-time: 3600
+ run:
+ script: build-custom-v8.sh
+ arguments: [
+ d8.zip,
+ is_debug=false,
+ target_cpu="x64"
+ ]
+ toolchain-artifact: public/build/d8.zip
+
+browsertime:
+ description: "npm install browsertime node_modules"
+ treeherder:
+ symbol: TL(browsertime)
+ run:
+ script: browsertime.sh
+ sparse-profile: null
+ resources:
+ - 'tools/browsertime/package.json'
+ - 'tools/browsertime/package-lock.json'
+ - 'tools/browsertime/mach_commands.py'
+ toolchain-artifact: public/build/browsertime.tar.bz2
+ fetches:
+ toolchain:
+ - linux64-node
+
+wasi-sysroot-11:
+ description: "wasi sysroot build using clang-11"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(wasi-sysroot-11)
+ run-on-projects: [trunk]
+ run:
+ script: build-wasi-sysroot.sh
+ sparse-profile: null
+ toolchain-alias: wasi-sysroot
+ toolchain-artifact: public/build/wasi-sysroot.tar.xz
+ fetches:
+ fetch:
+ - clang-11
+ - wasi-sdk
+ toolchain:
+ - linux64-binutils
+ - linux64-gcc-7
+
+wrench-deps:
+ description: "Downloads all the crates needed for building wrench"
+ treeherder:
+ symbol: WR(wrench-deps)
+ worker:
+ docker-image: {in-tree: webrender}
+ run:
+ script: wrench-deps-vendoring.sh
+ sparse-profile: null
+ resources:
+ - 'gfx/wr/Cargo.lock'
+ - 'gfx/wr/ci-scripts/install-meson.sh'
+ toolchain-artifact: public/build/wrench-deps.tar.bz2
+ fetches:
+ fetch:
+ - android-rs-glue
+ toolchain:
+ - linux64-rust-1.47 # whatever m-c is built with
+
+wgpu-deps:
+ description: "Downloads all the crates needed for testing wgpu"
+ treeherder:
+ symbol: Wgpu(deps)
+ worker:
+ docker-image: {in-tree: wgpu}
+ run:
+ script: wgpu-deps-vendoring.sh
+ sparse-profile: null
+ resources:
+ - 'gfx/wgpu/Cargo.lock'
+ toolchain-artifact: public/build/wgpu-deps.tar.bz2
+ fetches:
+ fetch:
+ - android-rs-glue
+ toolchain:
+ - linux64-rust-1.47 # whatever m-c is built with
+
+linux64-lucetc:
+ description: "lucetc build process"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(lucetc)
+ run-on-projects: [trunk]
+ run:
+ script: build-lucetc.sh
+ toolchain-artifact: public/build/lucetc.tar.xz
+ fetches:
+ fetch:
+ - cmake
+ - lucetc-source
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+
+linux64-liblowercase:
+ description: "liblowercase"
+ treeherder:
+ symbol: TL(lc)
+ run:
+ script: build-liblowercase.sh
+ sparse-profile: liblowercase
+ toolchain-artifact: public/build/liblowercase.tar.xz
+ resources:
+ - build/liblowercase/
+ fetches:
+ toolchain:
+ - linux64-rust-1.47
+
+linux64-wine:
+ description: "Wine build for Windows Cross Compile"
+ treeherder:
+ symbol: TL(wine)
+ tier: 1
+ worker:
+ docker-image: {in-tree: deb10-toolchain-build}
+ max-run-time: 10800
+ run:
+ script: build-wine.sh
+ toolchain-artifact: public/build/wine.tar.xz
+ fetches:
+ fetch:
+ - wine-5.0
+
+win32-pdbstr:
+ description: "pdbstr for 32-bits Windows"
+ treeherder:
+ symbol: TW32(pdbstr)
+ worker-type: b-win2012
+ worker:
+ artifacts:
+ - name: project/gecko/pdbstr/pdbstr.tar.bz2
+ path: pdbstr.tar.bz2
+ type: file
+ run:
+ script: exfiltrate-pdbstr.sh
+ arguments: ['x86']
+ toolchain-artifact: project/gecko/pdbstr/pdbstr.tar.bz2
+
+win64-pdbstr:
+ description: "pdbstr for 64-bits Windows"
+ treeherder:
+ symbol: TW64(pdbstr)
+ worker-type: b-win2012
+ worker:
+ artifacts:
+ - name: project/gecko/pdbstr/pdbstr.tar.bz2
+ path: pdbstr.tar.bz2
+ type: file
+ run:
+ script: exfiltrate-pdbstr.sh
+ arguments: ['x64']
+ toolchain-artifact: project/gecko/pdbstr/pdbstr.tar.bz2
+
+linux64-winchecksec:
+ description: "winchecksec"
+ treeherder:
+ symbol: TL(winchecksec)
+ worker:
+ docker-image: {in-tree: deb10-toolchain-build}
+ run:
+ script: build-winchecksec.sh
+ toolchain-artifact: public/build/winchecksec.tar.bz2
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - winchecksec
+
+win64-winchecksec:
+ description: "winchecksec"
+ treeherder:
+ symbol: TW64(winchecksec)
+ worker:
+ docker-image: {in-tree: deb10-toolchain-build}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ script: build-winchecksec.sh
+ toolchain-artifact: public/build/winchecksec.tar.bz2
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - winchecksec
+ toolchain:
+ - linux64-clang-win-cross
+ - linux64-liblowercase
+
+linux64-makecab:
+ description: "makecab toolchain build"
+ treeherder:
+ symbol: TL(cab)
+ run:
+ script: build-makecab.sh
+ toolchain-artifact: public/build/makecab.tar.zst
+ fetches:
+ fetch:
+ - makecab
+ toolchain:
+ - linux64-rust-1.47
+
+macosx64-sdk-11.0:
+ description: "MacOSX11.0 SDK"
+ attributes:
+ artifact_prefix: project/gecko/mac-sdk
+ treeherder:
+ symbol: TM(sdk11)
+ worker-type: b-osx-1015
+ worker:
+ max-run-time: 3600
+ env:
+ PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
+ run:
+ script: pack.sh
+ arguments:
+ - /Applications/Xcode-12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
+ toolchain-artifact: project/gecko/mac-sdk/MacOSX11.0.sdk.tar.zst
+ # Expiry similar to that of fetches
+ expires-after: 1000 years
+
+macosx64-x64-compiler-rt-11:
+ description: "macOS x64 Compiler-rt for Clang 11 toolchain build"
+ treeherder:
+ symbol: TM(x64-crt)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ using: toolchain-script
+ script: build-compiler-rt.sh
+ arguments:
+ - x86_64-apple-darwin
+ - 'build/build-clang/rename_gcov_flush_clang_11.patch'
+ resources:
+ - 'build/build-clang/rename_gcov_flush_clang_11.patch'
+ toolchain-artifact: public/build/compiler-rt.tar.zst
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+
+macosx64-aarch64-compiler-rt-11:
+ description: "macOS aarch64 Compiler-rt for Clang 11 toolchain build"
+ treeherder:
+ symbol: TM(aarch64-crt)
+ run:
+ using: toolchain-script
+ script: build-compiler-rt.sh
+ arguments:
+ - aarch64-apple-darwin
+ - 'build/build-clang/rename_gcov_flush_clang_11.patch'
+ resources:
+ - 'build/build-clang/rename_gcov_flush_clang_11.patch'
+ toolchain-artifact: public/build/compiler-rt.tar.zst
+ fetches:
+ fetch:
+ - clang-11
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11
+ - macosx64-sdk-11.0
diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/ci/toolchain/nasm.yml
new file mode 100644
index 0000000000..cfa34948de
--- /dev/null
+++ b/taskcluster/ci/toolchain/nasm.yml
@@ -0,0 +1,74 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run-on-projects: [trunk]
+ run:
+ toolchain-artifact: public/build/nasm.tar.bz2
+
+win64-nasm:
+ description: "nasm win64 build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(nasm)
+ worker:
+ docker-image: {in-tree: mingw32-build}
+ run:
+ script: build-nasm.sh
+ arguments: ['win64']
+ fetches:
+ fetch:
+ - nasm-2.14.02
+ toolchain:
+ - linux64-clang-mingw-x64
+
+macosx64-nasm:
+ description: "nasm macosx64 build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(nasm)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ script: build-nasm.sh
+ arguments: ['macosx64']
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - nasm-2.14.02
+ toolchain:
+ - linux64-cctools-port-clang-11
+ - linux64-clang-11-macosx-cross
+
+linux64-nasm:
+ description: "nasm linux64 build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(nasm)
+ run:
+ script: build-nasm.sh
+ arguments: ['linux64']
+ fetches:
+ fetch:
+ - nasm-2.14.02
+
+linux64-nasm-2.14.02:
+ description: "nasm linux64 minimum supported version build"
+ treeherder:
+ symbol: TL(nasm-2.14.02)
+ run:
+ script: build-nasm.sh
+ arguments: ['linux64']
+ fetches:
+ fetch:
+ - nasm-2.14.02
diff --git a/taskcluster/ci/toolchain/node.yml b/taskcluster/ci/toolchain/node.yml
new file mode 100644
index 0000000000..a74e633a52
--- /dev/null
+++ b/taskcluster/ci/toolchain/node.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+job-defaults:
+ description: "Node repack toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run-on-projects: [trunk]
+ run:
+ script: repack-node.sh
+ toolchain-artifact: public/build/node.tar.xz
+
+linux64-node-10:
+ treeherder:
+ symbol: TL(node-10)
+ run:
+ arguments: ['linux64', '10']
+ toolchain-alias: linux64-node
+
+macosx64-node-10:
+ treeherder:
+ symbol: TM(node-10)
+ run:
+ arguments: ['macosx64', '10']
+ toolchain-alias: macosx64-node
+
+win64-node-10:
+ treeherder:
+ symbol: TW64(node-10)
+ run:
+ arguments: ['win64', '10']
+ toolchain-artifact: public/build/node.tar.bz2
+ toolchain-alias: win64-node
+
+win32-node-10:
+ treeherder:
+ symbol: TW32(node-10)
+ run:
+ arguments: ['win32', '10']
+ toolchain-artifact: public/build/node.tar.bz2
+ toolchain-alias: win32-node
diff --git a/taskcluster/ci/toolchain/resourcemonitor.yml b/taskcluster/ci/toolchain/resourcemonitor.yml
new file mode 100644
index 0000000000..ff280dc764
--- /dev/null
+++ b/taskcluster/ci/toolchain/resourcemonitor.yml
@@ -0,0 +1,44 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ fetches:
+ fetch:
+ - go-1.14.4
+ - resource-monitor
+ run:
+ script: build-resourcemonitor.sh
+ sparse-profile: null
+ toolchain-artifact: public/build/resource-monitor.tar.xz
+
+linux64-resource-monitor:
+ description: "linux64 resourcemonitor toolchain build"
+ treeherder:
+ symbol: TL(rs-monitor)
+ run:
+ arguments: ['linux64']
+
+macosx64-resource-monitor:
+ description: "macos64 resourcemonitor toolchain build"
+ treeherder:
+ symbol: TM(rs-monitor)
+ run:
+ arguments: ['macos64']
+
+windows32-resource-monitor:
+ description: "windows32 resourcemonitor toolchain build"
+ treeherder:
+ symbol: TW32(rs-monitor)
+ run:
+ arguments: ['windows32']
+
+windows64-resource-monitor:
+ description: "windows64 resourcemonitor toolchain build"
+ treeherder:
+ symbol: TW64(rs-monitor)
+ run:
+ arguments: ['windows64']
diff --git a/taskcluster/ci/toolchain/rust-size.yml b/taskcluster/ci/toolchain/rust-size.yml
new file mode 100644
index 0000000000..feae432856
--- /dev/null
+++ b/taskcluster/ci/toolchain/rust-size.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/.
+---
+job-defaults:
+ description: "rust-size toolchain build"
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-rust-size.sh
+ fetches:
+ fetch:
+ - rust-size
+
+linux64-rust-size:
+ treeherder:
+ symbol: TL(rust-size)
+ worker-type: b-linux
+ run:
+ toolchain-artifact: public/build/rust-size.tar.xz
+ fetches:
+ toolchain:
+ - linux64-rust-1.47
+
+win64-rust-size:
+ treeherder:
+ symbol: TW64(rust-size)
+ worker-type: b-win2012
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ toolchain-artifact: public/build/rust-size.tar.bz2
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-rust-1.47
diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml
new file mode 100644
index 0000000000..35952cee16
--- /dev/null
+++ b/taskcluster/ci/toolchain/rust.yml
@@ -0,0 +1,248 @@
+# 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/.
+---
+job-defaults:
+ description: "rust repack"
+ worker-type: b-linux
+ worker:
+ max-run-time: 7200
+ run:
+ script: repack_rust.py
+ toolchain-artifact: public/build/rustc.tar.zst
+
+linux64-rust-1.47:
+ treeherder:
+ symbol: TL(rust-1.47)
+ run:
+ arguments: [
+ '--channel', '1.47.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'aarch64-unknown-linux-gnu',
+ '--compiler-builtins-hack',
+ ]
+ fetches:
+ toolchain:
+ - linux64-clang
+
+linux64-rust-1.49:
+ treeherder:
+ symbol: TL(rust)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'aarch64-unknown-linux-gnu',
+ '--compiler-builtins-hack',
+ ]
+ toolchain-alias: linux64-rust
+ fetches:
+ toolchain:
+ - linux64-clang
+
+linux64-rust-nightly:
+ description: "rust nightly repack"
+ treeherder:
+ symbol: TL(rust-nightly)
+ run:
+ arguments: [
+ # First nightly with the version after 1.49.0, so that it's the
+ # closest to 1.49 release that has a bigger version number.
+ '--channel', 'nightly-2020-11-14',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ ]
+
+linux64-rust-dev:
+ description: "build rust from source"
+ worker-type: b-linux-large
+ treeherder:
+ symbol: TL(rust-dev)
+ run:
+ arguments: [
+ '--patch', 'example.patch',
+ '--channel', 'dev',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--compiler-builtins-hack',
+ ]
+ fetches:
+ fetch:
+ - rust-1.47.0-dev
+ toolchain:
+ - linux64-clang
+ - linux64-binutils
+
+
+linux64-rust-cross-1.49:
+ description: "rust repack with macos and windows cross support"
+ treeherder:
+ symbol: TL(rust-cross)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-apple-darwin',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ '--target', 'aarch64-pc-windows-msvc',
+ ]
+ toolchain-alias: linux64-rust-cross
+
+linux64-rust-static-1.49:
+ description: "rust repack with static linking support"
+ treeherder:
+ symbol: TL(rust-static)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-musl',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-musl',
+ ]
+ toolchain-alias: linux64-rust-static
+
+linux64-rust-macos-1.47:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos-1.47)
+ run:
+ arguments: [
+ '--channel', '1.47.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-apple-darwin',
+ ]
+
+linux64-rust-macos-1.49:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos-1.49)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-apple-darwin',
+ '--target', 'aarch64-apple-darwin',
+ ]
+ toolchain-alias: linux64-rust-macos
+
+linux64-rust-android-1.49:
+ description: "rust repack with android-cross support"
+ treeherder:
+ symbol: TL(rust-android)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'armv7-linux-androideabi',
+ '--target', 'thumbv7neon-linux-androideabi',
+ '--target', 'aarch64-linux-android',
+ '--target', 'i686-linux-android',
+ '--target', 'x86_64-linux-android',
+ '--compiler-builtins-hack',
+ ]
+ toolchain-alias: linux64-rust-android
+ fetches:
+ toolchain:
+ - linux64-clang
+
+linux64-rust-windows-1.47:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win-1.47)
+ run:
+ arguments: [
+ '--channel', '1.47.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ ]
+
+linux64-rust-windows-1.49:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ ]
+ toolchain-alias: linux64-rust-windows
+
+win64-rust-1.47:
+ treeherder:
+ symbol: TW64(rust-1.47)
+ run:
+ arguments: [
+ '--channel', '1.47.0',
+ '--host', 'x86_64-pc-windows-msvc',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ '--target', 'aarch64-pc-windows-msvc',
+ ]
+
+win64-rust-1.49:
+ treeherder:
+ symbol: TW64(rust)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-pc-windows-msvc',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ '--target', 'aarch64-pc-windows-msvc',
+ ]
+ toolchain-alias: win64-rust
+
+macosx64-rust-1.49:
+ treeherder:
+ symbol: TM(rust)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-apple-darwin',
+ '--target', 'x86_64-apple-darwin',
+ ]
+ toolchain-alias: macosx64-rust
+
+mingw32-rust-1.47:
+ treeherder:
+ symbol: TMW(rust-1.47)
+ run:
+ arguments: [
+ '--channel', '1.47.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'i686-pc-windows-gnu',
+ '--target', 'x86_64-pc-windows-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ ]
+
+mingw32-rust-1.49:
+ treeherder:
+ symbol: TMW(rust)
+ run:
+ arguments: [
+ '--channel', '1.49.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'i686-pc-windows-gnu',
+ '--target', 'x86_64-pc-windows-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ ]
+ toolchain-alias: mingw32-rust
diff --git a/taskcluster/ci/toolchain/sccache.yml b/taskcluster/ci/toolchain/sccache.yml
new file mode 100644
index 0000000000..f5b5e200bc
--- /dev/null
+++ b/taskcluster/ci/toolchain/sccache.yml
@@ -0,0 +1,69 @@
+# 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/.
+---
+job-defaults:
+ description: "sccache toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(sccache)
+ run-on-projects: [trunk]
+ run:
+ using: toolchain-script
+ script: build-sccache.sh
+ fetches:
+ fetch:
+ - sccache
+
+linux64-sccache:
+ treeherder:
+ symbol: TL(sccache)
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ run:
+ toolchain-artifact: public/build/sccache.tar.xz
+ fetches:
+ toolchain:
+ - linux64-rust-1.47
+ - linux64-binutils
+
+macosx64-sccache:
+ treeherder:
+ symbol: TM(sccache)
+ worker-type: b-linux
+ worker:
+ max-run-time: 1800
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ run:
+ arguments: ['x86_64-apple-darwin']
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ toolchain-artifact: public/build/sccache.tar.xz
+ fetches:
+ toolchain:
+ - linux64-rust-macos-1.47
+ - linux64-clang-11
+ - linux64-cctools-port-clang-11
+ - linux64-llvm-dsymutil
+ - linux64-binutils
+
+win64-sccache:
+ treeherder:
+ symbol: TW64(sccache)
+ worker-type: b-win2012
+ worker:
+ max-run-time: 3600
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest"
+ run:
+ toolchain-artifact: public/build/sccache.tar.bz2
+ resources:
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - win64-rust-1.47
diff --git a/taskcluster/ci/updatebot/kind.yml b/taskcluster/ci/updatebot/kind.yml
new file mode 100644
index 0000000000..1fd36e6c52
--- /dev/null
+++ b/taskcluster/ci/updatebot/kind.yml
@@ -0,0 +1,69 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.release_notifications:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+jobs:
+ verify:
+ description: Verify Job for Updatebot
+ run-on-projects: []
+ treeherder:
+ kind: other
+ platform: updatebot/all
+ symbol: verify
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: debian10-amd64-build}
+ max-run-time: 3600
+ env:
+ PYTHONUNBUFFERED: "1"
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: $GECKO_PATH/taskcluster/scripts/misc/verify-updatebot.py
+ notifications:
+ subject: 'updatebot verify job failed'
+ message: 'updatebot verify job failed'
+ status-types:
+ - on-failed
+ - on-exception
+ emails: ["tom@mozilla.com", "jewilde@mozilla.com"]
+
+ cron:
+ description: Cron Job for Updatebot
+ run-on-projects: []
+ treeherder:
+ kind: other
+ platform: updatebot/all
+ symbol: cron
+ tier: 1
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: updatebot}
+ max-run-time: 3600
+ taskcluster-proxy: true
+ scopes:
+ - secrets:get:project/updatebot/{level}/try-sshkey
+ - secrets:get:project/updatebot/{level}/phabricator-token
+ - secrets:get:project/updatebot/{level}/bugzilla-api-key
+ - secrets:get:project/updatebot/{level}/database-password
+ - secrets:get:project/updatebot/{level}/sentry-url
+ - secrets:get:project/updatebot/{level}/sql-proxy-config
+ - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/*
+ run:
+ using: run-task
+ command: /builds/worker/run.py
+ notifications:
+ subject: 'updatebot cron failed'
+ message: 'updatebot cron failed'
+ status-types:
+ - on-failed
+ - on-exception
+ emails: ["tom@mozilla.com", "jewilde@mozilla.com"]
diff --git a/taskcluster/ci/upload-generated-sources/kind.yml b/taskcluster/ci/upload-generated-sources/kind.yml
new file mode 100644
index 0000000000..0b4a679e38
--- /dev/null
+++ b/taskcluster/ci/upload-generated-sources/kind.yml
@@ -0,0 +1,33 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+transforms:
+ - taskgraph.transforms.upload_generated_sources:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+job-template:
+ description: Upload generated source files from build
+ worker-type: t-linux-xlarge
+ treeherder:
+ symbol: Ugs
+ kind: build
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 600
+ run:
+ using: mach
+ mach: {artifact-reference: "python build/upload_generated_sources.py <build/public/build/target.generated-files.tar.gz>"}
+ sparse-profile: upload-generated-sources
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-generated-sources-upload
diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/ci/upload-symbols/kind.yml
new file mode 100644
index 0000000000..655e2c83b8
--- /dev/null
+++ b/taskcluster/ci/upload-symbols/kind.yml
@@ -0,0 +1,48 @@
+# 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/.
+---
+loader: taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - taskgraph.transforms.upload_symbols:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - toolchain
+
+primary-dependency: build
+
+not-for-build-platforms:
+ # Address Sanitizer builds don't have symbols to upload.
+ - linux64-asan-reporter-shippable/opt
+ - win64-asan-reporter-shippable/opt
+ - linux-geckodriver/opt
+ - linux64-geckodriver/opt
+ - macosx64-geckodriver/opt
+ - win32-geckodriver/opt
+ - win64-geckodriver/opt
+
+job-template:
+ description: Upload Symbols
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: "debian10-base"}
+ max-run-time: 900
+ env:
+ # {level} gets replaced in the upload_symbols transform
+ SYMBOL_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-upload"
+ MAKECAB: /builds/worker/fetches/makecab/makecab
+ run:
+ using: mach
+ mach: {artifact-reference: "python toolkit/crashreporter/tools/upload_symbols.py <build/public/build/target.crashreporter-symbols-full.tar.zst>"}
+ sparse-profile: upload-symbols
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload
+ fetches:
+ toolchain:
+ - linux64-makecab
diff --git a/taskcluster/ci/valgrind/kind.yml b/taskcluster/ci/valgrind/kind.yml
new file mode 100644
index 0000000000..2adee261c8
--- /dev/null
+++ b/taskcluster/ci/valgrind/kind.yml
@@ -0,0 +1,62 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - taskgraph.transforms.build_attrs:transforms
+ - taskgraph.transforms.build_lints:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+
+jobs:
+ linux64-valgrind/opt:
+ description: "Linux64 Valgrind Opt"
+ index:
+ product: firefox
+ job-name: linux64-valgrind-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: V
+ kind: build
+ tier: 1
+ worker-type: b-linux-aws
+ worker:
+ docker-image: {in-tree: valgrind-build}
+ max-run-time: 72000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: valgrind
+ run:
+ using: mozharness
+ actions: [get-secrets, build, valgrind-test]
+ custom-build-variant-cfg: valgrind
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ need-xvfb: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump-syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-lucetc
+ - wasi-sysroot
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/visual-metrics-dep/kind.yml b/taskcluster/ci/visual-metrics-dep/kind.yml
new file mode 100644
index 0000000000..f2b8994365
--- /dev/null
+++ b/taskcluster/ci/visual-metrics-dep/kind.yml
@@ -0,0 +1,45 @@
+# 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/.
+---
+loader: taskgraph.loader.single_dep:loader
+
+kind-dependencies:
+ - fetch
+ - test
+
+transforms:
+ - taskgraph.transforms.name_sanity:transforms
+ - taskgraph.transforms.visual_metrics_dep:transforms
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+only-for-attributes:
+ - run-visual-metrics
+
+
+job-template:
+ description: "Run visual metrics calculations on Raptor"
+ run-on-projects: []
+ worker-type: t-linux-xlarge
+
+ treeherder:
+ tier: 3
+ kind: other
+
+ worker:
+ docker-image: {in-tree: visual-metrics}
+ max-run-time: 1800
+ artifacts:
+ - type: directory
+ name: public/
+ path: /builds/worker/artifacts/
+ fetches:
+ fetch:
+ - visual-metrics
+ run:
+ using: run-task
+ command: /builds/worker/bin/run-visual-metrics.py -- --orange --perceptual --contentful --force --renderignore 5 --json --viewport
+ checkout: false
+ optimization:
+ skip-unless-backstop: null
diff --git a/taskcluster/ci/webrender/kind.yml b/taskcluster/ci/webrender/kind.yml
new file mode 100644
index 0000000000..9253cbc9c4
--- /dev/null
+++ b/taskcluster/ci/webrender/kind.yml
@@ -0,0 +1,501 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ run-on-projects: ['mozilla-beta', 'trunk']
+ treeherder:
+ tier: 1
+ kind: other
+ worker:
+ max-run-time: 3600
+ env:
+ RUST_BACKTRACE: 'full'
+ RUSTFLAGS: '--deny warnings'
+ run:
+ sparse-profile: webrender
+
+jobs:
+ lint-tidy:
+ description: Runs linting checks on WebRender code
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: webrender}
+ run:
+ using: run-task
+ cwd: '{checkout}/gfx/wr'
+ command: >-
+ servo-tidy
+ treeherder:
+ platform: linux64-qr/opt
+ symbol: WR(tidy)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+
+ linux64-release:
+ description: Runs release-mode WebRender CI tests on a Linux worker
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: webrender}
+ fetches:
+ toolchain:
+ - linux64-rust
+ - wrench-deps
+ run:
+ using: run-task
+ command: >-
+ export PATH=$PATH:$MOZ_FETCHES_DIR/rustc/bin:${MOZ_FETCHES_DIR}/wrench-deps/meson &&
+ cd $HOME/checkouts/gecko/gfx/wr &&
+ mv $MOZ_FETCHES_DIR/wrench-deps/{vendor,.cargo} ./ &&
+ CARGOFLAGS="--verbose --frozen" ci-scripts/linux-release-tests.sh
+ treeherder:
+ platform: linux64-qr/opt
+ symbol: WR(wrench)
+ kind: other
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+
+ linux64-debug:
+ description: Runs debug-mode WebRender CI tests on a Linux worker
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: webrender}
+ fetches:
+ toolchain:
+ - linux64-rust
+ - wrench-deps
+ run:
+ using: run-task
+ command: >-
+ export PATH=$PATH:$MOZ_FETCHES_DIR/rustc/bin:${MOZ_FETCHES_DIR}/wrench-deps/meson &&
+ cd $HOME/checkouts/gecko/gfx/wr &&
+ mv $MOZ_FETCHES_DIR/wrench-deps/{vendor,.cargo} ./ &&
+ CARGOFLAGS="--verbose --frozen" ci-scripts/linux-debug-tests.sh
+ treeherder:
+ platform: linux64-qr/debug
+ symbol: WR(wrench)
+ kind: other
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+
+ wrench-macos-build:
+ description: Cross compilation of wrench for macOS on Linux
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: webrender}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ chain-of-trust: true
+ artifacts:
+ - type: file
+ name: public/build/wrench-macos.tar.bz2
+ path: /builds/worker/artifacts/wrench-macos.tar.bz2
+ - type: file
+ name: public/build/wrench-macos-headless.tar.bz2
+ path: /builds/worker/artifacts/wrench-macos-headless.tar.bz2
+ dependencies:
+ macosx64-clang-11: toolchain-macosx64-clang-11
+ fetches:
+ toolchain:
+ - linux64-rust-macos
+ - linux64-cctools-port
+ - linux64-clang-11-macosx-cross
+ - linux64-llvm-dsymutil
+ - wrench-deps
+ macosx64-clang-11:
+ - artifact: clang.tar.zst
+ dest: clang-mac
+ run:
+ using: run-task
+ tooltool-downloads: internal
+ command: '$HOME/checkouts/gecko/taskcluster/scripts/misc/wrench-macos-build.sh'
+ treeherder:
+ platform: osx-cross/opt
+ symbol: WR(B)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ - 'taskcluster/scripts/misc/wr-macos-cross-build-setup.sh'
+ - 'taskcluster/scripts/misc/wrench-macos-build.sh'
+
+ macos-release:
+ description: Runs release-mode WebRender CI tests on a macOS worker
+ worker-type: t-osx-1014
+ worker:
+ # repo cloning has highly variable run time
+ max-run-time: 7200
+ env:
+ MOZ_FETCHES_DIR: 'checkouts/gecko/gfx/wr'
+ dependencies:
+ webrender-wrench-macos-build: webrender-wrench-macos-build
+ fetches:
+ webrender-wrench-macos-build:
+ - 'wrench-macos.tar.bz2'
+ - 'wrench-macos-headless.tar.bz2'
+ run:
+ using: run-task
+ cwd: '{checkout}/gfx/wr'
+ command: >-
+ export WRENCH_HEADLESS_TARGET=$PWD/wrench-macos-headless/ &&
+ export WRENCH_BINARY=$PWD/wrench-macos/bin/wrench &&
+ ci-scripts/macos-release-tests.sh
+ treeherder:
+ platform: macosx1014-64-qr/opt
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+
+ cargotest-macos-build:
+ description: Cross compilation of cargo tests for macOS on Linux
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: webrender}
+ env:
+ TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest"
+ chain-of-trust: true
+ artifacts:
+ - type: file
+ name: public/build/cargo-test-binaries.tar.bz2
+ path: /builds/worker/artifacts/cargo-test-binaries.tar.bz2
+ fetches:
+ toolchain:
+ - linux64-rust-macos
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-llvm-dsymutil
+ - wrench-deps
+ run:
+ using: run-task
+ tooltool-downloads: internal
+ command: '$HOME/checkouts/gecko/taskcluster/scripts/misc/wr-cargotest-macos-build.sh'
+ treeherder:
+ platform: osx-cross/debug
+ symbol: WR(B)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ - 'taskcluster/scripts/misc/wr-cargotest-macos-build.sh'
+ - 'taskcluster/scripts/misc/wr-macos-cross-build-setup.sh'
+
+ macos-debug:
+ description: Runs debug-mode WebRender CI tests on a macOS worker
+ worker-type: t-osx-1014
+ worker:
+ max-run-time: 3600
+ env:
+ MOZ_FETCHES_DIR: 'checkouts/gecko/gfx/wr'
+ dependencies:
+ webrender-cargotest-macos-build: webrender-cargotest-macos-build
+ fetches:
+ webrender-cargotest-macos-build:
+ - 'cargo-test-binaries.tar.bz2'
+ run:
+ using: run-task
+ cwd: '{checkout}/gfx/wr'
+ command: >-
+ mv cargo-test-binaries target &&
+ cd target &&
+ for i in debug/deps/*; do $i; done
+ treeherder:
+ platform: macosx1014-64-qr/debug
+ symbol: WR(cargotest)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+
+ windows:
+ description: Runs WebRender CI tests on a Windows worker
+ worker-type: t-win10-64
+ worker:
+ max-run-time: 5400
+ env:
+ TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/win64/vs2017.manifest'
+ fetches:
+ toolchain:
+ - win64-rust
+ - wrench-deps
+ run:
+ using: run-task
+ use-caches: false
+ command: '$GECKO_PATH/taskcluster/scripts/misc/wrench-windows-tests.sh'
+ tooltool-downloads: internal
+ treeherder:
+ platform: windows10-64-qr/release
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'build/win64/mozconfig.vs2017'
+ - 'browser/config/tooltool-manifests/win64/webrender.manifest'
+ - 'gfx/wr/**'
+ - 'taskcluster/scripts/misc/tooltool-download.sh'
+ - 'taskcluster/scripts/misc/wrench-windows-tests.sh'
+
+ wrench-android-debug:
+ description: Debug build of wrench for Android
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ docker-image: {in-tree: webrender}
+ artifacts:
+ - type: file
+ name: public/build/wrench-debug.apk
+ path: /builds/worker/checkouts/gecko/gfx/wr/target/android-artifacts/debug/apk/wrench.apk
+ - type: file
+ name: public/build/reftests.tar.gz
+ path: /builds/worker/checkouts/gecko/gfx/wr/wrench/reftests.tar.gz
+ - type: file
+ name: public/build/mozdevice.tar.gz
+ path: /builds/worker/checkouts/gecko/testing/mozbase/mozdevice.tar.gz
+ run:
+ using: run-task
+ cwd: '{checkout}/gfx/wr/wrench'
+ command: >-
+ $GECKO_PATH/taskcluster/scripts/misc/wrench-android-build.sh debug &&
+ tar czf reftests.tar.gz reftests/ &&
+ cd $GECKO_PATH/testing/mozbase &&
+ tar czf mozdevice.tar.gz mozdevice/
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-rust-android
+ - wrench-deps
+ treeherder:
+ platform: android-em-7-0-x86/debug
+ symbol: WR(B)
+ when:
+ files-changed:
+ - 'build.gradle'
+ - 'gfx/wr/**'
+ - 'taskcluster/scripts/misc/wrench-android-build.sh'
+
+ wrench-android-release:
+ description: Release build of wrench for Android
+ worker-type: b-linux
+ worker:
+ max-run-time: 5400
+ docker-image: {in-tree: webrender}
+ artifacts:
+ - type: file
+ name: public/build/wrench-release.apk
+ path: /builds/worker/checkouts/gecko/gfx/wr/target/android-artifacts/release/apk/wrench.apk
+ - type: file
+ name: public/build/reftests.tar.gz
+ path: /builds/worker/checkouts/gecko/gfx/wr/wrench/reftests.tar.gz
+ - type: file
+ name: public/build/mozdevice.tar.gz
+ path: /builds/worker/checkouts/gecko/testing/mozbase/mozdevice.tar.gz
+ run:
+ using: run-task
+ cwd: '{checkout}/gfx/wr/wrench'
+ command: >-
+ $GECKO_PATH/taskcluster/scripts/misc/wrench-android-build.sh release &&
+ tar czf reftests.tar.gz reftests/ &&
+ cd $GECKO_PATH/testing/mozbase &&
+ tar czf mozdevice.tar.gz mozdevice/
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-rust-android
+ - wrench-deps
+ treeherder:
+ platform: android-em-7-0-x86/opt
+ symbol: WR(B)
+ when:
+ files-changed:
+ - 'build.gradle'
+ - 'gfx/wr/**'
+ - 'taskcluster/scripts/misc/wrench-android-build.sh'
+
+ android-emulator-debug:
+ description: Run debug wrench reftests on Android emulator
+ worker-type: t-linux-metal # privileged:true doesn't work on b-linux
+ worker:
+ max-run-time: 5400
+ docker-image: {in-tree: ubuntu1804-test}
+ privileged: true # for access to /dev/kvm for hw accel in the emulator
+ artifacts:
+ - type: directory
+ name: public/build/logs
+ path: /builds/worker/workspace/build/logs
+ env:
+ # need hard-coded URLs until bug 1551875 is fixed
+ TASKCLUSTER_ROOT_URL: 'https://taskcluster.net'
+ TASKCLUSTER_PROXY_URL: 'http://taskcluster'
+ MOZHARNESS_SCRIPT: android_wrench.py
+ MOZHARNESS_CONFIG: android/wrench.py
+ NEED_WINDOW_MANAGER: 'true'
+ dependencies:
+ webrender-wrench-android-debug: webrender-wrench-android-debug
+ fetches:
+ webrender-wrench-android-debug:
+ - 'wrench-debug.apk'
+ toolchain:
+ - android-sdk-linux
+ run:
+ using: run-task
+ tooltool-downloads: internal
+ command: >-
+ export WRENCH_APK=$MOZ_FETCHES_DIR/wrench-debug.apk &&
+ export WRENCH_REFTESTS=$GECKO_PATH/gfx/wr/wrench/reftests &&
+ export MOZHARNESS_PATH=$GECKO_PATH/testing/mozharness &&
+ $GECKO_PATH/taskcluster/scripts/tester/test-linux.sh
+ treeherder:
+ platform: android-em-7-0-x86/debug
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+
+ android-emulator-release:
+ description: Run release wrench reftests on Android emulator
+ worker-type: t-linux-metal # privileged:true doesn't work on b-linux
+ worker:
+ max-run-time: 5400
+ docker-image: {in-tree: ubuntu1804-test}
+ privileged: true # for access to /dev/kvm for hw accel in the emulator
+ artifacts:
+ - type: directory
+ name: public/build/logs
+ path: /builds/worker/workspace/build/logs
+ env:
+ # need hard-coded URLs until bug 1551875 is fixed
+ TASKCLUSTER_ROOT_URL: 'https://taskcluster.net'
+ TASKCLUSTER_PROXY_URL: 'http://taskcluster'
+ MOZHARNESS_SCRIPT: android_wrench.py
+ MOZHARNESS_CONFIG: android/wrench.py
+ NEED_WINDOW_MANAGER: 'true'
+ dependencies:
+ webrender-wrench-android-release: webrender-wrench-android-release
+ fetches:
+ webrender-wrench-android-release:
+ - 'wrench-release.apk'
+ toolchain:
+ - android-sdk-linux
+ run:
+ using: run-task
+ tooltool-downloads: internal
+ command: >-
+ export WRENCH_APK=$MOZ_FETCHES_DIR/wrench-release.apk &&
+ export WRENCH_REFTESTS=$GECKO_PATH/gfx/wr/wrench/reftests &&
+ export MOZHARNESS_PATH=$GECKO_PATH/testing/mozharness &&
+ $GECKO_PATH/taskcluster/scripts/tester/test-linux.sh
+ treeherder:
+ platform: android-em-7-0-x86/opt
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+
+ android-hw-p2-debug:
+ description: Run debug wrench reftests on Android Pixel2
+ worker-type: t-bitbar-gw-unit-p2
+ worker:
+ max-run-time: 5400
+ artifacts:
+ - type: directory
+ name: public/build/logs
+ path: build/logs
+ env:
+ MOZHARNESS_SCRIPT: android_wrench.py
+ MOZHARNESS_CONFIG: android/wrench.py
+ MOZ_FETCHES_DIR: fetches
+ dependencies:
+ webrender-wrench-android-debug: webrender-wrench-android-debug
+ android-build: build-android-aarch64/debug
+ fetches:
+ webrender-wrench-android-debug:
+ - 'wrench-debug.apk'
+ - 'reftests.tar.gz'
+ - 'mozdevice.tar.gz'
+ android-build:
+ - artifact: 'mozharness.zip'
+ dest: 'mozharness'
+ run:
+ using: run-task
+ checkout: false
+ run-as-root: true
+ command: >-
+ export WRENCH_APK=$MOZ_FETCHES_DIR/wrench-debug.apk &&
+ export WRENCH_REFTESTS=$MOZ_FETCHES_DIR/reftests &&
+ export MOZHARNESS_PATH=$MOZ_FETCHES_DIR/mozharness &&
+ export PYTHONPATH=$MOZ_FETCHES_DIR/mozdevice:$PYTHONPATH &&
+ python2.7 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-p2-8-0-arm7-api-16/debug
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+ - 'testing/mozbase/mozdevice/**'
+
+ android-hw-p2-opt:
+ description: Run opt wrench reftests on Android Pixel2
+ worker-type: t-bitbar-gw-unit-p2
+ worker:
+ max-run-time: 5400
+ artifacts:
+ - type: directory
+ name: public/build/logs
+ path: build/logs
+ env:
+ MOZHARNESS_SCRIPT: android_wrench.py
+ MOZHARNESS_CONFIG: android/wrench.py
+ MOZ_FETCHES_DIR: fetches
+ dependencies:
+ webrender-wrench-android-release: webrender-wrench-android-release
+ android-build: build-android-aarch64-shippable/opt
+ fetches:
+ webrender-wrench-android-release:
+ - 'wrench-release.apk'
+ - 'reftests.tar.gz'
+ - 'mozdevice.tar.gz'
+ android-build:
+ - artifact: 'mozharness.zip'
+ dest: 'mozharness'
+ run:
+ using: run-task
+ checkout: false
+ run-as-root: true
+ command: >-
+ export WRENCH_APK=$MOZ_FETCHES_DIR/wrench-release.apk &&
+ export WRENCH_REFTESTS=$MOZ_FETCHES_DIR/reftests &&
+ export MOZHARNESS_PATH=$MOZ_FETCHES_DIR/mozharness &&
+ export PYTHONPATH=$MOZ_FETCHES_DIR/mozdevice:$PYTHONPATH &&
+ python2.7 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-p2-8-0-arm7-api-16/opt
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+ - 'testing/mozbase/mozdevice/**'
diff --git a/taskcluster/ci/wgpu/kind.yml b/taskcluster/ci/wgpu/kind.yml
new file mode 100644
index 0000000000..da92bb5e4c
--- /dev/null
+++ b/taskcluster/ci/wgpu/kind.yml
@@ -0,0 +1,53 @@
+# 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/.
+---
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - taskgraph.transforms.job:transforms
+ - taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ run-on-projects: ['mozilla-beta', 'trunk']
+ treeherder:
+ tier: 1
+ kind: other
+ worker:
+ max-run-time: 1800
+ env:
+ RUST_BACKTRACE: 'full'
+ RUSTFLAGS: '--deny warnings'
+ run:
+ sparse-profile: wgpu
+ when:
+ files-changed:
+ - 'gfx/wgpu/**'
+
+jobs:
+ linux64-debug:
+ description: Runs debug-mode wgpu CI tests on a Linux worker
+ worker-type: b-linux
+ worker:
+ docker-image: {in-tree: wgpu}
+ fetches:
+ toolchain:
+ - linux64-rust
+ - wgpu-deps
+ run:
+ using: run-task
+ command: >-
+ export PATH=$PATH:$MOZ_FETCHES_DIR/rustc/bin &&
+ cd $GECKO_PATH/gfx/wgpu &&
+ mv $MOZ_FETCHES_DIR/wgpu-deps/{vendor,.cargo} ./ &&
+ cargo test --verbose --frozen
+ treeherder:
+ platform: linux64-qr/debug
+ symbol: Wgpu(test)
+ kind: other