summaryrefslogtreecommitdiffstats
path: root/taskcluster/ci
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--taskcluster/ci/addon/kind.yml37
-rw-r--r--taskcluster/ci/are-we-esmified-yet/kind.yml42
-rw-r--r--taskcluster/ci/artifact-build/kind.yml51
-rw-r--r--taskcluster/ci/balrog/kind.yml31
-rw-r--r--taskcluster/ci/beetmover-checksums/kind.yml26
-rw-r--r--taskcluster/ci/beetmover-geckoview/kind.yml61
-rw-r--r--taskcluster/ci/beetmover-repackage/kind.yml57
-rw-r--r--taskcluster/ci/beetmover-source/kind.yml19
-rw-r--r--taskcluster/ci/bootstrap/kind.yml79
-rw-r--r--taskcluster/ci/bouncer-locations/kind.yml52
-rw-r--r--taskcluster/ci/build-fat-aar/kind.yml165
-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-asan.yml75
-rw-r--r--taskcluster/ci/build/android-stuff.yml53
-rw-r--r--taskcluster/ci/build/android.yml640
-rw-r--r--taskcluster/ci/build/kind.yml84
-rw-r--r--taskcluster/ci/build/linux-base-toolchains.yml160
-rw-r--r--taskcluster/ci/build/linux.yml1693
-rw-r--r--taskcluster/ci/build/macosx-native.yml145
-rw-r--r--taskcluster/ci/build/macosx.yml796
-rw-r--r--taskcluster/ci/build/windows-mingw.yml162
-rw-r--r--taskcluster/ci/build/windows.yml1782
-rw-r--r--taskcluster/ci/code-review/kind.yml41
-rw-r--r--taskcluster/ci/condprof/kind.yml135
-rw-r--r--taskcluster/ci/config.yml717
-rw-r--r--taskcluster/ci/cron-bouncer-check/kind.yml82
-rw-r--r--taskcluster/ci/diffoscope/kind.yml119
-rw-r--r--taskcluster/ci/docker-image/kind.yml213
-rw-r--r--taskcluster/ci/fetch/benchmarks.yml19
-rw-r--r--taskcluster/ci/fetch/browsertime.yml288
-rw-r--r--taskcluster/ci/fetch/chromium-fetch.yml32
-rw-r--r--taskcluster/ci/fetch/kind.yml20
-rw-r--r--taskcluster/ci/fetch/moz.build8
-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.yml621
-rw-r--r--taskcluster/ci/fetch/updatebot.yml33
-rw-r--r--taskcluster/ci/fuzzing/kind.yml64
-rw-r--r--taskcluster/ci/fxrecord/kind.yml31
-rw-r--r--taskcluster/ci/geckodriver-signing/kind.yml16
-rw-r--r--taskcluster/ci/generate-profile/kind.yml251
-rw-r--r--taskcluster/ci/github-sync/kind.yml53
-rw-r--r--taskcluster/ci/hazard/kind.yml82
-rw-r--r--taskcluster/ci/instrumented-build/kind.yml318
-rw-r--r--taskcluster/ci/l10n-bump/kind.yml131
-rw-r--r--taskcluster/ci/l10n-cross-channel/kind.yml41
-rw-r--r--taskcluster/ci/l10n/kind.yml145
-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.yml200
-rw-r--r--taskcluster/ci/openh264-signing/kind.yml13
-rw-r--r--taskcluster/ci/packages/debian.yml136
-rw-r--r--taskcluster/ci/packages/kind.yml25
-rw-r--r--taskcluster/ci/packages/ubuntu.yml81
-rw-r--r--taskcluster/ci/partials-signing/kind.yml20
-rw-r--r--taskcluster/ci/partials/kind.yml35
-rw-r--r--taskcluster/ci/perftest/android.yml441
-rw-r--r--taskcluster/ci/perftest/kind.yml43
-rw-r--r--taskcluster/ci/perftest/linux.yml328
-rw-r--r--taskcluster/ci/perftest/macosx.yml251
-rw-r--r--taskcluster/ci/perftest/windows.yml200
-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/release-balrog-scheduling/kind.yml92
-rw-r--r--taskcluster/ci/release-balrog-submit-toplevel/kind.yml79
-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.yml107
-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.yml77
-rw-r--r--taskcluster/ci/release-final-verify/kind.yml47
-rw-r--r--taskcluster/ci/release-flatpak-push/kind.yml41
-rw-r--r--taskcluster/ci/release-flatpak-repackage/kind.yml66
-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-msix-push/kind.yml45
-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.yml41
-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.yml83
-rw-r--r--taskcluster/ci/release-push-langpacks/kind.yml54
-rw-r--r--taskcluster/ci/release-secondary-balrog-scheduling/kind.yml41
-rw-r--r--taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml46
-rw-r--r--taskcluster/ci/release-secondary-final-verify/kind.yml38
-rw-r--r--taskcluster/ci/release-secondary-flatpak-push/kind.yml37
-rw-r--r--taskcluster/ci/release-secondary-notify-ship/kind.yml36
-rw-r--r--taskcluster/ci/release-secondary-update-verify-config/kind.yml124
-rw-r--r--taskcluster/ci/release-secondary-update-verify/kind.yml77
-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.yml54
-rw-r--r--taskcluster/ci/release-update-verify-config-next/kind.yml98
-rw-r--r--taskcluster/ci/release-update-verify-config/kind.yml292
-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-deb/kind.yml46
-rw-r--r--taskcluster/ci/repackage-l10n/kind.yml67
-rw-r--r--taskcluster/ci/repackage-msi/kind.yml45
-rw-r--r--taskcluster/ci/repackage-msix/kind.yml104
-rw-r--r--taskcluster/ci/repackage-shippable-l10n-msix/kind.yml106
-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-msix/kind.yml13
-rw-r--r--taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml13
-rw-r--r--taskcluster/ci/repackage-signing/kind.yml23
-rw-r--r--taskcluster/ci/repackage/kind.yml75
-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.yml187
-rw-r--r--taskcluster/ci/sentry/kind.yml34
-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.yml199
-rw-r--r--taskcluster/ci/source-test/clang.yml116
-rw-r--r--taskcluster/ci/source-test/cram.yml21
-rw-r--r--taskcluster/ci/source-test/doc.yml70
-rw-r--r--taskcluster/ci/source-test/file-metadata.yml123
-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.yml106
-rw-r--r--taskcluster/ci/source-test/mozlint.yml579
-rw-r--r--taskcluster/ci/source-test/node.yml188
-rw-r--r--taskcluster/ci/source-test/python.yml619
-rw-r--r--taskcluster/ci/source-test/remote.yml47
-rw-r--r--taskcluster/ci/source-test/shadow-scheduler.yml178
-rw-r--r--taskcluster/ci/source-test/taskgraph.yml36
-rw-r--r--taskcluster/ci/source-test/vendor.yml44
-rw-r--r--taskcluster/ci/source-test/webcompat.yml37
-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.yml58
-rw-r--r--taskcluster/ci/spidermonkey/kind.yml74
-rw-r--r--taskcluster/ci/spidermonkey/linux.yml499
-rw-r--r--taskcluster/ci/spidermonkey/windows.yml118
-rw-r--r--taskcluster/ci/startup-test/kind.yml128
-rw-r--r--taskcluster/ci/static-analysis-autotest/kind.yml100
-rw-r--r--taskcluster/ci/system-symbols-reprocess/kind.yml46
-rw-r--r--taskcluster/ci/system-symbols-upload/kind.yml31
-rw-r--r--taskcluster/ci/system-symbols/kind.yml248
-rw-r--r--taskcluster/ci/test/awsy.yml75
-rw-r--r--taskcluster/ci/test/browsertime-desktop.yml591
-rw-r--r--taskcluster/ci/test/browsertime-mobile.yml371
-rw-r--r--taskcluster/ci/test/compiled.yml136
-rw-r--r--taskcluster/ci/test/firefox-ui.yml27
-rw-r--r--taskcluster/ci/test/kind.yml87
-rw-r--r--taskcluster/ci/test/marionette.yml55
-rw-r--r--taskcluster/ci/test/misc.yml273
-rw-r--r--taskcluster/ci/test/mochitest.yml1032
-rw-r--r--taskcluster/ci/test/raptor-chrome.yml27
-rw-r--r--taskcluster/ci/test/raptor.yml90
-rw-r--r--taskcluster/ci/test/reftest.yml259
-rw-r--r--taskcluster/ci/test/talos.yml812
-rw-r--r--taskcluster/ci/test/test-platforms.yml419
-rw-r--r--taskcluster/ci/test/test-sets.yml431
-rw-r--r--taskcluster/ci/test/variants.yml316
-rw-r--r--taskcluster/ci/test/web-platform.yml436
-rw-r--r--taskcluster/ci/test/xpcshell.yml193
-rw-r--r--taskcluster/ci/toolchain/android.yml230
-rw-r--r--taskcluster/ci/toolchain/cargo-vet.yml64
-rw-r--r--taskcluster/ci/toolchain/cbindgen.yml67
-rw-r--r--taskcluster/ci/toolchain/clang-tidy.yml132
-rw-r--r--taskcluster/ci/toolchain/clang.yml871
-rw-r--r--taskcluster/ci/toolchain/compiler-rt.yml462
-rw-r--r--taskcluster/ci/toolchain/dist-toolchains.yml40
-rw-r--r--taskcluster/ci/toolchain/dump-syms.yml64
-rw-r--r--taskcluster/ci/toolchain/fix-stacks.yml74
-rw-r--r--taskcluster/ci/toolchain/gcc.yml95
-rw-r--r--taskcluster/ci/toolchain/geckodriver.yml139
-rw-r--r--taskcluster/ci/toolchain/gn.yml50
-rw-r--r--taskcluster/ci/toolchain/grcov.yml49
-rw-r--r--taskcluster/ci/toolchain/kind.yml52
-rw-r--r--taskcluster/ci/toolchain/llvm-symbolizer.yml241
-rw-r--r--taskcluster/ci/toolchain/macos-sdk.yml47
-rw-r--r--taskcluster/ci/toolchain/mingw.yml42
-rw-r--r--taskcluster/ci/toolchain/minidump-stackwalk.yml98
-rw-r--r--taskcluster/ci/toolchain/misc.yml373
-rw-r--r--taskcluster/ci/toolchain/nasm.yml89
-rw-r--r--taskcluster/ci/toolchain/node.yml92
-rw-r--r--taskcluster/ci/toolchain/pkgconf.yml58
-rw-r--r--taskcluster/ci/toolchain/resourcemonitor.yml44
-rw-r--r--taskcluster/ci/toolchain/rust-size.yml38
-rw-r--r--taskcluster/ci/toolchain/rust.yml266
-rw-r--r--taskcluster/ci/toolchain/sccache.yml88
-rw-r--r--taskcluster/ci/toolchain/sysroot.yml160
-rw-r--r--taskcluster/ci/updatebot/kind.yml92
-rw-r--r--taskcluster/ci/updatebot/moz.build8
-rw-r--r--taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest29
-rw-r--r--taskcluster/ci/upload-generated-sources-dummy/kind.yml24
-rw-r--r--taskcluster/ci/upload-generated-sources/kind.yml38
-rw-r--r--taskcluster/ci/upload-symbols-dummy/kind.yml24
-rw-r--r--taskcluster/ci/upload-symbols/kind.yml52
-rw-r--r--taskcluster/ci/valgrind/kind.yml64
-rw-r--r--taskcluster/ci/webrender/kind.yml607
229 files changed, 30282 insertions, 0 deletions
diff --git a/taskcluster/ci/addon/kind.yml b/taskcluster/ci/addon/kind.yml
new file mode 100644
index 0000000000..361071e6be
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ worker:
+ docker-image: {in-tree: debian11-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/are-we-esmified-yet/kind.yml b/taskcluster/ci/are-we-esmified-yet/kind.yml
new file mode 100644
index 0000000000..f2c462f455
--- /dev/null
+++ b/taskcluster/ci/are-we-esmified-yet/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ check:
+ description: Extracts statistics on remaining JSMs in the codebase
+ run-on-projects: []
+ attributes:
+ cron: true
+ index:
+ product: firefox
+ job-name: are-we-esmified-yet
+ treeherder:
+ platform: lint/opt
+ kind: other
+ symbol: js(esm)
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 3600
+ artifacts:
+ - type: file
+ name: public/are-we-esmified-yet.json
+ path: /builds/worker/artifacts/are-we-esmified-yet.json
+ run:
+ using: run-task
+ command: >-
+ mkdir -p /builds/worker/artifacts &&
+ cd ${GECKO_PATH} &&
+ python3 ./taskcluster/scripts/misc/are-we-esmified-yet.py > /builds/worker/artifacts/are-we-esmified-yet.json
diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml
new file mode 100644
index 0000000000..007370467e
--- /dev/null
+++ b/taskcluster/ci/artifact-build/kind.yml
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_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-gcp
+ worker:
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: artifact
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ 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
+ 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..eda695f225
--- /dev/null
+++ b/taskcluster/ci/balrog/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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.balrog_submit:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-repackage
+ - startup-test
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+not-for-build-platforms:
+ - android-arm-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..22cfecad02
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_checksums:transforms
+ - gecko_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/gecko_taskgraph/manifests/firefox_candidates_checksums.yml
+ default: taskcluster/gecko_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..063f35bc01
--- /dev/null
+++ b/taskcluster/ci/beetmover-geckoview/kind.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/.
+---
+loader: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_geckoview:transforms
+ - gecko_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/gecko_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.
+ # That happens:
+ # 1. as part of the ship-geckoview graph on mozilla-central
+ # 2. as part of Firefox promote graphs on both mozilla-beta and mozilla-release
+ # 3. 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 is handled in target_tasks directly because it's mixing and
+ # matching 2 different shipping-products
+ mozilla-release: build
+ default: promote
+ 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..9d735c7c87
--- /dev/null
+++ b/taskcluster/ci/beetmover-repackage/kind.yml
@@ -0,0 +1,57 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: single-locale
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_repackage_l10n:transforms
+ - gecko_taskgraph.transforms.beetmover_repackage:transforms
+ - gecko_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
+ - repackage-signing-shippable-l10n-msix
+ - 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/gecko_taskgraph/manifests/firefox_candidates.yml
+ default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/beetmover-source/kind.yml b/taskcluster/ci/beetmover-source/kind.yml
new file mode 100644
index 0000000000..54e5751ff8
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover:transforms
+ - gecko_taskgraph.transforms.beetmover_source:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map: taskcluster/gecko_taskgraph/manifests/source_files.yml
diff --git a/taskcluster/ci/bootstrap/kind.yml b/taskcluster/ci/bootstrap/kind.yml
new file mode 100644
index 0000000000..9a12521820
--- /dev/null
+++ b/taskcluster/ci/bootstrap/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.bootstrap:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ debian10:
+ image: debian:buster
+ pre-commands:
+ - apt-get update
+ - apt-get install -y --no-install-recommends curl mercurial python3-pip
+ debian11:
+ image: debian:bullseye
+ pre-commands:
+ - apt-get update
+ - apt-get install -y --no-install-recommends curl mercurial python3-pip
+ debian12:
+ image: debian:bookworm
+ pre-commands:
+ - apt-get update
+ - apt-get install -y --no-install-recommends curl mercurial python3-pip
+ ubuntu2204:
+ image: ubuntu:jammy
+ pre-commands:
+ - apt-get update
+ - apt-get install -y --no-install-recommends curl mercurial python3-pip
+ ubuntu2210:
+ image: ubuntu:kinetic
+ pre-commands:
+ - apt-get update
+ - apt-get install -y --no-install-recommends curl mercurial python3-pip
+ fedora36:
+ image: fedora:36
+ pre-commands:
+ - dnf install -y mercurial python3-pip
+ fedora37:
+ image: fedora:37
+ pre-commands:
+ - dnf install -y mercurial python3-pip
+ # Work around https://bz.mercurial-scm.org/show_bug.cgi?id=6761
+ - mkdir -p /etc/mercurial/hgrc.d
+ - (echo "[devel]"; echo discovery.randomize=false) > /etc/mercurial/hgrc.d/workaround.rc
+ rockylinux8:
+ image: rockylinux:8
+ pre-commands:
+ - dnf install -y mercurial python3-pip
+ opensuse-leap:
+ image: opensuse/leap
+ pre-commands:
+ - zypper install -y mercurial python3-pip gzip
+ opensuse-tumbleweed:
+ image: opensuse/tumbleweed
+ pre-commands:
+ - zypper install -y mercurial python3-pip
+ gentoo:
+ image: gentoo/stage3
+ pre-commands:
+ - emerge --sync
+ - emerge mercurial dev-python/pip
+ archlinux:
+ image: archlinux
+ pre-commands:
+ - pacman -Sy --noconfirm mercurial python-pip
+ voidlinux:
+ image: voidlinux/voidlinux
+ pre-commands:
+ - xbps-install -Suyv xbps
+ - xbps-install -Suyv curl mercurial python3-pip
+ # Work around https://bz.mercurial-scm.org/show_bug.cgi?id=6761
+ - mkdir -p /etc/mercurial/hgrc.d
+ - (echo "[devel]"; echo discovery.randomize=false) > /etc/mercurial/hgrc.d/workaround.rc
diff --git a/taskcluster/ci/bouncer-locations/kind.yml b/taskcluster/ci/bouncer-locations/kind.yml
new file mode 100644
index 0000000000..4234939369
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+transforms:
+ - gecko_taskgraph.transforms.bouncer_locations:transforms
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_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..3c5c563b63
--- /dev/null
+++ b/taskcluster/ci/build-fat-aar/kind.yml
@@ -0,0 +1,165 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - build
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.build_fat_aar:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
+ index:
+ product: mobile
+ worker-type: b-linux-gcp
+ 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"
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ artifacts:
+ - name: public/build/maven
+ path: /builds/worker/workspace/obj-build/gradle/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-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ 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/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ run:
+ using: mozharness
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: null
+ tooltool-downloads: internal
+ # 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-ndk-linux
+ - android-sdk-linux
+ - linux64-clang
+ - linux64-jdk
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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
+ maven_packages:
+ - geckoview
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-geckoview-fat-aar-opt
+ type: shippable-with-multi-l10n
+ treeherder:
+ platform: android-5-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-arm-shippable: build-android-arm-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
+ custom-build-variant-cfg: arm
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ optimization:
+ skip-unless-backstop: null
+
+ android-geckoview-fat-aar-shippable-lite/opt:
+ description: "Android GeckoView Lite multi-architecture fat AAR Shippable"
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ disable-push-apk: true
+ maven_packages:
+ - geckoview
+ - geckoview-exoplayer2
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-geckoview-fat-aar-opt-lite
+ type: shippable-with-multi-l10n
+ treeherder:
+ platform: android-4-1-geckoview-fat-aar-shippable/opt
+ symbol: Bgvl
+ dependencies:
+ android-x86-shippable-lite: build-android-x86-shippable-lite/opt
+ android-x86_64-shippable-lite: build-android-x86_64-shippable-lite/opt
+ android-arm-shippable-lite: build-android-arm-shippable-lite/opt
+ android-aarch64-shippable-lite: build-android-aarch64-shippable-lite/opt
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: arm-lite
+ fetches:
+ toolchain:
+ - android-gradle-dependencies-lite
+ 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..9a5e111638
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.build_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..79dd5fb373
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.mac_notarization_poller:transforms
+ - gecko_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..0d62fd6092
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.upstream_artifact_task:transforms
+ - gecko_taskgraph.transforms.build_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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-asan.yml b/taskcluster/ci/build/android-asan.yml
new file mode 100644
index 0000000000..4cc846dece
--- /dev/null
+++ b/taskcluster/ci/build/android-asan.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:
+ attributes:
+ artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
+ maven_packages:
+ - geckoview
+ 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/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-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.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-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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-large-gcp
+ 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: fuzzing-asan-tc
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/build/android-stuff.yml b/taskcluster/ci/build/android-stuff.yml
new file mode 100644
index 0000000000..52bed7b18f
--- /dev/null
+++ b/taskcluster/ci/build/android-stuff.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:
+ 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-1-armv7/opt
+ kind: build
+ tier: 2
+ symbol: A(gv-docs)
+ run-on-projects: [mozilla-central-only]
+ worker-type: b-linux-gcp
+ 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/mobile/android/geckoview/docs/javadoc/withGeckoBinaries-debug/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-jdk
+ - 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..d45d4532c6
--- /dev/null
+++ b/taskcluster/ci/build/android.yml
@@ -0,0 +1,640 @@
+# 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/gecko_taskgraph/manifests/fennec_geckoview.yml
+ maven_packages:
+ - geckoview
+ 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/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-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ 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/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ 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-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+android-arm/debug:
+ description: "Android 5.0 Arm Debug"
+ index:
+ job-name: android-arm-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-armv7/debug
+ symbol: B
+ worker-type: b-linux-gcp
+ 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: arm-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-x86/opt:
+ description: "Android 5.0 x86 Opt"
+ index:
+ job-name: android-x86-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ 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-gradle-dependencies
+
+android-x86-lite/opt:
+ description: "Android 4.1 x86 Opt"
+ index:
+ job-name: android-x86-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-1-x86/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-x86-shippable/opt:
+ description: "Android 5.0 x86 Shippable"
+ use-pgo: true
+ 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-5-0-x86-shippable/opt
+ symbol: B
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ 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-gradle-dependencies
+
+android-x86-shippable-lite/opt:
+ description: "Android 4.1 x86 Shippable Lite"
+ use-pgo: android-x86-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86-lite-opt
+ type: android-shippable
+ treeherder:
+ platform: android-4-1-x86-shippable-lite/opt
+ symbol: Bl
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ 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-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+android-arm/opt:
+ description: "Android 5.0 Arm Opt"
+ index:
+ job-name: android-arm-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-armv7/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ 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: arm
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+ - linux64-sccache
+
+android-arm-lite/opt:
+ description: "Android 4.1 Arm Opt Lite"
+ index:
+ job-name: android-arm-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-1-armv7/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: arm-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-arm-shippable/opt:
+ description: "Android 5.0 Arm Shippable"
+ use-pgo: android-x86-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-arm-opt
+ type: android-shippable-with-multi-l10n
+ treeherder:
+ platform: android-5-0-armv7-shippable/opt
+ symbol: Bpgo(B)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ 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: arm
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+
+android-arm-shippable-lite/opt:
+ description: "Android 4.1 Arm Shippable Lite"
+ use-pgo: android-x86-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-arm-lite-opt
+ type: android-shippable-with-multi-l10n
+ treeherder:
+ platform: android-4-1-armv7-shippable-lite/opt
+ symbol: Bpgo(Bl)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ 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: arm-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+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-gcp
+ 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-gradle-dependencies
+
+android-aarch64-lite/opt:
+ description: "Android 5.0 AArch64 Opt Lite"
+ index:
+ job-name: android-aarch64-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+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-gcp
+ 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-gradle-dependencies
+
+android-aarch64-shippable/opt:
+ description: "Android 5.0 AArch64 Shippable"
+ use-pgo: android-x86_64-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-gcp
+ 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-gradle-dependencies
+
+android-aarch64-shippable-lite/opt:
+ description: "Android 5.0 AArch64 Shippable Lite"
+ use-pgo: android-x86_64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-aarch64-lite-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-aarch64-shippable-lite/opt
+ symbol: Bpgo(Bl)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: aarch64-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+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-gcp
+ 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-gradle-dependencies
+
+android-x86_64-lite/opt:
+ description: "Android 5.0 x86-64 Opt Lite"
+ index:
+ job-name: android-x86_64-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-x86_64-fuzzing/debug:
+ description: "Android x86_64 Fuzzing Debug"
+ index:
+ job-name: android-x86_64-fuzzing-debug
+ treeherder:
+ platform: android-5-0-x86_64/debug
+ symbol: Bf
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: fuzzing-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+ optimization:
+ skip-unless-expanded: null
+
+android-x86_64-shippable/opt:
+ description: "Android 5.0 x86-64 Shippable"
+ use-pgo: true
+ 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-gcp
+ 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-gradle-dependencies
+
+android-x86_64-shippable-lite/opt:
+ description: "Android 5.0 x86-64 Shippable Lite"
+ use-pgo: android-x86_64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86_64-lite-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-x86_64-shippable-lite/opt
+ symbol: Bl
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86_64-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+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-gcp
+ 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-gradle-dependencies
+
+android-x86_64/debug-isolated-process:
+ description: "Android 5.0 x86-64 Debug with Isolated Process"
+ index:
+ job-name: android-x86_64-debug-isolated-process
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/debug-isolated-process
+ symbol: Bip
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: isolated-process
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-debug-isolated-process
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/ci/build/kind.yml
new file mode 100644
index 0000000000..53cc565d05
--- /dev/null
+++ b/taskcluster/ci/build/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+ - generate-profile
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - android.yml
+ - android-asan.yml
+ - android-stuff.yml
+ - linux.yml
+ - linux-base-toolchains.yml
+ - macosx.yml
+ - macosx-native.yml
+ - windows.yml
+ - windows-mingw.yml
+
+job-defaults:
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ 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..3d61208bc1
--- /dev/null
+++ b/taskcluster/ci/build/linux-base-toolchains.yml
@@ -0,0 +1,160 @@
+# 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.
+---
+job-defaults:
+ worker-type: b-linux-gcp
+
+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:
+ max-run-time: 7200
+ env:
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils-2.31.1
+ - linux64-clang-5.0
+ - linux64-gcc-7
+ - linux64-rust-base
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm-2.14.02
+ - linux64-node-12
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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:
+ max-run-time: 7200
+ env:
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils-2.31.1
+ - linux64-clang-5.0
+ - linux64-gcc-7
+ - linux64-rust-base
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm-2.14.02
+ - linux64-node-12
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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:
+ 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
+ fetches:
+ toolchain:
+ - linux64-clang-5.0
+ - linux64-rust-base
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm-2.14.02
+ - linux64-node-12
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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:
+ 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
+ fetches:
+ toolchain:
+ - linux64-clang-5.0
+ - linux64-rust-base
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm-2.14.02
+ - linux64-node-12
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml
new file mode 100644
index 0000000000..c6b0e8dbfc
--- /dev/null
+++ b/taskcluster/ci/build/linux.yml
@@ -0,0 +1,1693 @@
+# 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-gcp
+
+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:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ # bug 1690154 - enable full symbols on all branches, but only
+ # upload them on the official set. In conjunction with
+ # `enable-full-crashsymbols`.
+ MOZ_ENABLE_FULL_SYMBOLS: "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
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-x11/opt:
+ description: "Linux64 Opt (X11-only)"
+ index:
+ product: firefox
+ job-name: linux64-x11-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bx
+ tier: 2
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: x11
+ 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
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu-x11
+ - sysroot-wasm32-wasi
+
+linux64-plain/opt:
+ description: "Linux64 Opt Plain"
+ index:
+ product: firefox
+ job-name: linux64-plain-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bp
+ tier: 1
+ worker:
+ 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-clang
+ - linux64-rust
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+linux64-hybrid/plain:
+ description: "Linux64 Plain Hybrid"
+ index:
+ product: firefox
+ job-name: linux64-hybrid-plain
+ treeherder:
+ platform: linux64/plain
+ symbol: Bp-hybrid
+ tier: 1
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: hybrid
+ 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
+ extra-config:
+ disable_package_metrics: true
+ mozconfig-variant: hybrid
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-gcc/opt:
+ description: "Linux64 GCC Opt"
+ index:
+ product: firefox
+ job-name: linux64-gcc-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: Bgcc
+ tier: 2
+ run-on-projects: ['mozilla-central']
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: gcc
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-gcc-11
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-plain-clang-trunk/opt:
+ description: "Linux64 Opt Plain with clang trunk"
+ index:
+ product: firefox
+ job-name: linux64-plain-opt-ct
+ treeherder:
+ platform: linux64/opt
+ symbol: Bp-clang-trunk
+ tier: 2
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: plain-clang-trunk
+ 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-trunk
+ run-on-projects: []
+ fetches:
+ toolchain:
+ - linux64-clang-trunk
+ - linux64-rust
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-toolchain-sysroot
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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:
+ max-run-time: 5400
+ env:
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+linux64-fuzzing-noopt/debug:
+ description: "Linux64 Fuzzing No-optimize Debug"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-noopt-debug
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64-noopt/debug
+ symbol: Bf
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: fuzzing-noopt-debug
+ 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-noopt
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ # bug 1690154 - enable full symbols on all branches, but only
+ # upload them on the official set. In conjunction with
+ # `enable-full-crashsymbols`.
+ MOZ_ENABLE_FULL_SYMBOLS: "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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-plain/debug:
+ description: "Linux64 Debug Plain"
+ index:
+ product: firefox
+ job-name: linux64-plain-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: Bp
+ tier: 1
+ worker:
+ 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-clang
+ - linux64-rust
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ # bug 1690154 - enable full symbols on all branches, but only
+ # upload them on the official set. In conjunction with
+ # `enable-full-crashsymbols`.
+ MOZ_ENABLE_FULL_SYMBOLS: "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
+ 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-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ 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
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr102']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux-fuzzing/debug:
+ description: "Linux32 Fuzzing Debug"
+ index:
+ product: firefox
+ job-name: linux-fuzzing-debug
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux32/debug
+ symbol: Bf
+ worker:
+ max-run-time: 5400
+ env:
+ 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_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: fuzzing-debug
+ mozconfig-variant: debug-fuzzing
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux32-llvm-symbolizer
+ - linux64-sccache
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+linux/debug:
+ description: "Linux32 Debug"
+ index:
+ product: firefox
+ job-name: linux-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux32/debug
+ symbol: B
+ 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_32_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ tooltool-downloads: public
+ run-on-projects: ['release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ 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-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ 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:
+ 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-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ 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-gcp
+ 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_32_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: linux-devedition
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ 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-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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-gcp
+ 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_32_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ 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-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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-gcp
+ 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_32_builds.py
+ - taskcluster_nightly.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ # 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-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux-asan-fuzzing/opt:
+ description: "Linux32 Fuzzing Opt ASAN"
+ index:
+ product: firefox
+ job-name: linux-fuzzing-asan-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux32/asan
+ symbol: Bof
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-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_32_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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux32-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+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-gcp
+ 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
+ # 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-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-asan/opt:
+ description: "Linux64 Opt ASAN"
+ index:
+ product: firefox
+ job-name: linux64-asan-opt
+ treeherder:
+ platform: linux64/asan
+ symbol: Bo
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt asan"
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-tsan/opt:
+ description: "Linux64 Opt TSAN"
+ index:
+ product: firefox
+ job-name: linux64-tsan-opt
+ treeherder:
+ platform: linux64/tsan
+ symbol: Bo
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+linux64-asan-fuzzing/noopt:
+ description: "Linux64 Fuzzing No-optimize ASAN"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-asan-noopt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64-noopt/asan
+ symbol: Bf
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-noopt
+ 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-noopt
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+linux64-asan-fuzzing-nyx/opt:
+ description: "Linux64 Fuzzing Opt ASAN NYX"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-asan-nyx-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/asan
+ symbol: Bonf
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-nyx
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ AFL_CC: /builds/worker/fetches/clang/bin/clang
+ AFL_CXX: /builds/worker/fetches/clang/bin/clang++
+ max-run-time: 7200
+ 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-nyx
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-afl-instrumentation
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-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-asan-tc
+ mozconfig-variant: nightly-fuzzing-asan
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-ccov
+ 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
+ use-sccache: false
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: fuzzing-ccov
+ 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
+ use-sccache: false
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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-gcp
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-reporter
+ 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
+ mar-channel-id:
+ firefox-mozilla-central-asan
+ accepted-mar-channel-ids:
+ firefox-mozilla-central-asan
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-asan/debug:
+ description: "Linux64 Debug ASAN"
+ index:
+ product: firefox
+ job-name: linux64-asan-debug
+ treeherder:
+ platform: linux64/asan
+ symbol: Bd
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "debug asan"
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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-gcp
+ worker:
+ max-run-time: 9000
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ # bug 1690154 - enable full symbols on all branches, but only
+ # upload them on the official set. In conjunction with
+ # `enable-full-crashsymbols`.
+ MOZ_ENABLE_FULL_SYMBOLS: "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
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ 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
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ 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-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ 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:
+ 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-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ 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:
+ artifacts:
+ - name: public/code-coverage-grcov.zip
+ path: /builds/worker/workspace/obj-build/code-coverage-grcov.zip
+ type: file
+ max-run-time: 7200
+ env:
+ 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
+ use-sccache: false
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-grcov
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-ccov/debug:
+ description: "Linux64-CCov Debug"
+ index:
+ product: firefox
+ job-name: linux64-ccov-debug
+ treeherder:
+ platform: linux64-ccov/debug
+ symbol: B
+ tier: 2
+ run-on-projects: []
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ custom-build-variant-cfg: code-coverage-debug
+ mozconfig-variant: code-coverage-debug
+ tooltool-downloads: public
+ use-sccache: false
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-grcov
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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:
+ 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
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-aarch64/opt:
+ description: "Linux64 aarch64 Opt"
+ use-pgo: linux64-shippable/opt
+ index:
+ product: firefox
+ job-name: linux64-aarch64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64-aarch64/opt
+ symbol: B
+ tier: 2
+ worker:
+ 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
+ run-on-projects: ['integration']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-aarch64-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/build/macosx-native.yml b/taskcluster/ci/build/macosx-native.yml
new file mode 100644
index 0000000000..ad77b6e5aa
--- /dev/null
+++ b/taskcluster/ci/build/macosx-native.yml
@@ -0,0 +1,145 @@
+# 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: 1
+ 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-clang
+ - macosx64-cbindgen
+ - macosx64-nasm
+ - macosx64-node
+ - macosx64-rust
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ 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: 1
+ 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-clang
+ - macosx64-cbindgen
+ - macosx64-nasm
+ - macosx64-node
+ - macosx64-rust
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-rusttests/opt:
+ description: "MacOS X x64 Rust Tests Opt"
+ index:
+ job-name: macosx64-rusttests-opt
+ treeherder:
+ platform: macosx64/opt
+ symbol: BR
+ tier: 1
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ run:
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_macosx.py
+ - builds/releng_sub_mac_configs/rusttests.py
+ extra-config:
+ mozconfig_platform: macosx64
+ mozconfig-variant: rusttests
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - macosx64-clang
+ - macosx64-rust
+ - macosx64-cbindgen
+ - macosx64-nasm
+ - macosx64-node
+ - macosx64-sdk
+ optimization:
+ test-inclusive: [rusttests]
+
+macosx64-rusttests/debug:
+ description: "MacOS X x64 Rust Tests Debug"
+ index:
+ job-name: macosx64-rusttests-debug
+ treeherder:
+ platform: macosx64/debug
+ symbol: BR
+ tier: 1
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: rusttests
+ run:
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_macosx.py
+ - builds/releng_sub_mac_configs/rusttests.py
+ extra-config:
+ mozconfig_platform: macosx64
+ mozconfig-variant: rusttests-debug
+ run-on-projects: ['trunk']
+ fetches:
+ toolchain:
+ - macosx64-clang
+ - macosx64-rust
+ - macosx64-cbindgen
+ - macosx64-nasm
+ - macosx64-node
+ - macosx64-sdk
+ optimization:
+ test-inclusive: [rusttests]
diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/ci/build/macosx.yml
new file mode 100644
index 0000000000..facfaea4c0
--- /dev/null
+++ b/taskcluster/ci/build/macosx.yml
@@ -0,0 +1,796 @@
+# 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-gcp
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ secrets: true
+ script: "mozharness/scripts/fx_desktop_build.py"
+ fetches:
+ toolchain:
+ - linux64-dump_syms
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-rust-macos
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+
+macosx64/debug:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ job-name: macosx64-debug
+ attributes:
+ enable-build-signing: true
+ 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
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-hybrid/plain:
+ description: "MacOS X x64 Hybrid Cross-compile"
+ index:
+ job-name: macosx64-hybrid
+ treeherder:
+ platform: osx-cross/plain
+ symbol: Bp-hybrid
+ tier: 1
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: hybrid
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ mozconfig-variant: hybrid
+ extra-config:
+ disable_package_metrics: true
+ use-sccache: true
+ run-on-projects: ['integration']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+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
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-asan-fuzzing/opt:
+ description: "MacOS X x64 Cross-compile Fuzzing ASAN"
+ index:
+ job-name: macosx64-fuzzing-asan-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: osx-cross/asan
+ symbol: Bof
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ 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
+ - linux64-sccache
+ - macosx64-llvm-symbolizer
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ 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
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: osx-cross/debug
+ symbol: Bf
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ 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
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-aarch64-asan-fuzzing/opt:
+ description: "MacOS X Aarch64 Cross-compile Fuzzing ASAN"
+ index:
+ job-name: macosx64-aarch64-fuzzing-asan-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: osx-cross/asan
+ symbol: Bofaarch64
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: aarch64-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
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-aarch64-llvm-symbolizer
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-aarch64-fuzzing/debug:
+ description: "MacOS X Aarch64 Cross-compile Fuzzing Debug"
+ index:
+ job-name: macosx64-aarch64-fuzzing-debug
+ attributes:
+ enable-full-crashsymbols: true
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: osx-cross/debug
+ symbol: Bfaarch64
+ worker:
+ max-run-time: 5400
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: aarch64-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
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-aarch64-llvm-symbolizer
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
+macosx64-x64-devedition/opt:
+ description: "MacOS X Dev Edition x64 (shippable)"
+ worker-type: b-linux-gcp
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ upload-generated-sources: 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
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-aarch64-devedition/opt:
+ description: "MacOS X Dev Edition Aarch64 (shippable)"
+ worker-type: b-linux-gcp
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ upload-generated-sources: 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:
+ 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
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-devedition/opt:
+ description: "MacOS X Dev Edition Universal"
+ worker-type: b-linux-gcp
+ 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.xpt_artifacts.zip
+ 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
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-aarch64-noopt/debug:
+ description: "MacOS X aarch64 No-optimize Debug"
+ index:
+ job-name: macosx64-aarch64-noopt-debug
+ treeherder:
+ platform: osx-cross-noopt/debug
+ symbol: Baarch64
+ tier: 2
+ worker:
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ 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
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+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
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-x64-shippable/opt:
+ description: "MacOS X x64 Cross-compile"
+ worker-type: b-linux-gcp
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ upload-generated-sources: 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
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-aarch64-shippable/opt:
+ description: "MacOS X aarch64 Cross-compile"
+ worker-type: b-linux-gcp
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ upload-generated-sources: 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:
+ 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
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-shippable/opt:
+ description: "MacOS X Universal"
+ worker-type: b-linux-gcp
+ 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.xpt_artifacts.zip
+ 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: false
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/build/windows-mingw.yml b/taskcluster/ci/build/windows-mingw.yml
new file mode 100644
index 0000000000..91c00b7d53
--- /dev/null
+++ b/taskcluster/ci/build/windows-mingw.yml
@@ -0,0 +1,162 @@
+# 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-gcp
+ worker:
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [build]
+ script: mozharness/scripts/fx_desktop_build.py
+ 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-esr102']
+ 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
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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-esr102']
+ 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
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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-esr102']
+ 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
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+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-esr102']
+ 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
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/ci/build/windows.yml
new file mode 100644
index 0000000000..c6d528a681
--- /dev/null
+++ b/taskcluster/ci/build/windows.yml
@@ -0,0 +1,1782 @@
+# 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
+
+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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - upx-3.95-win
+
+win32-fuzzing/debug:
+ description: "Win32 Fuzzing Debug"
+ index:
+ product: firefox
+ job-name: win32-fuzzing-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: Bf
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ 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/debug.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ mozconfig-variant: debug-fuzzing
+ run-on-projects: ['trunk']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - upx-3.95-win
+
+win64-hybrid/plain:
+ description: "Win64 Hybrid Plain"
+ index:
+ product: firefox
+ job-name: win64-hybrid-plain
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: Bp-hybrid
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: hybrid
+ 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
+ mozconfig-variant: hybrid
+ extra-config:
+ mozconfig_platform: win64
+ use-sccache: true
+ run-on-projects: ['integration']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ 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
+ mozconfig-variant: debug-fuzzing
+ run-on-projects: ['trunk']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ 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
+ - win64-rust
+ - win64-node
+ - win64-nasm
+ - win64-cbindgen
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ - nsis
+ - sysroot-wasm32-wasi
+ 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ 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
+ - win64-rust
+ - win64-nasm
+ - win64-node
+ - win64-cbindgen
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ - nsis
+ - sysroot-wasm32-wasi
+ 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-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ 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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ 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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 10800
+ 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
+ mozconfig-variant: add-on-devel
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 10800
+ 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
+ mozconfig-variant: add-on-devel
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ 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
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ 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
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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
+ 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
+ app_name: tools/rusttests
+ disable_package_metrics: true
+ mozconfig-variant: rusttests
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ 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
+ 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
+ app_name: tools/rusttests
+ disable_package_metrics: true
+ mozconfig-variant: rusttests-debug
+ run-on-projects: ['mozilla-central']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ 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
+ 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
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ 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
+ 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
+ - win64-rust
+ - win64-cbindgen
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ 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:
+ 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: false
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-rust-size
+ - win64-cbindgen
+ - win64-grcov
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ - nsis
+ - sysroot-wasm32-wasi
+
+win64-fuzzing-ccov/opt:
+ description: "Win64 Fuzzing Opt w/ Coverage"
+ index:
+ product: firefox
+ job-name: win64-ccov-fuzzing-opt
+ treeherder:
+ platform: windows2012-64/ccov
+ symbol: Bocf
+ 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:
+ RUSTC_BOOTSTRAP: '1'
+ PERFHERDER_EXTRA_OPTIONS: "fuzzing-ccov"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ options: [append-env-variables-from-configs]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/ccov_opt.py
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ mozconfig-variant: fuzzing-ccov
+ tooltool-downloads: public
+ run-on-projects: ['mozilla-central']
+ use-sccache: false
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-rust-size
+ - win64-cbindgen
+ - win64-grcov
+ - win64-sccache
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - win64-vs2017
+ - nsis
+ - sysroot-wasm32-wasi
+
+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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ mozconfig-variant: debug-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-llvm-symbolizer
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ mozconfig-variant: nightly-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-llvm-symbolizer
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ 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-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-llvm-symbolizer
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ mozconfig-variant: nightly-fuzzing-asan
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-llvm-symbolizer
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ 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
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ 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
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ mozconfig-variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ run-on-projects: ['integration']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ - nsis
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ - nsis
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ run-on-projects: ['all']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ - nsis
+ fetch:
+ - 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ 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
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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..da76da0260
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.code_review:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+
+ # 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: debian11-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..2c71dcd6ea
--- /dev/null
+++ b/taskcluster/ci/condprof/kind.yml
@@ -0,0 +1,135 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - build
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.condprof:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ kind: other
+ tier: 2
+ scenarios:
+ - settled
+ 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
+ run-on-projects: ['mozilla-central']
+ treeherder:
+ symbol: condprof(firefox)
+ platform: windows2012-64/opt
+ index:
+ product: firefox
+ job-name: condprof-win64
+ dependencies:
+ build: build-win64-shippable/opt
+ scenarios:
+ - settled
+ - full
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.zip
+ toolchain:
+ - win64-geckodriver
+ run:
+ command: >-
+ python3.exe condprof/main.py
+ ${EXTRA_ARGS}
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver.exe
+ --firefox ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --scenario ${SCENARIO}
+ ../../archive
+ worker:
+ artifacts:
+ - name: public/condprof
+ path: archive
+ type: directory
+ linux64-firefox:
+ worker-type: b-linux-gcp
+ description: Creates or updates conditioned profiles on Linux
+ run-on-projects: ['mozilla-central']
+ treeherder:
+ symbol: condprof(firefox)
+ platform: linux64/opt
+ index:
+ product: firefox
+ job-name: condprof-linux64
+ dependencies:
+ build: build-linux64-shippable/opt
+ scenarios:
+ - settled
+ - full
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.tar.bz2
+ toolchain:
+ - linux64-geckodriver
+ run:
+ command: >-
+ python3.7 -m venv . &&
+ bin/python3.7 condprof/main.py
+ ${EXTRA_ARGS}
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --firefox ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --scenario ${SCENARIO}
+ ../../archive
+ worker:
+ docker-image: {in-tree: condprof}
+ artifacts:
+ - name: public/condprof
+ path: /builds/worker/archive
+ type: directory
+ macosx64-firefox:
+ worker-type: t-osx-1015-r8
+ description: Creates or updates conditioned profiles on macOS
+ run-on-projects: ['mozilla-central']
+ treeherder:
+ symbol: condprof(firefox)
+ platform: macosx1015-64-qr/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
+ ${EXTRA_ARGS}
+ --geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --firefox ${MOZ_FETCHES_DIR}/target.dmg
+ --scenario ${SCENARIO}
+ ../../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..05dd6ca7d7
--- /dev/null
+++ b/taskcluster/ci/config.yml
@@ -0,0 +1,717 @@
+# 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'
+ 'py3': 'Python 3 unit tests'
+ 'A': 'Android Gradle tests'
+ 'Bpgo': 'Profile-guided optimization builds'
+ 'Btime': 'Browsertime performance tests on Firefox'
+ 'Btime-cache': 'Browsertime performance tests on Firefox with populated bytecode cache.'
+ 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s'
+ 'Btime-fis': 'Browsertime performance tests on Firefox with fission enabled'
+ 'Btime-nofis': 'Browsertime tests on Firefox without fission enabled'
+ 'Btime-P-nofis': 'Browsertime power tests on Firefox without fission enabled'
+ 'Btime-Prof-nofis': 'Browsertime tests on Firefox with profiling and without fission enabled'
+ 'Btime-P-nofis-refbrow': 'Browsertime Power Usage Tests on reference browser without fission enabled'
+ 'Btime-P-nofis-fenix': 'Browsertime Power Usage Tests on Fenix without fission enabled'
+ 'Btime-live-nofis-fenix': 'Browsertime tests on Fenix without fission enabled using live sites'
+ 'Btime-nofis-fenix': 'Browsertime tests on Fenix without fission enabled'
+ 'Btime-live-nofis': 'Browsertime tests on Firefox without fission enabled using live sites'
+ 'Btime-nofis-refbrow': 'Browsertime tests on reference browser without fission enabled'
+ 'Btime-live-nofis-ChR': 'Browsertime tests on Chrome without fission enabled using live sites'
+ 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling'
+ 'Btime-Prof-fis': 'Browsertime performance tests on Firefox with Gecko Profiling, fission enabled'
+ 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s'
+ 'Btime-live': 'Browsertime performance tests on Firefox'
+ 'Btime-live-fis': 'Browsertime performance tests on Firefox with fission enabled'
+ 'Btime-live-fenix': 'Browsertime performance tests on Firefox'
+ 'Btime-live-ChR': 'Browsertime performance tests on Firefox'
+ 'Btime-live-Cr': 'Browsertime performance tests on Google Chromium'
+ 'Btime-live-Saf': 'Browsertime performance tests on Safari'
+ 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release'
+ 'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled'
+ 'Btime-Cr': 'Browsertime performance tests on Google Chromium'
+ 'Btime-P': 'Browsertime power tests on Firefox/Geckoview'
+ 'Btime-P-fenix': 'Browsertime power tests on Fenix'
+ 'Btime-P-refbrow': 'Browsertime power tests on reference browser'
+ 'Btime-fenix': 'Browsertime performance tests on Fenix'
+ 'Btime-refbrow': 'Browsertime performance tests on the reference browser'
+ 'Btime-Saf': 'Browsertime performance tests on Safari'
+ 'Fetch': 'Fetch and store content'
+ 'Fxfn': 'Firefox functional tests'
+ 'Fxfn-nofis': 'Firefox functional tests without fission enabled'
+ 'Fxfn-fis': 'Firefox functional tests with fission enabled'
+ 'l10n-bump': 'L10n Bumper'
+ 'M': 'Mochitests'
+ 'M-condprof': "Mochitests with conditioned profile"
+ 'M-headless': 'Headless Mochitests'
+ 'M-headless-nofis': 'Headless Mochitests without fission enabled.'
+ 'M-headless-spi-nw': 'Headless Mochitests with fission and socketprocess networking.'
+ 'M-headless-spi-nw-nofis': 'Headless Mochitests with fission and socketprocess networking without fission enabled.'
+ 'M-aab': 'Mochitests with AAB test_runner.'
+ 'M-aab-nofis': 'Mochitests with AAB test_runner without fission enabled.'
+ 'M-1proc': 'Mochitests without e10s or fission'
+ 'M-a11y-checks': 'Mochitests with accessibility checks enabled'
+ 'M-a11y-checks-nofis': 'Mochitests with accessibility checks enabled and without fission enabled'
+ 'M-a11y-no-cache': 'Mochitests with accessibility cache disabled'
+ 'M-a11y-no-cache-1proc': 'Mochitests with accessibility cache, e10s, and fission disabled'
+ 'M-xorig': 'Mochitests with cross-origin and fission enabled'
+ 'M-gli': 'Mochitests with WebGL over IPC'
+ 'M-gli-nofis': 'Mochitests with WebGL over IPC without fission enabled'
+ 'M-nofis': 'Mochitests without fission enabled'
+ 'M-spi': 'Mochitests with socket process'
+ 'M-spi-nofis': 'Mochitests with socket process without fission enabled'
+ 'M-spi-nw': 'Mochitests with networking on socket process'
+ 'M-spi-nw-nofis': 'Mochitests with networking on socket process without fission enabled'
+ 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s'
+ 'M-swr': 'Mochitests with software webrender enabled'
+ 'M-swr-a11y-checks': 'Mochitests with software webrender and accessibility checks enabled'
+ 'M-swr-a11y-checks-nofis': 'Mochitests with software webrender and accessibility checks enabled without fission enabled'
+ 'M-swr-1proc': 'Mochitests with software webrender enabled without e10s'
+ 'M-swr-nofis': 'Mochitests with software webrender without fission enabled'
+ 'M-swr-wayland': 'Mochitests with software webrender and Wayland backend enabled'
+ 'M-wayland': 'Mochitests with Wayland backend enabled'
+ 'M-wayland-1proc': 'Mochitests with Wayland backend enabled without e10s'
+ 'M-wmfme': 'Mochitests with Windows Media Foundation media engine enabled'
+ 'M-f': 'Mochitest failures'
+ 'M-dt-no-eft-nofis': 'DevTools Mochitests with EFT without fission enabled'
+ 'M-msix': 'Mochitests from MSIX builds'
+ 'MSI': 'Repack installers into MSIs'
+ 'MSIs': 'Signing of Repacked installers of MSIs'
+ 'MSIX': 'Repack into MSIX package'
+ 'MSIXs': 'Signing of Repack into MSIX package'
+ 'R': 'Reftests'
+ 'R-fis': 'Reftests with fission enabled'
+ 'R-nofis': 'Reftests without fission enabled'
+ 'R-swr': 'Reftests with software webrender enabled'
+ 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled'
+ 'R-swr-fis': 'Reftests with software webrender with fission enabled'
+ 'R-wayland': 'Reftests with Wayland backend enabled'
+ 'R-wr-dc0': 'Reftests with dcomp disabled'
+ 'R-wr-dc1-p': 'Reftests with dcomp present but not overlays'
+ 'R-wr-dc2-o': 'Reftests with dcomp overlays but not compositing'
+ 'R-wr-dc3-c': 'Reftests with dcomp compositing'
+ 'Rap': 'Raptor performance tests on Firefox'
+ 'Rap-live': 'Raptor performance tests on Firefox with live sites'
+ 'Rap-fis': 'Raptor performance tests on Firefox with fission enabled'
+ 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling'
+ 'Rap-Prof-fis': 'Raptor performance tests on Firefox with Gecko Profiling'
+ 'Rap-ChR': 'Raptor performance tests on Google Chrome Release'
+ 'Rap-Cr': 'Raptor performance tests on Google Chromium'
+ 'Rap-refbrow': 'Raptor performance tests on the reference browser'
+ 'remote': 'Remote debugging protocol tests'
+ 'T': 'Talos performance tests'
+ 'T-fis': 'Talos performance tests with fission enabled'
+ 'T-gli': 'Talos performance tests with WebGL over IPC'
+ 'T-gli-fis': 'Talos performance tests with WebGL over IPC with fission enabled'
+ 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling'
+ '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-Prof-gli-fis': 'Talos performance tests with WebGL over IPC and Gecko Profiling and fission enabled'
+ 'T-swr': 'Talos performance tests with software webrender enabled'
+ 'T-swr-fis': 'Talos performance tests with software webrender enabled'
+ 'tt': 'Telemetry tests'
+ 'tt-nofis': 'Telemetry tests without fission enabled'
+ 'tt-fis': 'Telemetry tests with fission enabled'
+ 'SY': 'Are we slim yet tests by TaskCluster'
+ 'SY-fis': 'Are we slim yet tests by TaskCluster, fission enabled'
+ 'W': 'Web platform tests'
+ 'W-fis': 'Web platform tests with fission enabled'
+ 'W-nofis': 'Web platform tests without fission enabled'
+ 'W-headless-nofis': 'Headless web platform tests without fission enabled'
+ 'W-headless': 'Headless web platform tests'
+ 'W-swr-nofis': 'Web platform tests with software webrender enabled without fission enabled'
+ 'W-swr': 'Web platform tests with software webrender enabled'
+ 'W-b': 'Web platform tests (backlog)'
+ 'W-b-nofis': 'Web platform tests (backlog) without fission enabled'
+ 'X': 'Xpcshell tests'
+ 'X-condprof': 'Xpcshell tests with a conditioned profile'
+ 'X-nofis': 'Xpcshell tests without fission enabled'
+ 'X-fis': 'Xpcshell tests with fission enabled'
+ 'X-spi-nw': 'Xpcshell tests with networking on socket process'
+ 'X-spi-nw-fis': 'Xpcshell tests with networking on socket process'
+ 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled'
+ 'X-f': 'Xpcshell tests that fail on a given config'
+ 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process'
+ 'X-msix': 'Xpcshell tests on msix packages'
+ 'L10n': 'Localised Repacks'
+ 'L10n-Rpk': 'Localized Repackaged Repacks'
+ 'BM': 'Beetmover'
+ 'BMR': 'Beetmover repackages'
+ 'c-Up': 'Balrog submission of complete updates'
+ 'css': 'Checksum signing for source'
+ 'rs': 'Repackage signing'
+ 'BMcs': 'Beetmover checksums'
+ 'BMcslang': 'Beetmover checksums for language packs'
+ 'BMcss': 'Beetmover checksums for source'
+ 'Deb8': 'Packages for Debian 8'
+ 'Deb8-32': 'Packages for Debian 8 32-bits'
+ 'Deb9': 'Packages for Debian 9'
+ 'Deb10': 'Packages for Debian 10'
+ 'Deb11': 'Packages for Debian 11'
+ 'Ub18': 'Packages for Ubuntu 18.04'
+ 'Ub20': 'Packages for Ubuntu 20.04'
+ 'I': 'Docker Image Builds'
+ 'TA': 'Toolchain builds for Android'
+ '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'
+ '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'
+ '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'
+ 'Sentry': 'Sentry synchronization'
+ 'test-info': 'Test manifest skip/fail information'
+ 'condprof': 'Conditioned Profile Builder'
+ 'doc': 'Documentation'
+ 'GhS': 'GitHub Synchronization'
+ 'perftest': 'Performance tests'
+ 'perftest-chrome': 'Performance tests using Chrone'
+ 'perftest-http3': 'Performance tests with HTTP/3'
+ 'l10n': 'Localization checks'
+ 'fxrec': 'Desktop startup recorder (fxrecord)'
+ 'wc': 'webcompat'
+ 'Boot': 'Bootstrap'
+
+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-plain-linux32'
+ - '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-msan-linux64'
+ - 'sm-fuzzing-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
+ 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'
+ early-to-late-beta:
+ fetch-version-from: "browser/config/version.txt"
+ version-files: []
+ replacements:
+ - - build/defines.sh
+ - EARLY_BETA_OR_EARLIER=1
+ - EARLY_BETA_OR_EARLIER=
+ merge-old-head: false
+ 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: []
+ merge-old-head: false
+ end-tag: "FIREFOX_ESR_{major_version}_BASE"
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-esr102'
+ to-branch: 'esr102'
+ 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:
+ - - "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-esr102:
+ 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-esr102'
+ to-branch: 'esr102'
+
+scriptworker:
+ # See additional configuration in taskcluster/gecko_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'
+ 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-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:
+ register: gecko_taskgraph:register
+
+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}-azure'
+ image:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ images:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ images-gcp:
+ 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:
+ by-project:
+ autoland: '{trust-domain}-3-tree'
+ default: '{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):
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}-gcp'
+ t-linux-kvm:
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: 't-linux-kvm-gcp'
+ t-linux-kvm-aws:
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: 't-linux-metal'
+ t-linux-talos:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: linux
+ worker-type: 'gecko-{alias}'
+ t-linux-talos-1804:
+ 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-1015-r8:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-osx-1100-m1:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-osx-1015-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-gcp'
+ 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}'
+ win10-64-2004(|-gpu|-ssd|-source|-ssd-gpu):
+ provisioner: 'gecko-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win7-32-gpu:
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win7-32:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: windows
+ worker-type: 'gecko-{alias}-hw'
+ 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-gcp
+
+
+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: ''
+ mac-requirements:
+ by-platform:
+ macosx64.*: build/package/mac_osx/requirements.plist
+ default: ''
+
+expiration-policy:
+ by-project:
+ try:
+ default: 1 month
+ short: 14 days
+ medium: 1 month
+ long: 1 month
+ autoland:
+ default: 1 year
+ short: 3 months
+ medium: 1 year
+ # To avoid keeping shippable builds for over a year
+ long: 1 year
+ default:
+ default: 3 months
+ short: 1 month
+ medium: 1 year
+ long: 1 year
diff --git a/taskcluster/ci/cron-bouncer-check/kind.yml b/taskcluster/ci/cron-bouncer-check/kind.yml
new file mode 100644
index 0000000000..c8db9eb27f
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.bouncer_check:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: bouncer-check
+ description: bouncer check
+ worker-type: b-linux-gcp
+ 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-esr102: 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..43abcebf9d
--- /dev/null
+++ b/taskcluster/ci/diffoscope/kind.yml
@@ -0,0 +1,119 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - build
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.diffoscope:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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=yes
+ --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']
+
+ 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-arm/opt
+# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.mobile.android-arm-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..6c2f17494f
--- /dev/null
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -0,0 +1,213 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - packages
+
+transforms:
+ - gecko_taskgraph.transforms.docker_image:transforms
+ - gecko_taskgraph.transforms.cached_tasks:transforms
+ - gecko_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)
+ # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
+ # packages dependencies.
+ ubuntu1804-raw:
+ symbol: I(ub18-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: ubuntu:bionic
+ ubuntu1804-packages:
+ symbol: I(ub18-pkg)
+ definition: debian-packages
+ parent: ubuntu1804-raw
+ ubuntu1804-i386-raw:
+ symbol: I(ub18-32-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: i386/ubuntu:bionic
+ ubuntu1804-i386-packages:
+ symbol: I(ub18-32-pkg)
+ definition: debian-packages
+ parent: ubuntu1804-i386-raw
+ ubuntu1804-base:
+ symbol: I(ub18-base)
+ definition: debian-base
+ parent: ubuntu1804-raw
+ packages:
+ - ub18-mercurial
+ - ub18-python-zstandard
+ ubuntu1804-test-base:
+ symbol: I(ub18-test-base)
+ parent: ubuntu1804-base
+ packages:
+ - ub18-libc6
+ - ub18-32-libc6
+ ubuntu1804-test:
+ symbol: I(ub18-test)
+ parent: ubuntu1804-test-base
+ # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
+ # packages dependencies.
+ ubuntu2004-raw:
+ symbol: I(ub20-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: ubuntu:focal
+ ubuntu2004-packages:
+ symbol: I(ub20-pkg)
+ definition: debian-packages
+ parent: ubuntu2004-raw
+ ubuntu2004-base:
+ symbol: I(ub20-base)
+ definition: debian-base
+ parent: ubuntu2004-raw
+ packages:
+ - ub20-mercurial
+ - ub20-python-zstandard
+ # 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-20210208
+ DIST: jessie
+ SNAPSHOT: '20210208T213147Z'
+ 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-20210208
+ DIST: jessie
+ SNAPSHOT: '20210208T213147Z'
+ debian8-i386-packages:
+ symbol: I(deb8-32-pkg)
+ definition: debian-packages
+ parent: debian8-i386-raw
+ custom-v8:
+ symbol: I(custom-v8)
+ parent: debian11-base
+ valgrind-build:
+ symbol: I(vb)
+ parent: debian11-amd64-build
+ packages:
+ - deb11-valgrind
+ lint:
+ symbol: I(lnt)
+ parent: debian11-base
+ # Neither the debian11-raw nor the debian11-packages images can have
+ # packages dependencies.
+ debian11-raw:
+ symbol: I(deb11-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: debian:bullseye-20221205
+ DIST: bullseye
+ SNAPSHOT: '20221204T212138Z'
+ debian11-packages:
+ symbol: I(deb11-pkg)
+ definition: debian-packages
+ parent: debian11-raw
+ debian11-base:
+ symbol: I(deb11-base)
+ definition: debian-base
+ parent: debian11-raw
+ packages:
+ - deb11-mercurial
+ - deb11-python-zstandard
+ debian11-amd64-build:
+ symbol: I(deb11)
+ parent: debian11-base
+ definition: debian-build
+ debian11-repackage:
+ symbol: I(deb11-rpk)
+ parent: debian11-base
+ definition: debian-repackage
+ packages:
+ - deb11-mercurial
+ deb11-toolchain-build:
+ symbol: I(deb11-toolchain)
+ parent: debian11-base
+ definition: toolchain-build
+ packages:
+ - deb11-cmake
+ android-build:
+ symbol: I(agb)
+ parent: debian11-base
+ fetch:
+ symbol: I(fetch)
+ parent: debian11-raw
+ packages:
+ - deb11-python-zstandard
+ static-analysis-build:
+ symbol: I(static-analysis-build)
+ parent: debian11-base
+ gdb-test:
+ symbol: I(gdb)
+ parent: debian11-amd64-build
+ definition: gdb-test
+ index-task:
+ symbol: I(idx)
+ funsize-update-generator:
+ symbol: I(pg)
+ update-verify:
+ symbol: I(uv)
+ parent: ubuntu2004-base
+ diffoscope:
+ symbol: I(diff)
+ parent: debian11-base
+ partner-repack:
+ symbol: I(PR)
+ parent: debian11-base
+ definition: partner-repack
+ updatebot:
+ symbol: I(3rdp)
+ parent: push-to-try
+ periodic-updates:
+ symbol: I(file)
+ parent: debian11-base
+ firefox-snap:
+ symbol: I(snap)
+ firefox-flatpak:
+ symbol: I(flatpak)
+ webrender:
+ symbol: I(webrender)
+ parent: debian11-base
+ condprof:
+ symbol: I(condprof)
+ parent: ubuntu1804-test
+ github-sync:
+ symbol: I(github-sync)
+ parent: debian11-base
+ sentry:
+ symbol: I(sentry)
+ parent: debian11-base
+ system-symbols-mac:
+ symbol: I(system-symbols-mac)
+ parent: debian11-base
+ system-symbols-win:
+ symbol: I(system-symbols-win)
+ parent: debian11-base
+ system-symbols-linux-scraper:
+ symbol: I(system-symbols-linux)
+ parent: debian11-base
+ push-to-try:
+ symbol: I(push-to-try)
+ parent: debian11-base
+ decision:
+ symbol: I(decision)
+ parent: ubuntu2004-base
diff --git a/taskcluster/ci/fetch/benchmarks.yml b/taskcluster/ci/fetch/benchmarks.yml
new file mode 100644
index 0000000000..7e31470baf
--- /dev/null
+++ b/taskcluster/ci/fetch/benchmarks.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/.
+---
+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
+
+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
diff --git a/taskcluster/ci/fetch/browsertime.yml b/taskcluster/ci/fetch/browsertime.yml
new file mode 100644
index 0000000000..9b5e40b952
--- /dev/null
+++ b/taskcluster/ci/fetch/browsertime.yml
@@ -0,0 +1,288 @@
+# 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.4.1:
+ description: 'Win64 ffmpeg'
+ fetch:
+ type: static-url
+ # url: https://github.com/GyanD/codexffmpeg/releases/tag/4.4.1
+ url: https://github.com/mozilla/perf-automation/releases/download/FFMPEG-v4.4.1/ffmpeg-4.4.1-full_build.zip
+ sha256: f0f407041f82905c310b79f4f76973815700d1e438a10c3cbce66a345ff4f457
+ size: 134760541
+
+linux64-ffmpeg-4.4.1:
+ description: 'Linux64 ffmpeg'
+ fetch:
+ type: static-url
+ # url: https://www.johnvansickle.com/ffmpeg/old-releases/
+ url: https://github.com/mozilla/perf-automation/releases/download/FFMPEG-v4.4.1/ffmpeg-4.4.1-i686-static.tar.xz
+ sha256: 1f38d1c99b6eb3d36f709a481f5a5526448567a800ee9cddcfe4be54f8b68e62
+ size: 17592088
+
+mac64-ffmpeg-4.4.1:
+ description: 'Mac64 ffmpeg'
+ fetch:
+ type: static-url
+ # url: https://evermeet.cx/pub/ffmpeg/
+ url: https://github.com/mozilla/perf-automation/releases/download/FFMPEG-v4.4.1/ffmpeg-macos.zip
+ sha256: 9d07411bce176f56314cc5624f5df51f9cffa76a59e3e81abe2175d4ebaf87ae
+ size: 49100208
+
+linux64-chromedriver:
+ description: 'Linux64 chromedriver'
+ fetch:
+ type: static-url
+ url: https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.zip
+ sha256: 461919e080e19335a34224e2d353b96b07c7d068621aa940f9c136e86d090047
+ size: 5404417
+
+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
+
+win32-chromedriver-102:
+ description: 'Win32 chromedriver v102'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_102.tar.zst
+ add-prefix: '102'
+ url: https://chromedriver.storage.googleapis.com/102.0.5005.61/chromedriver_win32.zip
+ sha256: 739b5f67c52a218110653b0d9cac6112df653d955b36578e0c6bdcc8138328e7
+ size: 6369227
+
+linux64-chromedriver-102:
+ description: 'Linux64 chromedriver v102'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_102.tar.zst
+ add-prefix: '102'
+ url: https://chromedriver.storage.googleapis.com/102.0.5005.61/chromedriver_linux64.zip
+ sha256: 4b007cdabbe29cd381293df3f2876b1da9ad30a65959d518ea724ab2dedbf53b
+ size: 6221182
+
+mac64-chromedriver-102:
+ description: 'Mac64 chromedriver v102'
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_102.tar.zst
+ add-prefix: '102'
+ url: https://chromedriver.storage.googleapis.com/102.0.5005.61/chromedriver_mac64.zip
+ sha256: 4f1641412304448e0916a5c589cca5e2700035db3a484eb72e2cefa878c1dcf8
+ size: 8273442
+
+win32-chromedriver-103:
+ description: "Win32 chromedriver v103"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_103.tar.zst
+ add-prefix: "103"
+ url: https://chromedriver.storage.googleapis.com/103.0.5060.53/chromedriver_win32.zip
+ sha256: afb0d5a0da06991be3159480285d5a34070c0640395cfebbfae24db96e9b1cc6
+ size: 6419507
+
+linux64-chromedriver-103:
+ description: "Linux64 chromedriver v103"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_103.tar.zst
+ add-prefix: "103"
+ url: https://chromedriver.storage.googleapis.com/103.0.5060.53/chromedriver_linux64.zip
+ sha256: adec44a6d392d71aa456993d5fdcc7aade5b20e0360770cc61a272e17076fdbe
+ size: 7052799
+
+mac64-chromedriver-103:
+ description: "Mac64 chromedriver v103"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_103.tar.zst
+ add-prefix: "103"
+ url: https://chromedriver.storage.googleapis.com/103.0.5060.53/chromedriver_mac64.zip
+ sha256: 17b8dabdefd001e8b5a87041b5394fec58f9fcb9cdd85a0598b58ebc3c882b0e
+ size: 8382129
+
+win32-chromedriver-104:
+ description: "Win32 chromedriver v104"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_104.tar.zst
+ add-prefix: "104"
+ url: https://chromedriver.storage.googleapis.com/104.0.5112.29/chromedriver_win32.zip
+ sha256: ff839915ab5bf0ce1a61f8e67999a04c020a12f45e8e1453df4f404666327caf
+ size: 6491049
+
+linux64-chromedriver-104:
+ description: "Linux64 chromedriver v104"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_104.tar.zst
+ add-prefix: "104"
+ url: https://chromedriver.storage.googleapis.com/104.0.5112.29/chromedriver_linux64.zip
+ sha256: 365d85bdbce63487f8be6b72a0d809be9fe885e945f6e646696c71537b809244
+ size: 7137788
+
+mac64-chromedriver-104:
+ description: "Mac64 chromedriver v104"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_104.tar.zst
+ add-prefix: "104"
+ url: https://chromedriver.storage.googleapis.com/104.0.5112.29/chromedriver_mac64.zip
+ sha256: 8d99798f46321211a95f076f8bdd30409cd6a387e873592328f4028657e70f35
+ size: 8438831
+
+win32-chromedriver-105:
+ description: "Win32 chromedriver v105"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_105.tar.zst
+ add-prefix: "105"
+ url: https://chromedriver.storage.googleapis.com/105.0.5195.52/chromedriver_win32.zip
+ sha256: 32af1c0764655069e16b85afe0b9eb1ba8a4870a872b5c8407010df4cc6c52ba
+ size: 7002336
+
+linux64-chromedriver-105:
+ description: "Linux64 chromedriver v105"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_105.tar.zst
+ add-prefix: "105"
+ url: https://chromedriver.storage.googleapis.com/105.0.5195.52/chromedriver_linux64.zip
+ sha256: c41cc88ac6c7b6e5c48b7ca629d48bf594903862a3d30cdeb35a97d48c397318
+ size: 7315600
+
+mac64-chromedriver-105:
+ description: "Mac64 chromedriver v105"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_105.tar.zst
+ add-prefix: "105"
+ url: https://chromedriver.storage.googleapis.com/105.0.5195.52/chromedriver_mac64.zip
+ sha256: c0e2982c36f02216a4eaaaff2672b6aa702bbc2b904b00e4ca736c708b784867
+ size: 8550534
+
+win32-chromedriver-106:
+ description: "Win32 chromedriver v106"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_106.tar.zst
+ add-prefix: "106"
+ url: https://chromedriver.storage.googleapis.com/106.0.5249.61/chromedriver_win32.zip
+ sha256: 9fc51982c3b44175a0ce37652f3a601f33faf515dde860302625894506a7ed69
+ size: 6596513
+
+linux64-chromedriver-106:
+ description: "Linux64 chromedriver v106"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_106.tar.zst
+ add-prefix: "106"
+ url: https://chromedriver.storage.googleapis.com/106.0.5249.61/chromedriver_linux64.zip
+ sha256: d2fe6a3b619e8d9e79c5c3bbacbf9e34a2ec4fffc35e160dbb867c551a384250
+ size: 6657315
+
+mac64-chromedriver-106:
+ description: "Mac64 chromedriver v106"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_106.tar.zst
+ add-prefix: "106"
+ url: https://chromedriver.storage.googleapis.com/106.0.5249.61/chromedriver_mac64.zip
+ sha256: 0a43128e9eb990bdf9c7445cb80c70cf8a9686778a07bbbc8164c8515334671e
+ size: 8474552
+
+win32-chromedriver-107:
+ description: "Win32 chromedriver v107"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_107.tar.zst
+ add-prefix: "107"
+ url: https://chromedriver.storage.googleapis.com/107.0.5304.62/chromedriver_win32.zip
+ sha256: e1ea6a8ae5e123daf2ade7200a5d7edccd1cfb28c38ec447685f788bab4ed0de
+ size: 6776586
+
+linux64-chromedriver-107:
+ description: "Linux64 chromedriver v107"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_107.tar.zst
+ add-prefix: "107"
+ url: https://chromedriver.storage.googleapis.com/107.0.5304.62/chromedriver_linux64.zip
+ sha256: 502f124092160cbfde42705cb24aad8b48b4b5c6c22b440a34d83034019d408f
+ size: 7612689
+
+mac64-chromedriver-107:
+ description: "Mac64 chromedriver v107"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_107.tar.zst
+ add-prefix: "107"
+ url: https://chromedriver.storage.googleapis.com/107.0.5304.62/chromedriver_mac64.zip
+ sha256: 3a1e597791ea186e831911b280620c49381bb59910969cda9a9432f27b2a8d2b
+ size: 8821733
+
+win32-chromedriver-108:
+ description: "Win32 chromedriver v108"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_108.tar.zst
+ add-prefix: "108"
+ url: https://chromedriver.storage.googleapis.com/108.0.5359.22/chromedriver_win32.zip
+ sha256: 5d5b097490ffdf127be2eacb1fc11277ed44c1e02bb7e4c475577f177f128dca
+ size: 6905061
+
+linux64-chromedriver-108:
+ description: "Linux64 chromedriver v108"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_108.tar.zst
+ add-prefix: "108"
+ url: https://chromedriver.storage.googleapis.com/108.0.5359.22/chromedriver_linux64.zip
+ sha256: 0efd362d3f92be8276fe18a40bed8e1d989a5f7d2bf9a011cd2200ea3e362670
+ size: 7290186
+
+mac64-chromedriver-108:
+ description: "Mac64 chromedriver v108"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_108.tar.zst
+ add-prefix: "108"
+ url: https://chromedriver.storage.googleapis.com/108.0.5359.22/chromedriver_mac64.zip
+ sha256: 6dead6c0341e854e62a03700c1550cdf49567d0c888faa7f332a70d0d8f5f05b
+ size: 8988237
+
+win32-chromedriver-109:
+ description: "Win32 chromedriver v109"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_109.tar.zst
+ add-prefix: "109"
+ url: https://chromedriver.storage.googleapis.com/109.0.5414.25/chromedriver_win32.zip
+ sha256: 6e712d6e408c80243b7242c8d092aab48e8b82a822f31d7719f989323181aa0f
+ size: 7118430
+
+linux64-chromedriver-109:
+ description: "Linux64 chromedriver v109"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_109.tar.zst
+ add-prefix: "109"
+ url: https://chromedriver.storage.googleapis.com/109.0.5414.25/chromedriver_linux64.zip
+ sha256: 8f46097124424370c532142d799f5852a960f3c428a1a05934490ae66d82cbbf
+ size: 7068129
+
+mac64-chromedriver-109:
+ description: "Mac64 chromedriver v109"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_109.tar.zst
+ add-prefix: "109"
+ url: https://chromedriver.storage.googleapis.com/109.0.5414.25/chromedriver_mac64.zip
+ sha256: e1fcfd4d75b38ec147493595757e72bf13803138a8cb3f3917394ed975fa7af0
+ size: 9186656
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..027ab7f1eb
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.fetch:transforms
+ - gecko_taskgraph.transforms.try_job:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - benchmarks.yml
+ - browsertime.yml
+ - chromium-fetch.yml
+ - resource-monitor.yml
+ - toolchain-clang-tidy-external.yml
+ - toolchains.yml
+ - updatebot.yml
diff --git a/taskcluster/ci/fetch/moz.build b/taskcluster/ci/fetch/moz.build
new file mode 100644
index 0000000000..28b8003edf
--- /dev/null
+++ b/taskcluster/ci/fetch/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+with Files("updatebot.yml"):
+ BUG_COMPONENT = ("Developer Infrastructure", "Mach Vendor & Updatebot")
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..d71058c06b
--- /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: fa787d2047a5c3759e67f0df58415a984dcc8777
+ 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..a41e42713d
--- /dev/null
+++ b/taskcluster/ci/fetch/toolchains.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/.
+---
+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/
+
+binutils-2.36.1:
+ description: binutils 2.36.1 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/binutils/binutils-2.36.1.tar.xz
+ sha256: e81d9edf373f193af428a0f256674aea62a9d74dfe93f65192d4eae030b0f3b0
+ size: 22772248
+ 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-7.5.0:
+ description: GCC 7.5.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.xz
+ sha256: b81946e7f01f90528a1f7352ab08cc602b9ccc05d4e44da4bd501c5a189ee661
+ size: 62783088
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/7F74F97C103468EE5D750B583AB00996FC26A641.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gcc-8.5.0:
+ description: GCC 8.5.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.xz
+ sha256: d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50
+ size: 63841008
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gcc-9.4.0:
+ description: GCC 9.4.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-9.4.0/gcc-9.4.0.tar.xz
+ sha256: c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e
+ size: 72411232
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/7F74F97C103468EE5D750B583AB00996FC26A641.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-source/
+
+gcc-11.3.0:
+ description: GCC 11.3.0 source code
+ fetch:
+ type: static-url
+ url: ftp://ftp.gnu.org/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.xz
+ sha256: b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39
+ size: 81141364
+ gpg-signature:
+ sig-url: "{url}.sig"
+ key-path: build/unix/build-gcc/7F74F97C103468EE5D750B583AB00996FC26A641.key
+ artifact-name: gcc-source.tar.zst
+ strip-components: 1
+ add-prefix: gcc-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
+
+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-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/
+
+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.15.05:
+ description: nasm 2.15.05 source code
+ fetch:
+ type: static-url
+ url: https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz
+ sha256: 3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f
+ size: 995732
+
+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
+
+zlib-1.2.13:
+ description: zlib 1.2.13 source code
+ fetch:
+ type: static-url
+ url: https://zlib.net/zlib-1.2.13.tar.gz
+ sha256: b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30
+ size: 1497445
+ gpg-signature:
+ sig-url: "{url}.asc"
+ key-path: build/unix/build-gcc/5ED46A6721D365587791E2AA783FCD8E58BCAFBA.key
+
+nsis-3.07:
+ description: nsis 3.07 source code
+ fetch:
+ type: static-url
+ url: https://downloads.sourceforge.net/project/nsis/NSIS%203/3.07/nsis-3.07-src.tar.bz2
+ sha256: 4dfad3388589985b4cd91d20e18e1458aa31e7d139b5b8adf25c3a9c1015efba
+ size: 1784292
+
+nsis-3.07-win:
+ description: nsis 3.07 for windows
+ fetch:
+ type: static-url
+ # Temporary: pull down our own repackage of NSIS, with its plugin DLLs signed by Mozilla
+ # See https://bugzilla.mozilla.org/show_bug.cgi?id=1751450#c38 for more details
+ # bug 1771192 tracks adding a signing task downstream of the NSIS toolchain task
+ # to fix this more robustly.
+ url: https://github.com/mozilla-releng/adhoc-signing-blobs/raw/nsis/nsis-3.07-signed.zip
+ sha256: 5856cd49b52870caa41814d71ce30c4304d5001b80c04f4eb7028ffedd91df7e
+ size: 2618390
+ artifact-name: nsis.tar.zst
+ strip-components: 1
+ add-prefix: nsis/
+
+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:
+ description: wine source code
+ fetch:
+ type: static-url
+ url: https://dl.winehq.org/wine/source/7.0/wine-7.0.tar.xz
+ sha256: 5b43e27d5c085cb18f97394e46180310d5eef7c1d91c6895432a3889b2de086b
+ size: 27120912
+ gpg-signature:
+ sig-url: "{url}.sign"
+ key-path: build/unix/build-gcc/DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D.key
+ artifact-name: wine.tar.zst
+ strip-components: 1
+ add-prefix: wine-source/
+
+cbindgen-0.24.3:
+ description: cbindgen source code
+ fetch:
+ type: git
+ repo: https://github.com/eqrion/cbindgen
+ revision: f43ccfc047a1a160267f32355c5e5e7154a2665a
+
+cctools-port:
+ description: cctools-port source code
+ fetch:
+ type: git
+ repo: https://github.com/tpoechtrager/cctools-port
+ revision: 30518813875aed656aa7f18b6d485feee25f8f87
+
+libtapi:
+ description: libtapi source code
+ fetch:
+ type: git
+ repo: https://github.com/tpoechtrager/apple-libtapi
+ revision: b4f141a16c7c82f75973429c92242a8c7de3ddb1
+
+ldid:
+ description: ldid source code
+ fetch:
+ type: git
+ repo: https://github.com/tpoechtrager/ldid
+ revision: 4bf8f4d60384a0693dbbe2084ce62a35bfeb87ab
+
+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
+
+xar:
+ description: xar source code
+ fetch:
+ type: git
+ repo: https://github.com/gabrielesvelto/xar
+ revision: 199ff76a7463f6b6a2548b4db29cd3dd5026df69
+
+bomutils:
+ description: bomutils (mkbom) source code
+ fetch:
+ type: git
+ repo: https://github.com/hogliux/bomutils
+ revision: 3f7dc2dbbc36ca1c957ec629970026f45594a52c
+
+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: 7e05276308f3d49f8514ef02afe4f94487b1efb2
+
+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.3.1 release
+ revision: 41e408d3e22d3c5a03cc622c93e9348ef80df140
+
+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: 09def642bf5e8a78195791257ff53fd920c549d1
+
+llvm-mingw:
+ description: llvm-mingw source code
+ fetch:
+ type: git
+ repo: https://github.com/mstorsjo/llvm-mingw
+ revision: 9f8e5cebd6dbbb7546e8917e6c59284699a48d26
+
+android-ndk-rs:
+ description: android-ndk-rs source code
+ fetch:
+ type: git
+ repo: https://github.com/jamienicol/android-ndk-rs
+ revision: 595f4e14a78371e3ab59b12f7bd8131f2ec5b4a1
+
+clang-5.0:
+ description: clang 5.0.2 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 6a075b6de4cafebec9ca1ff9eec7229a617c93f6
+
+clang-14:
+ description: clang 14.0.5 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 4bc1d0b51c8e488d78ab69c8b19cfbcd1f7db6a4
+
+clang-15:
+ description: clang 15.0.5 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 154e88af7ec97d9b9f389e55d45bf07108a9a097
+
+clang-trunk:
+ description: clang main branch source code
+ attributes:
+ cached_task: false
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ branch: main
+
+# We build stable rust from source so the resulting compiler acts as a nightly
+# rust compiler, allowing to use unstable features like -Zbuild-std and
+# sanitizers.
+rust-1.66.0:
+ description: Rust 1.66.0 source code
+ fetch:
+ type: git
+ include-dot-git: true
+ repo: https://github.com/rust-lang/rust/
+ revision: 69f9c33d71c871fc16ac445211281c6e7a340943
+
+wasi-sdk:
+ description: wasi-sdk-16 source code
+ fetch:
+ type: git
+ repo: https://github.com/WebAssembly/wasi-sdk
+ revision: 7b7b8a974a31f527d71467499b0d5be3b12f2fa9
+
+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.25.1
+ fetch:
+ type: static-url
+ url: https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-windows-x86_64.zip
+ sha256: d93958d87cc9b91983489f0b37a268b03a3c891894d11f5437fa2a5ce94aab24
+ size: 41460154
+ artifact-name: cmake.tar.zst
+ strip-components: 1
+ add-prefix: cmake/
+
+dump-syms:
+ description: dump_syms source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/dump_syms/
+ revision: 9680eedbdbc830dbb34fef7823109b4ba11711cf
+
+rust-minidump:
+ description: rust-minidump 0.15.2 source code (for minidump-stackwalk)
+ fetch:
+ type: git
+ repo: https://github.com/rust-minidump/rust-minidump/
+ revision: 0d782e53650f4059ede143e10686c6ce9947dbc4
+
+fix-stacks:
+ description: fix-stacks source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/fix-stacks/
+ revision: cfa7048e437c6778b066e7ecb5ce834eb8c3efe7
+
+winchecksec:
+ description: winchecksec source code
+ fetch:
+ type: git
+ repo: https://github.com/trailofbits/winchecksec/
+ revision: 93ffe67dbfc757bf6f440d80b8acf88e652ed60a
+
+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/
+
+jdk-8-linux64:
+ description: Java 8 JDK
+ fetch:
+ type: static-url
+ url: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
+ sha256: 699981083983b60a7eeb511ad640fae3ae4b879de5a3980fe837e8ade9c34a08
+ size: 103016010
+ artifact-name: jdk-8.tar.zst
+ strip-components: 1
+ add-prefix: jdk-8/
+
+makecab:
+ description: makecab source code
+ fetch:
+ type: git
+ repo: https://github.com/glandium/rust-makecab/
+ revision: 73a4605b97123bf7221533c671f27f234d974b02
+
+nodejs-12-linux64:
+ description: nodejs 12 for x64 linux
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v12.22.12/node-v12.22.12-linux-x64.tar.xz
+ sha256: e6d052364bfa2c17da92cf31794100cfd709ba147415ddaeed2222eec9ca1469
+ size: 14584388
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-16-linux64:
+ description: nodejs 16 for x64 linux
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v16.19.0/node-v16.19.0-linux-x64.tar.xz
+ sha256: c88b52497ab38a3ddf526e5b46a41270320409109c3f74171b241132984fd08f
+ size: 22492000
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-12-macosx64:
+ description: nodejs 12 for x64 macOS
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v12.22.12/node-v12.22.12-darwin-x64.tar.xz
+ sha256: 95799e1276d65b599635f839248d3b3f7d3986873da8f01902a541b9588a6c71
+ size: 13678092
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-16-macosx64:
+ description: nodejs 16 for x64 macOS
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v16.19.0/node-v16.19.0-darwin-x64.tar.xz
+ sha256: 601d1d632b9815dbb647f5cd440a95fa651110b5b4bcaf07ed3aa7886525716b
+ size: 20975524
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-16-macosx64-arm64:
+ description: nodejs 16 for arm64 macOS
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v16.19.0/node-v16.19.0-darwin-arm64.tar.xz
+ sha256: 7313c9db5f5140ece847a97f366032a10bddb6d87fa28a361ada918addcd5c73
+ size: 19363804
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-12-win32:
+ description: nodejs 12 for x86 Windows
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v12.22.12/node-v12.22.12-win-x86.zip
+ sha256: 2f7fa563c9477d5e9fddc5c22451b21b8a963c9b5004c80dd0140c3a3675a4e8
+ size: 17134607
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-16-win32:
+ description: nodejs 16 for x86 Windows
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v16.19.0/node-v16.19.0-win-x86.zip
+ sha256: 17e2bf8ed00b3d15321743104104c8b6ef55677dfc18ee2ed44de64fbf2c4def
+ size: 25424808
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-12-win64:
+ description: nodejs 12 for x64 Windows
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v12.22.12/node-v12.22.12-win-x64.zip
+ sha256: 09639bac66d4dc4dd52179968209413ad4b7360e917dcbe8834052a4b936a087
+ size: 18681823
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-16-win64:
+ description: nodejs 16 for x64 Windows
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v16.19.0/node-v16.19.0-win-x64.zip
+ sha256: 534ca7a24e999c81cec847a498cc43d47e2bb158f6edf639e5297f2718350e96
+ size: 27072850
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+gnumake:
+ description: GNU make source
+ fetch:
+ type: static-url
+ url: http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
+ sha256: e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19
+ size: 2317073
+ artifact-name: make.tar.zst
+ strip-components: 1
+ add-prefix: make/
+
+msix-packaging:
+ description: Microsoft msix-packaging
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/msix-packaging
+ revision: 8164b7ac5a67688e18fa2497fb31ba13ce9bfb15
+
+pkgconf:
+ description: pkgconf 1.8.0
+ fetch:
+ type: static-url
+ url: https://distfiles.dereferenced.org/pkgconf/pkgconf-1.8.0.tar.xz
+ sha256: ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf
+ size: 296304
+ artifact-name: pkgconf.tar.zst
+ strip-components: 1
+ add-prefix: pkgconf/
+
+afl-2.5:
+ description: AFL 2.5x source
+ fetch:
+ type: git
+ repo: https://github.com/google/AFL
+ revision: e75894a889fe854c02b9435186bd1e2927d6d490
+
+cargo-vet:
+ description: cargo-vet source
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/cargo-vet
+ revision: 10edb3b9ab6db1097aacea83118d7fa66391631c
+
+symbol-scrapers:
+ description: Linux distribution symbol scraper source
+ fetch:
+ type: git
+ repo: http://github.com/mozilla/symbol-scrapers
+ revision: f61d24345d27760a5c2dc8f9370368bdaa9a4e82
diff --git a/taskcluster/ci/fetch/updatebot.yml b/taskcluster/ci/fetch/updatebot.yml
new file mode 100644
index 0000000000..b757a383f8
--- /dev/null
+++ b/taskcluster/ci/fetch/updatebot.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/.
+---
+cloud-sql-proxy-1.25.0:
+ description: Windows executable for Google's Cloud SQL Proxy
+ fetch:
+ type: static-url
+ url: https://storage.googleapis.com/cloudsql-proxy/v1.25.0/cloud_sql_proxy_x64.exe
+ sha256: b922a8d3924499b829bfe53a25382f9b340ea804a738e2a7d8b34957a329a2dd
+ size: 16195072
+ artifact-name: cloud_sql_proxy.exe
+php-windows-7.4.24:
+ description: VC15 x64 Non Thread Safe (2021-Sep-21 16:58:34)
+ fetch:
+ type: static-url
+ url: https://windows.php.net/downloads/releases/archives/php-7.4.24-nts-Win32-vc15-x64.zip
+ sha256: 1e93fb390ab2761a47d27c97225a518759731c632c0dd87436cbf25f19582436
+ size: 26067094
+ artifact-name: php.tar.zst
+ add-prefix: php-win/
+arcanist:
+ description: checkout of arcanist for running on Windows
+ fetch:
+ type: git
+ repo: https://github.com/phacility/arcanist
+ revision: a028291f8e5e79b6446ad67ed8b0be9c5ec8f029
+depot_tools:
+ description: Google's depot_tools package
+ fetch:
+ type: git
+ repo: https://chromium.googlesource.com/chromium/tools/depot_tools.git
+ revision: 7b3351443198f4e7d068999b169385b55a43679a
diff --git a/taskcluster/ci/fuzzing/kind.yml b/taskcluster/ci/fuzzing/kind.yml
new file mode 100644
index 0000000000..a0df02fdd4
--- /dev/null
+++ b/taskcluster/ci/fuzzing/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.source_test:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - fetch
+ - toolchain
+ - build
+
+job-defaults:
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 3600
+ docker-image: {in-tree: debian11-amd64-build}
+ treeherder:
+ kind: test
+ tier: 3
+ if-dependencies: [build]
+
+jobs:
+ simple:
+ platform: linux64/opt
+ require-build:
+ linux64/opt: build-linux64/opt
+ description: Simple Fuzzing Test
+ treeherder:
+ symbol: simple-fuzzing
+ fetches:
+ build:
+ - target.jsshell.zip
+ - target.fuzztest.tests.tar.gz
+ worker:
+ env:
+ LD_LIBRARY_PATH: /builds/worker/fetches
+ JSSHELL: ./js
+ run:
+ using: run-task
+ command: >-
+ cd $MOZ_FETCHES_DIR &&
+ python3 tools/fuzzing/smoke/smoke.py
+
+ python:
+ platform: linux64-asan-fuzzing/opt
+ require-build:
+ linux64-asan-fuzzing/opt: build-linux64-asan-fuzzing/opt
+ description: Python Fuzzing Smoke Tests
+ treeherder:
+ symbol: fuzzing-python
+ fetches:
+ build:
+ - target.tar.bz2
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ export GECKO_BINARY_PATH=$MOZ_FETCHES_DIR/firefox/firefox &&
+ ./mach python-test --subsuite fuzzing
diff --git a/taskcluster/ci/fxrecord/kind.yml b/taskcluster/ci/fxrecord/kind.yml
new file mode 100644
index 0000000000..2eef5c9bda
--- /dev/null
+++ b/taskcluster/ci/fxrecord/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: gecko_taskgraph.loader.single_dep:loader
+
+kind-dependencies:
+ - build
+
+only-for-build-platforms:
+ - win64-shippable/opt
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.fxrecord:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-template:
+ description: "Desktop Startup Visual Metrics"
+ run-on-projects:
+ - mozilla-central
+ worker-type: performance-hardware/gecko-t-fxrecorder
+ worker:
+ implementation: generic-worker
+ max-run-time: 1800
+ os: windows
+ command: ["C:\\fxrecorder\\fxrecorder.exe --config C:\\fxrecorder\\fxrecord.toml record"]
+ treeherder:
+ symbol: fxrec(1st)
+ tier: 2
+ kind: other
diff --git a/taskcluster/ci/geckodriver-signing/kind.yml b/taskcluster/ci/geckodriver-signing/kind.yml
new file mode 100644
index 0000000000..d918c2bfa1
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.geckodriver_signing:transforms
+ - gecko_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..94afef03d0
--- /dev/null
+++ b/taskcluster/ci/generate-profile/kind.yml
@@ -0,0 +1,251 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - instrumented-build
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.run_pgo_profile:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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-gcp
+ 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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+
+ android-x86-shippable/opt:
+ description: "Android 5.0 x86 Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-x86-profile
+ treeherder:
+ platform: android-5-0-x86/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
+ job-script: taskcluster/scripts/tester/test-linux.sh
+ script: android_emulator_pgo.py
+ tooltool-downloads: internal
+ options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
+ config:
+ - android/android_common.py
+ - android/android-x86_64-profile-generation.py
+ - android/android_pgo.py
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - android-sdk-linux
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+
+ android-x86_64-shippable/opt:
+ description: "Android 5.0 x86_64 Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-x86_64-profile
+ treeherder:
+ platform: android-5-0-x86_64/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
+ job-script: taskcluster/scripts/tester/test-linux.sh
+ script: android_emulator_pgo.py
+ tooltool-downloads: internal
+ options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
+ config:
+ - android/android_common.py
+ - android/android-x86_64-profile-generation.py
+ - android/android_pgo.py
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - android-sdk-linux
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+
+ 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: 2400
+ 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-toolchain
+ - 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: 2400
+ 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-toolchain
+ - 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..7c0b8136c4
--- /dev/null
+++ b/taskcluster/ci/github-sync/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - gecko_taskgraph.transforms.github_sync:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ run-on-projects: ['mozilla-central-only']
+ worker-type: b-linux-gcp
+ 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:
+ 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..e2d4677702
--- /dev/null
+++ b/taskcluster/ci/hazard/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ treeherder:
+ kind: build
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ docker-image: {in-tree: debian11-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-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+ 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-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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..5f50f39ecd
--- /dev/null
+++ b/taskcluster/ci/instrumented-build/kind.yml
@@ -0,0 +1,318 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_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
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ 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-gcp
+ 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-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ 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-gcp
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ mozconfig-variant: profile-generate
+ tooltool-downloads: public
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ 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-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: instrumented
+ 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
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-rust-macos
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - macosx64-sdk
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ android-x86-shippable/opt:
+ description: "Android 5.0 x86 PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-x86
+ shipping-product: fennec
+ treeherder:
+ platform: android-5-0-x86/pgo
+ worker-type: b-linux-gcp
+ 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-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ 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/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ run:
+ config:
+ - builds/releng_base_android_64_builds.py
+ custom-build-variant-cfg: x86-profile-generate
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ # Workaround issues in binutils from the ndk with the compiler-rt from clang-13
+ - linux64-binutils
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ android-x86_64-shippable/opt:
+ description: "Android 5.0 x86_64 PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-x86_64
+ shipping-product: fennec
+ treeherder:
+ platform: android-5-0-x86_64/pgo
+ worker-type: b-linux-gcp
+ 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-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ 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/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ run:
+ config:
+ - builds/releng_base_android_64_builds.py
+ custom-build-variant-cfg: x86_64-profile-generate
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ 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-gcp
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - 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-gcp
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - upx-3.95-win
diff --git a/taskcluster/ci/l10n-bump/kind.yml b/taskcluster/ci/l10n-bump/kind.yml
new file mode 100644
index 0000000000..2dd21e4068
--- /dev/null
+++ b/taskcluster/ci/l10n-bump/kind.yml
@@ -0,0 +1,131 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_version_bump:transforms
+ - gecko_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:
+ by-project:
+ autoland: true
+ default: false
+ push:
+ by-project:
+ mozilla-(central|beta): true
+ autoland: true
+ default: false
+ source-repo:
+ by-release-type:
+ beta: https://hg.mozilla.org/releases/mozilla-beta
+ nightly: https://hg.mozilla.org/mozilla-central
+ default: https://hg.mozilla.org/integration/autoland
+ 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
+ l10n-repo-url: "https://hg.mozilla.org/l10n-central/%(locale)s/json-pushes?version=2&tipsonly=1"
+ 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-cross-channel/kind.yml b/taskcluster/ci/l10n-cross-channel/kind.yml
new file mode 100644
index 0000000000..da30306599
--- /dev/null
+++ b/taskcluster/ci/l10n-cross-channel/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.cross_channel:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ quarantine:
+ description: Push strings from all shipping trains to the quarantine strings repo
+ run-on-projects: []
+ worker-type: b-linux-gcp
+ ssh-key-secret:
+ by-level:
+ "3": project/releng/gecko/build/level-3/l10n-cross-channel-quarantine-ssh
+ default: null
+ worker:
+ docker-image: {in-tree: push-to-try}
+ max-run-time: 3600
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts
+ env:
+ TASK_ID: {"task-reference": "<self>"}
+ TASKCLUSTER_PROXY_URL: http://taskcluster
+ treeherder:
+ platform: firefox-release/opt
+ tier: 1
+ kind: build
+ symbol: Rel(l10n-cross-channel)
+ run:
+ using: mach
+ actions:
+ by-level:
+ "3": ["prep", "create", "push", "clean"]
+ default: ["prep", "create", "clean"]
diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/ci/l10n/kind.yml
new file mode 100644
index 0000000000..f2d7395728
--- /dev/null
+++ b/taskcluster/ci/l10n/kind.yml
@@ -0,0 +1,145 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - gecko_taskgraph.transforms.l10n:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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
+ - nsis
+ fetch:
+ by-build-platform:
+ default: []
+ 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-gcp
+ 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..d927485a99
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_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..e2ae94d77b
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_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..1459b3c00c
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_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..4d069408d3
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.maybe_release:transforms
+ - gecko_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..9a0a11977a
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.merge_automation:transforms
+ - gecko_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..e43423b249
--- /dev/null
+++ b/taskcluster/ci/openh264-plugin/kind.yml
@@ -0,0 +1,200 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.openh264:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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
+ - sysroot-i686-linux-gnu
+ linux64/opt:
+ attributes:
+ build_platform: linux64
+ build_type: opt
+ treeherder:
+ platform: linux64/opt
+ worker-type: b-linux-gcp
+ 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
+ - sysroot-x86_64-linux-gnu
+ macosx64/opt:
+ attributes:
+ build_platform: macosx64
+ build_type: opt
+ treeherder:
+ platform: macosx64/opt
+ worker-type: b-linux-gcp
+ 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
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - macosx64-sdk-10.11
+ macosx64-aarch64/opt:
+ attributes:
+ build_platform: macosx64-aarch64
+ build_type: opt
+ treeherder:
+ platform: macosx64-aarch64/opt
+ worker-type: b-linux-gcp
+ 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
+ - win64-dump_syms
+ - win64-mozmake
+ - win64-nasm
+ 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
+ - win64-dump_syms
+ - win64-mozmake
+ - win64-nasm
+ 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
+ - win64-dump_syms
+ - win64-mozmake
diff --git a/taskcluster/ci/openh264-signing/kind.yml b/taskcluster/ci/openh264-signing/kind.yml
new file mode 100644
index 0000000000..512684d45b
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.openh264_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - openh264-plugin
diff --git a/taskcluster/ci/packages/debian.yml b/taskcluster/ci/packages/debian.yml
new file mode 100644
index 0000000000..e58baeb843
--- /dev/null
+++ b/taskcluster/ci/packages/debian.yml
@@ -0,0 +1,136 @@
+# 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: debian-package
+ dist: jessie
+
+deb11-mercurial:
+ description: "Modern Mercurial for Debian bullseye"
+ treeherder:
+ symbol: Deb11(hg)
+ run:
+ using: debian-package
+ dist: bullseye
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-5.8.1.tar.gz
+ sha256: 81baa3fe2087bdda2dd119d7ea948f6badebaeb7b528a7d18b277e2ceb22b19b
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.deb11moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/bullseye/" debian/changelog
+
+deb11-cmake:
+ description: "cmake"
+ treeherder:
+ symbol: Deb11(cmake)
+ run:
+ dist: bullseye
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20221201T090253Z/pool/main/c/cmake/cmake_3.25.1-1.dsc
+ sha256: 508b262eee8f18c8924bb4e1b89596fb208efa2fe6bde270d16552d1dc3a0d65
+
+deb11-valgrind:
+ description: "Valgrind for Debian bullseye"
+ treeherder:
+ symbol: Deb11(valgrind)
+ run:
+ dist: bullseye
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20220829T032859Z/pool/main/v/valgrind/valgrind_3.19.0-1.dsc
+ sha256: 2a988324ccb0a08cb9805f84549725347f261029f198195040a35da905505376
+
+deb11-python-zstandard:
+ description: "python-zstandard for Debian bullseye"
+ treeherder:
+ symbol: Deb11(python-zstandard)
+ run:
+ using: debian-package
+ dist: bullseye
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/releases/download/0.19.0/zstandard-0.19.0.tar.gz
+ sha256: 31d12fcd942dd8dbf52ca5f6b1bbe287f44e5d551a081a983ff3ea2082867863
+ pre-build-command: debchange -v 0.19.0-1.deb11moz --distribution bullseye "Mozilla backport for buster"
+ name: python-zstandard
+
+deb8-gcc-7:
+ description: "gcc 7 for Debian jessie"
+ treeherder:
+ symbol: Deb8(gcc-7)
+ worker:
+ max-run-time: 3600
+ env:
+ DEB_BUILD_OPTIONS: nocheck
+ WITH_BOOTSTRAP: 'off'
+ WITHOUT_LANG: ada brig cilkrts fortran d go objc obj-c++ asan lsan tsan ubsan jit nvptx
+ run:
+ using: debian-package
+ dist: jessie
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20200323T214010Z/pool/main/g/gcc-7/gcc-7_7.5.0-6.dsc
+ sha256: 94f2c35ddcf84a62ae152f2f290be2bba1263157b3970776d0c8b43dec4e6fd5
+ # autoconf2.64 and quilt necessary to run the `debian/rules control` command to
+ # generate an updated debian/control.
+ # uncommenting `with_common_libs` makes the packaging create the libstdc++6 package.
+ # `libstdcxx_abi = new` overrides the default that disables the new ABI on jessie
+ # `BINUTILSBDV=2.25-3~` and `ISL_BUILD_DEP=libisl-dev,` override wrong versions
+ # in build dependencies for jessie.
+ # `OFFLOAD_BUILD_DEP=` overrides the dependency on nvptx, which is not available
+ # in jessie.
+ # `NT=` overrides the use of `:native` which is not supported by dpkg on jessie.
+ pre-build-command: >-
+ apt install autoconf2.64 quilt &&
+ sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs &&
+ echo libstdcxx_abi = new >> debian/rules.defs &&
+ echo BINUTILSBDV=2.25-3~ >> debian/rules.conf &&
+ echo ISL_BUILD_DEP=libisl-dev, >> debian/rules.conf &&
+ echo OFFLOAD_BUILD_DEP= >> debian/rules.conf &&
+ debian/rules control NT=
+
+deb8-32-gcc-7:
+ description: "gcc 7 for Debian jessie"
+ treeherder:
+ symbol: Deb8-32(gcc-7)
+ worker:
+ max-run-time: 3600
+ env:
+ DEB_BUILD_OPTIONS: nocheck
+ WITH_BOOTSTRAP: 'off'
+ WITHOUT_LANG: ada biarch brig cilkrts fortran d go objc obj-c++ asan lsan tsan ubsan jit nvptx
+ run:
+ using: debian-package
+ dist: jessie
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20200323T214010Z/pool/main/g/gcc-7/gcc-7_7.5.0-6.dsc
+ sha256: 94f2c35ddcf84a62ae152f2f290be2bba1263157b3970776d0c8b43dec4e6fd5
+ pre-build-command: >-
+ apt install autoconf2.64 quilt &&
+ sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs &&
+ echo libstdcxx_abi = new >> debian/rules.defs &&
+ echo GCC_MULTILIB_BUILD_DEP='$(DPKG_BUILD_DEP)' >> debian/rules.conf &&
+ echo BINUTILSBDV=2.25-3~ >> debian/rules.conf &&
+ echo ISL_BUILD_DEP=libisl-dev, >> debian/rules.conf &&
+ echo OFFLOAD_BUILD_DEP= >> debian/rules.conf &&
+ debian/rules control NT=
+ arch: i386
+
+deb8-gtk3:
+ description: "X11-only gtk+3 for Debian jessie"
+ treeherder:
+ symbol: Deb8(gtk)
+ worker:
+ max-run-time: 3600
+ env:
+ DEB_BUILD_OPTIONS: nocheck
+ run:
+ dist: jessie
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20150819T212910Z/pool/main/g/gtk+3.0/gtk+3.0_3.14.5-1+deb8u1.dsc
+ sha256: b1808b03317b171c813e31185a4520df4dbde54580842a72a4c44540cd6bde17
+ pre-build-command: >-
+ sed -i /linux-any/d debian/control* debian/libgtk-3-0.symbols &&
+ sed -i s/--enable-wayland-backend/--disable-wayland-backend/ debian/rules &&
+ debchange -v 3.14.5-1.deb8moz --distribution jessie-backports "Mozilla rebuild without wayland support"
diff --git a/taskcluster/ci/packages/kind.yml b/taskcluster/ci/packages/kind.yml
new file mode 100644
index 0000000000..5b21346de8
--- /dev/null
+++ b/taskcluster/ci/packages/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.try_job:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.cached_tasks:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ kind: build
+ platform: packages/opt
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run-on-projects: []
+
+jobs-from:
+ - debian.yml
+ - ubuntu.yml
diff --git a/taskcluster/ci/packages/ubuntu.yml b/taskcluster/ci/packages/ubuntu.yml
new file mode 100644
index 0000000000..819ce08c72
--- /dev/null
+++ b/taskcluster/ci/packages/ubuntu.yml
@@ -0,0 +1,81 @@
+# 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: ubuntu-package
+ dist: bionic
+
+ub18-libc6:
+ description: "Older version of glibc in Ubuntu 18.04 that doesn't cause bug 1678451"
+ treeherder:
+ symbol: Ub18(libc6)
+ run:
+ dsc:
+ url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/glibc/2.27-3ubuntu1.2/glibc_2.27-3ubuntu1.2.dsc
+ sha256: 2ac325cce2251c710dd041f4725925cdbccefba6f6f0f0d95a2a5a09e2050c2e
+ patch: ubuntu-glibc.diff
+
+ub18-32-libc6:
+ description: "Older version of glibc in Ubuntu 18.04 that doesn't cause bug 1678451"
+ treeherder:
+ symbol: Ub18(libc6-32)
+ run:
+ dsc:
+ url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/glibc/2.27-3ubuntu1.2/glibc_2.27-3ubuntu1.2.dsc
+ sha256: 2ac325cce2251c710dd041f4725925cdbccefba6f6f0f0d95a2a5a09e2050c2e
+ arch: i386
+ patch: ubuntu-glibc.diff
+
+ub18-python-zstandard:
+ description: "python-zstandard for Ubuntu bionic"
+ treeherder:
+ symbol: Ub18(python-zstandard)
+ run:
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/releases/download/0.19.0/zstandard-0.19.0.tar.gz
+ sha256: 31d12fcd942dd8dbf52ca5f6b1bbe287f44e5d551a081a983ff3ea2082867863
+ name: python-zstandard
+ pre-build-command: debchange -v 0.19.0-1.ub18moz --distribution bionic "Mozilla backport for bionic"
+
+ub18-mercurial:
+ description: "Modern Mercurial for Ubuntu bionic"
+ treeherder:
+ symbol: Ub18(hg)
+ run:
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-5.8.1.tar.gz
+ sha256: 81baa3fe2087bdda2dd119d7ea948f6badebaeb7b528a7d18b277e2ceb22b19b
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.ub18moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/bionic/" debian/changelog
+
+ub20-python-zstandard:
+ description: "python-zstandard for Ubuntu focal"
+ treeherder:
+ symbol: Ub20(python-zstandard)
+ run:
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/releases/download/0.19.0/zstandard-0.19.0.tar.gz
+ sha256: 31d12fcd942dd8dbf52ca5f6b1bbe287f44e5d551a081a983ff3ea2082867863
+ name: python-zstandard
+ dist: focal
+ pre-build-command: debchange -v 0.19.0-1.ub20moz --distribution bionic "Mozilla backport for focal"
+
+ub20-mercurial:
+ description: "Modern Mercurial for Ubuntu focal"
+ treeherder:
+ symbol: Ub20(hg)
+ run:
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-5.8.1.tar.gz
+ sha256: 81baa3fe2087bdda2dd119d7ea948f6badebaeb7b528a7d18b277e2ceb22b19b
+ dist: focal
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.ub20moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/focal/" debian/changelog
diff --git a/taskcluster/ci/partials-signing/kind.yml b/taskcluster/ci/partials-signing/kind.yml
new file mode 100644
index 0000000000..c01adaedd0
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_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..f287624f2e
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.partials:transforms
+ - gecko_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..c3ef424688
--- /dev/null
+++ b/taskcluster/ci/perftest/android.yml
@@ -0,0 +1,441 @@
+# 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
+ - 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-a51:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run ./mach perftest on a Samsung Galaxy a51
+ treeherder:
+ symbol: perftest-a51
+ platform: android-hw-a51-11-0-arm7-shippable/opt
+
+# TODO: is this right?
+hw-a51-aarch64:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run ./mach perftest on a Samsung Galaxy a51
+ treeherder:
+ symbol: perftest-a51
+ platform: android-hw-a51-11-0-aarch64-shippable/opt
+
+hw-a51-view-fenix:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run VIEW perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(view-fenix)
+ platform: android-hw-a51-11-0-arm7-shippable/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_nightly_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-a51-startup-fenix-cold-main-first-frame:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-fenix-cmff)
+ platform: android-hw-a51-11-0-arm7-shippable/opt
+ attributes:
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor=mobile-browser
+ --AndroidStartUp
+ testing/performance/perftest_android_startup.js
+ --browsertime-cycles=0
+ --AndroidStartUp-test-name=cold_main_first_frame
+ --perfherder
+ --hooks
+ testing/performance/hooks_android_startup.py
+ --AndroidStartUp-product=fenix
+ --AndroidStartUp-release-channel=nightly
+
+hw-a51-startup-fenix-cold-view-nav-start:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-fenix-cvns)
+ platform: android-hw-a51-11-0-arm7-shippable/opt
+ attributes:
+ cron: true
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $GECKO_PATH &&
+ python3 python/mozperftest/mozperftest/runner.py
+ --flavor=mobile-browser
+ --AndroidStartUp
+ testing/performance/perftest_android_startup.js
+ --browsertime-cycles=0
+ --AndroidStartUp-test-name=cold_view_nav_start
+ --perfherder
+ --hooks
+ testing/performance/hooks_android_startup.py
+ --AndroidStartUp-product=fenix
+ --AndroidStartUp-release-channel=nightly
+
+hw-a51-aarch64-view-fenix:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run VIEW perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(view-fenix)
+ platform: android-hw-a51-11-0-aarch64-shippable/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_nightly_arm64_v8a
+ --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-a51-view-gv:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run VIEW perftest on GV on a Samsung A51
+ treeherder:
+ symbol: perftest(view-gv)
+ platform: android-hw-a51-11-0-arm7-shippable/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-a51-aarch64-view-gv:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run VIEW perftest on GV on a Samsung A51
+ treeherder:
+ symbol: perftest(view-gv)
+ platform: android-hw-a51-11-0-aarch64-shippable/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_aarch64
+ --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-a51-main-fenix:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run main (home activity) perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(main-fenix)
+ platform: android-hw-a51-11-0-arm7-shippable/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-a51-aarch64-main-fenix:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run main (home activity) perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(main-fenix)
+ platform: android-hw-a51-11-0-aarch64-shippable/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_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
+
+hw-a51-perfstats-gv:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run PerfStats perftest on GeckoView on a Samsung A51
+ treeherder:
+ symbol: perftest(perfstats-gv)
+ platform: android-hw-a51-11-0-arm7-shippable/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.geckoview_example
+ --android-activity org.mozilla.geckoview_example.GeckoViewActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-install-apk gve_nightly_api16
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --perfherder
+ --perfherder-app geckoview
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
+
+hw-a51-aarch64-perfstats-gv:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run PerfStats perftest on GeckoView on a Samsung A51
+ treeherder:
+ symbol: perftest(perfstats-gv)
+ platform: android-hw-a51-11-0-aarch64-shippable/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.geckoview_example
+ --android-activity org.mozilla.geckoview_example.GeckoViewActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-install-apk gve_nightly_aarch64
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --perfherder
+ --perfherder-app geckoview
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
+
+hw-g5-perfstats-fenix:
+ worker-type: t-bitbar-gw-perf-g5
+ description: Run PerfStats perftest on Fenix on a G5
+ treeherder:
+ symbol: perftest(perfstats-fenix)
+ platform: android-hw-g5-7-0-arm7-shippable/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 org.mozilla.fenix.IntentReceiverActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-install-apk fenix_nightly_armeabi_v7a
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --perfherder
+ --perfherder-app fenix
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
+
+hw-a51-perfstats-fenix:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run PerfStats perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(perfstats-fenix)
+ platform: android-hw-a51-11-0-arm7-shippable/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 org.mozilla.fenix.IntentReceiverActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-install-apk fenix_nightly_armeabi_v7a
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --perfherder
+ --perfherder-app fenix
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
+
+hw-a51-aarch64-perfstats-fenix:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run PerfStats perftest on Fenix on a Samsung A51
+ treeherder:
+ symbol: perftest(perfstats-fenix)
+ platform: android-hw-a51-11-0-aarch64-shippable/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 org.mozilla.fenix.IntentReceiverActivity
+ --android-clear-logcat
+ --android-capture-logcat logcat
+ --android-install-apk fenix_nightly_arm64_v8a
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --perfherder
+ --perfherder-app fenix
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
+
+hw-a51-record-websites:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run perftest to record mobile websites
+ treeherder:
+ symbol: perftest(rec)
+ platform: android-hw-a51-11-0-aarch64-shippable/opt
+ require-build:
+ android-hw-a51-11-0-aarch64-shippable/opt: build-android-aarch64-shippable/opt
+ attributes:
+ cron: false
+ run-on-projects: []
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
+ - secrets:get:project/perftest/gecko/level-{level}/perftest-login
+ 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
+ --android-install-apk gve_nightly_aarch64
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --proxy
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --hooks testing/performance/hooks_recording.py
+ testing/performance/perftest_record.js
diff --git a/taskcluster/ci/perftest/kind.yml b/taskcluster/ci/perftest/kind.yml
new file mode 100644
index 0000000000..0a0f8a4489
--- /dev/null
+++ b/taskcluster/ci/perftest/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - gecko_taskgraph.transforms.perftest:transforms
+ - gecko_taskgraph.transforms.source_test:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - android.yml
+ - linux.yml
+ - macosx.yml
+ - windows.yml
+
+job-defaults:
+ attributes:
+ retrigger: true
+ run-on-projects: []
+ treeherder:
+ kind: other
+ tier: 3
+ worker:
+ taskcluster-proxy: true
+ max-run-time: 10800
+ env:
+ USE_ARTIFACT: '1'
+ HOSTUTILS_MANIFEST_PATH: "testing/config/tooltool-manifests/linux64/hostutils.manifest"
+ 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..e5f7303508
--- /dev/null
+++ b/taskcluster/ci/perftest/linux.yml
@@ -0,0 +1,328 @@
+# 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-1804
+ fetches:
+ toolchain:
+ - linux64-node
+ - 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: linux1804-64-shippable/opt
+ require-build:
+ linux1804-64-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
+
+webpagetest-firefox:
+ description: Run webpagetest performance pageload tests on Firefox against Alexa top 50 websites
+ treeherder:
+ symbol: perftest(linux-webpagetest)
+ tier: 2
+ attributes:
+ cron: true
+ scopes:
+ - secrets:get:project/perftest/gecko/level-{level}/perftest-login
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ testing/performance/perftest_WPT_firefox_init_file.js
+ --flavor=webpagetest
+ --webpagetest
+ --perfherder
+ --perfherder-metrics median
+ --perfherder-app=firefox
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+webpagetest-chrome:
+ description: Run webpagetest performance pageload tests on Chrome against Alexa top 50 websites
+ treeherder:
+ symbol: perftest-chrome(linux-webpagetest)
+ tier: 2
+ attributes:
+ cron: true
+ scopes:
+ - secrets:get:project/perftest/gecko/level-{level}/perftest-login
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ testing/performance/perftest_WPT_chrome_init_file.js
+ --flavor=webpagetest
+ --webpagetest
+ --perfherder
+ --perfherder-metrics median
+ --perfherder-app=chrome
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+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
+
+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]
+ # broken: bug 1678588
+ # - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
+ - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
+ # broken: bug 1799655
+ # - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
+ - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
+ # broken: bug 1695871
+ # - [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: {}
+ # broken: bug 1678588
+ # 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]
+ # broken: bug 1695871
+ # 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]
+ # broken: bug 1678588
+ # 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"]
+ # broken: bug 1695871
+ # 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: false
+ 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
+
+perfstats:
+ description: Run PerfStats pageload test
+ treeherder:
+ symbol: perftest(linux-perfstats)
+ attributes:
+ cron: false
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --flavor desktop-browser
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --perfherder
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
+
+record-websites:
+ description: Run mozperftest to record desktop websites
+ platform: linux1804-64/opt
+ require-build:
+ linux1804-64/opt: build-linux64/opt
+ treeherder:
+ symbol: perftest(rec)
+ attributes:
+ cron: false
+ run-on-projects: []
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
+ - secrets:get:project/perftest/gecko/level-{level}/perftest-login
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ --flavor desktop-browser
+ --verbose
+ --browsertime-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
+ --proxy
+ --output $MOZ_FETCHES_DIR/../artifacts
+ --hooks testing/performance/hooks_recording.py
+ testing/performance/perftest_record.js
+
+side-by-side:
+ description: Run mozperftest side-by-side
+ treeherder:
+ symbol: perftest(side-by-side)
+ run:
+ using: run-task
+ sparse-profile: perftest
+ checkout: true
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.8 python/mozperftest/mozperftest/runner.py
+ tools side-by-side
+ -t {test_name}
+ --base-platform {platform}
+ --base-revision {base_revision}
+ --new-revision {new_revision}
+ --base-branch {base_branch}
+ --new-branch {new_branch}
diff --git a/taskcluster/ci/perftest/macosx.yml b/taskcluster/ci/perftest/macosx.yml
new file mode 100644
index 0000000000..b2d8f578d2
--- /dev/null
+++ b/taskcluster/ci/perftest/macosx.yml
@@ -0,0 +1,251 @@
+# 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-1015-r8
+ 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: macosx1015-64-shippable-qr/opt
+ require-build:
+ macosx1015-64-shippable-qr/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
+
+
+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]
+ # broken: bug 1678588
+ # - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
+ - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
+ # broken: bug 1799655
+ # - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
+ - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
+ # broken: bug 1695871
+ # - [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: {}
+ # broken: bug 1678588
+ # 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]
+ # broken: bug 1695871
+ # 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]
+ # broken: bug 1678588
+ # 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"]
+ # broken: bug 1695871
+ # 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: false
+ 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
+
+perfstats:
+ description: Run PerfStats pageload test
+ treeherder:
+ symbol: perftest(macos-perfstats)
+ attributes:
+ batch: false
+ cron: false
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ --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
+ --perfherder
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
diff --git a/taskcluster/ci/perftest/windows.yml b/taskcluster/ci/perftest/windows.yml
new file mode 100644
index 0000000000..caea4026b7
--- /dev/null
+++ b/taskcluster/ci/perftest/windows.yml
@@ -0,0 +1,200 @@
+# 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-1803-hw
+ fetches:
+ build:
+ - artifact: target.perftests.tests.tar.gz
+ - artifact: target.zip
+ toolchain:
+ - win64-node
+ - win64-geckodriver
+ platform: windows10-64-shippable/opt
+ require-build:
+ windows10-64-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]
+ # broken: bug 1678588
+ # - [fb-scroll, netwerk/test/perf/perftest_http3_facebook_scroll.js]
+ - [g-image, netwerk/test/perf/perftest_http3_google_image.js]
+ # broken: bug 1799655
+ # - [g-search, netwerk/test/perf/perftest_http3_google_search.js]
+ - [lq-fetch, netwerk/test/perf/perftest_http3_lucasquicfetch.js]
+ # broken: bug 1695871
+ # - [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: {}
+ # broken: bug 1678588
+ # 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]
+ # broken: bug 1695871
+ # 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]
+ # broken: bug 1678588
+ # 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"]
+ # broken: bug 1695871
+ # 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: false
+ 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
+
+perfstats:
+ description: Run PerfStats pageload test
+ treeherder:
+ symbol: perftest(win-perfstats)
+ attributes:
+ batch: false
+ cron: false
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ --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
+ --perfherder
+ --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
+ --browsertime-iterations 10
+ --hooks testing/performance/hooks_perfstats.py
+ testing/performance/perftest_perfstats.js
diff --git a/taskcluster/ci/post-balrog-dummy/kind.yml b/taskcluster/ci/post-balrog-dummy/kind.yml
new file mode 100644
index 0000000000..6b5b90afaf
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_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..2071a79e89
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_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..adbdcd7306
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_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..a366ac069e
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_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..8b1546261b
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_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/release-balrog-scheduling/kind.yml b/taskcluster/ci/release-balrog-scheduling/kind.yml
new file mode 100644
index 0000000000..0ca6bfc12e
--- /dev/null
+++ b/taskcluster/ci/release-balrog-scheduling/kind.yml
@@ -0,0 +1,92 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_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]
+ esr102: [17770]
+ default: []
+ staging:
+ by-release-type:
+ beta: [32]
+ release: [145]
+ esr102: [902]
+ 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
+ pin-channels:
+ by-release-type:
+ beta: ["beta"]
+ release: ["release"]
+ esr.*: ["esr", "esr-next"]
+ default: []
+ 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
+ pin-channels: ["aurora"]
+ 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..555b75176c
--- /dev/null
+++ b/taskcluster/ci/release-balrog-submit-toplevel/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.balrog_toplevel:transforms
+ - gecko_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"]
+ esr102: ["firefox-esr102-cdntest", "firefox-esr102-localtest"]
+ default: []
+ pin-channels:
+ by-release-type:
+ beta: ["beta-localtest", "beta-cdntest"]
+ release(-rc)?: ["release-localtest", "release-cdntest"]
+ esr.*: ["esr-localtest", "esr-cdntest", "esr-localtest-next", "esr-cdntest-next"]
+ 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"]
+ pin-channels: ["aurora-localtest", "aurora-cdntest"]
+ 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..5c77a25fb4
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.beetmover_push_to_release:transforms
+ - gecko_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..8d9bb74a2d
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_langpack_checksums:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-signed-langpacks
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map: taskcluster/gecko_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..188a619ab0
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.release_beetmover_signed_addons:transforms
+ - gecko_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/gecko_taskgraph/manifests/firefox_candidates.yml
+ default: taskcluster/gecko_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..9a4ea7a2c4
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_source_checksums:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source-checksums-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map: taskcluster/gecko_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..117b627cb3
--- /dev/null
+++ b/taskcluster/ci/release-bouncer-aliases/kind.yml
@@ -0,0 +1,107 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.bouncer_aliases:transforms
+ - gecko_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
+ firefox-devedition-msix-latest-ssl: msix
+ 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-msix-latest-ssl: msix
+ firefox-beta-pkg-latest-ssl: pkg
+ firefox-beta-langpack-latest-ssl: langpack
+ mozilla-release:
+ firefox-latest-ssl: installer-ssl
+ firefox-latest: installer
+ firefox-stub: stub-installer
+ firefox-msi-latest-ssl: msi
+ firefox-msix-latest-ssl: msix
+ firefox-pkg-latest-ssl: pkg
+ firefox-langpack-latest-ssl: langpack
+ mozilla-esr102:
+ # 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-msix-latest-ssl: msix
+ firefox-esr-pkg-latest-ssl: pkg
+ firefox-esr-langpack-latest-ssl: langpack
+ mozilla-esrXXX: # XXX - to update 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-msix-latest-ssl: msix
+ firefox-esr-next-pkg-latest-ssl: pkg
+ firefox-esr-next-langpack-latest-ssl: langpack
+ 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..9a2508b8f2
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.bouncer_check:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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..abfd7e9a49
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.bouncer_submission:transforms
+ - gecko_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', 'msix']
+ 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', 'msix', 'pkg', 'langpack']
+ esr102: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'msix', 'pkg', 'langpack']
+ 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..9b194fb441
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_version_bump:transforms
+ - gecko_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..a57ec82a9d
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_emefree_checksums:transforms
+ - gecko_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..be8dca4918
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_repackage_partner:transforms
+ - gecko_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..ae7104d4a6
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.partner_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..dad62da7cd
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.mac_notarization_poller:transforms
+ - gecko_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..1caf80ed5b
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing_partner:transforms
+ - gecko_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..2a596556d4
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_partner:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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..2c7dbfed19
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.partner_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..40783540ac
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack/kind.yml
@@ -0,0 +1,77 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.partner_repack:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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
+ 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..b1319665cd
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - release-bouncer-check
+ - release-update-verify-config
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.final_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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..edd65c953e
--- /dev/null
+++ b/taskcluster/ci/release-flatpak-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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_flatpak_push:transforms
+ - gecko_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
+ run-on-releases: [beta, release, release-rc]
+ 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..590a67da13
--- /dev/null
+++ b/taskcluster/ci/release-flatpak-repackage/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_flatpak_repackage:transforms
+ - gecko_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
+ run-on-releases: [beta, release, release-rc]
+ shipping-phase: promote
+ scopes: []
+ treeherder:
+ platform: linux64-shippable/opt
+ kind: build
+ tier: 2
+ worker-type: b-linux-gcp
+ 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..1d221edc1e
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_generate_checksums_beetmover:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-generate-checksums-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map: taskcluster/gecko_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..2e763e5434
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+kind-dependencies:
+ - release-generate-checksums
+
+transforms:
+ - gecko_taskgraph.transforms.release_generate_checksums_signing:transforms
+ - gecko_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..0315bbf539
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - beetmover-source
+ - post-beetmover-checksums-dummy
+ - release-beetmover-signed-langpacks
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_generate_checksums:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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..48f64fc5c9
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_mark_as_shipped:transforms
+ - gecko_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-msix-push/kind.yml b/taskcluster/ci/release-msix-push/kind.yml
new file mode 100644
index 0000000000..3009c74df2
--- /dev/null
+++ b/taskcluster/ci/release-msix-push/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_msix_push:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-shippable-l10n-msix
+
+job-defaults:
+ description: Pushes msix archives to Microsoft Store
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [beta, release, release-rc]
+ shipping-phase: ship # note override in transform
+ treeherder:
+ platform: win32-shippable/opt
+ kind: build
+ tier: 2
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/gecko-3-pushmsix
+ staging: scriptworker-k8s/gecko-1-pushmsix
+ worker:
+ implementation: push-msix
+ channel:
+ by-release-type:
+ beta: beta
+ release.*: release
+ default: mock
+ publish-mode:
+ by-release-type:
+ beta: Immediate
+ default: Manual
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ treeherder:
+ symbol: MSIX(push)
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..c9f53efc78
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_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..eee09b18b9
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_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..cc235a4fbc
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_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..7bf5df977b
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_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..e7c7b8c144
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_started:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ worker:
+ docker-image: {in-tree: "debian11-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..ad6bc65c9f
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.partner_attribution_beetmover:transforms
+ - gecko_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..a80f34a2f0
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.partner_attribution:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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..7da1f2bb15
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_repackage_partner:transforms
+ - gecko_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..98fa149810
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-bouncer-sub/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.bouncer_submission_partners:transforms
+ - gecko_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..26aa2afa51
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_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.
+ - gecko_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).
+ - gecko_taskgraph.transforms.strip_dependent_task:transforms
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_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..66a51a8eac
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.partner_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..653161c4c5
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.mac_notarization_poller:transforms
+ - gecko_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..41a08df1bb
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing_partner:transforms
+ - gecko_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..52d9e5b6f3
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_partner:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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..228443928a
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: partner-repack-ids
+
+transforms:
+ - gecko_taskgraph.transforms.chunk_partners:transforms
+ - gecko_taskgraph.transforms.partner_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..c474b288ef
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack/kind.yml
@@ -0,0 +1,83 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.partner_repack:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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
+ 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..84c3040c60
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_sign_and_push_langpacks:transforms
+ - gecko_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..9a230639b9
--- /dev/null
+++ b/taskcluster/ci/release-secondary-balrog-scheduling/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_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"]
+ pin-channels: ["beta"]
+ 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..cc3312ecbe
--- /dev/null
+++ b/taskcluster/ci/release-secondary-balrog-submit-toplevel/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.balrog_toplevel:transforms
+ - gecko_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"]
+ pin-channels: ["beta-localtest", "beta-cdntest"]
+ 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..0d2e58d01d
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-secondary-balrog-submit-toplevel
+ - release-secondary-update-verify-config
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.final_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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..379f2326dd
--- /dev/null
+++ b/taskcluster/ci/release-secondary-flatpak-push/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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_flatpak_push:transforms
+ - gecko_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
+ run-on-releases: [release-rc]
+ 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: beta
+
+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..ec70aa13ac
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_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]} RC updates are ready!"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} RC updates are ready!"
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..7e28131a5e
--- /dev/null
+++ b/taskcluster/ci/release-secondary-update-verify-config/kind.yml
@@ -0,0 +1,124 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.update_verify_config:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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: "72.0.2"
+ 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..f567cf7ae3
--- /dev/null
+++ b/taskcluster/ci/release-secondary-update-verify/kind.yml
@@ -0,0 +1,77 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-secondary-balrog-submit-toplevel
+ - release-secondary-update-verify-config
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.update_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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: 16
+
+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
+ extra:
+ chunks: 30
diff --git a/taskcluster/ci/release-snap-repackage/kind.yml b/taskcluster/ci/release-snap-repackage/kind.yml
new file mode 100644
index 0000000000..c334acd8ec
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_snap_repackage:transforms
+ - gecko_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-gcp
+ 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..379aff10bc
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.source_checksums_signing:transforms
+ - gecko_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..2b6c3376ab
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.build_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..6b550e9d7e
--- /dev/null
+++ b/taskcluster/ci/release-source/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ shipping-phase: promote
+ treeherder:
+ symbol: Src
+ worker-type: b-linux-gcp
+ 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
+ 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..a6dfd910f8
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.update_verify_config:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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: [esr102]
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ 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: esr102-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..b2964ac7bf
--- /dev/null
+++ b/taskcluster/ci/release-update-verify-config/kind.yml
@@ -0,0 +1,292 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.update_verify_config:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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
+ include-version:
+ by-release-type:
+ beta: beta
+ release(-rc)?: nonbeta
+ esr.*: esr
+ default: beta
+ last-watershed:
+ by-release-type:
+ beta: "72.0"
+ release(-rc)?: "72.0.2"
+ esr102: "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"
+
+ 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"
+
+ 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"
+
+ 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"
+
+ 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"
+
+ 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"
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..cde49e56bf
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-balrog-submit-toplevel
+ - release-update-verify-config-next
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.update_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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: [esr102]
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ 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..1b1b19da9a
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-balrog-submit-toplevel
+ - release-update-verify-config
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.update_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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..be1d9cd85f
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_version_bump:transforms
+ - gecko_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-deb/kind.yml b/taskcluster/ci/repackage-deb/kind.yml
new file mode 100644
index 0000000000..ce5f32b83d
--- /dev/null
+++ b/taskcluster/ci/repackage-deb/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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.repackage_routes:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-signing
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux/opt
+ - linux-devedition/opt
+ - linux64-shippable/opt
+ - linux64/opt
+ - linux64-devedition/opt
+
+job-template:
+ worker-type: b-linux-gcp
+ worker:
+ docker-image:
+ in-tree: debian11-repackage
+ mozharness:
+ run-as-root: true
+ use-caches: false
+ config:
+ by-build-platform:
+ linux\b.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64\b.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ treeherder:
+ symbol: Rpk-deb
+ package-formats:
+ by-build-platform:
+ linux.*: [deb]
diff --git a/taskcluster/ci/repackage-l10n/kind.yml b/taskcluster/ci/repackage-l10n/kind.yml
new file mode 100644
index 0000000000..38a10e61ea
--- /dev/null
+++ b/taskcluster/ci/repackage-l10n/kind.yml
@@ -0,0 +1,67 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.repackage_l10n:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-gcp
+ 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-build-platform:
+ linux.*: [mar]
+ macosx64\b.*: [mar, dmg, pkg]
+ 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..0a43b0762b
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-msix/kind.yml b/taskcluster/ci/repackage-msix/kind.yml
new file mode 100644
index 0000000000..8aa3586432
--- /dev/null
+++ b/taskcluster/ci/repackage-msix/kind.yml
@@ -0,0 +1,104 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ # We're going to generate tasks based on this. We `depend` on and fetch the package from this.
+ - build-signing
+ - toolchain
+
+group-by: platform
+
+only-for-build-platforms:
+ - win32/opt
+ - win64/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+
+job-template:
+ worker-type: b-linux-gcp
+ # This is for fast try iteration; `repackage-shippable-l10n-msix` is the "real one".
+ run-on-projects: []
+ mozharness:
+ 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: [msix, msix-store]
+ fetches:
+ toolchain:
+ - linux64-msix-packaging
+ msix:
+ channel:
+ by-shipping-product:
+ devedition: aurora
+ default:
+ by-release-type:
+ beta.*: beta
+ release.*: official
+ esr.*: official
+ default: nightly
+ identity-name:
+ by-shipping-product:
+ devedition:
+ by-package-format:
+ msix: MozillaFirefoxDevedition
+ msix-store: FirefoxDevedition
+ default:
+ by-package-format:
+ msix:
+ by-release-type:
+ beta.*: MozillaFirefoxBeta
+ release.*: MozillaFirefox
+ esr.*: MozillaFirefox
+ default: MozillaFirefoxNightly
+ msix-store:
+ by-release-type:
+ beta.*: FirefoxBeta
+ release.*: Firefox
+ esr.*: Firefox
+ default: FirefoxNightly
+ publisher:
+ by-package-format:
+ msix-store: "CN=082E9164-EE6C-4EC8-B62C-441FAE7BEFA1"
+ msix:
+ by-level:
+ "1": "CN=Mozilla Fake SPC"
+ "2": "CN=Mozilla Fake SPC"
+ default:
+ # This value needs to line up with the signing certificate
+ # we're going to sign with. We only sign potential release
+ # or nightly builds with proper certificates, so even on
+ # level 3 repositories, some build types are expected to
+ # be signed with our fake certificate.
+ by-release-type:
+ release-rc: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ release: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ beta: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ esr.*: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ nightly: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ default: "CN=Mozilla Fake SPC"
+ publisher-display-name:
+ by-package-format:
+ msix: "Mozilla Corporation"
+ msix-store: "Mozilla"
diff --git a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml b/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml
new file mode 100644
index 0000000000..4caed29b98
--- /dev/null
+++ b/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml
@@ -0,0 +1,106 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ # We're going to generate tasks based on this. We `depend` on and fetch the package from this.
+ - build-signing
+ # We're not going to generate tasks based on these. But we are going to `depend` on and fetch
+ # langpacks from these.
+ - shippable-l10n-signing
+ - toolchain
+
+not-for-kind-dependencies:
+ - shippable-l10n-signing
+
+group-by: platform
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+
+job-template:
+ worker-type: b-linux-gcp
+ mozharness:
+ 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: [msix, msix-store]
+ fetches:
+ toolchain:
+ - linux64-msix-packaging
+ msix:
+ channel:
+ by-shipping-product:
+ devedition: aurora
+ default:
+ by-release-type:
+ beta.*: beta
+ release.*: official
+ esr.*: official
+ default: nightly
+ identity-name:
+ by-shipping-product:
+ devedition:
+ by-package-format:
+ msix: MozillaFirefoxDevedition
+ msix-store: FirefoxDevedition
+ default:
+ by-package-format:
+ msix:
+ by-release-type:
+ beta.*: MozillaFirefoxBeta
+ release.*: MozillaFirefox
+ esr.*: MozillaFirefox
+ default: MozillaFirefoxNightly
+ msix-store:
+ by-release-type:
+ beta.*: FirefoxBeta
+ release.*: Firefox
+ esr.*: Firefox
+ default: FirefoxNightly
+ publisher:
+ by-package-format:
+ msix-store: "CN=082E9164-EE6C-4EC8-B62C-441FAE7BEFA1"
+ msix:
+ by-level:
+ "1": "CN=Mozilla Fake SPC"
+ "2": "CN=Mozilla Fake SPC"
+ default:
+ # This value needs to line up with the signing certificate
+ # we're going to sign with. We only sign potential release
+ # or nightly builds with proper certificates, so even on
+ # level 3 repositories, some build types are expected to
+ # be signed with our fake certificate.
+ by-release-type:
+ release-rc: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ release: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ beta: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ esr.*: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ nightly: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ default: "CN=Mozilla Fake SPC"
+ publisher-display-name:
+ by-package-format:
+ msix: "Mozilla Corporation"
+ msix-store: "Mozilla"
diff --git a/taskcluster/ci/repackage-signing-l10n/kind.yml b/taskcluster/ci/repackage-signing-l10n/kind.yml
new file mode 100644
index 0000000000..a80d79fa51
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.repackage_routes:transforms
+ - gecko_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..149c54e8c2
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_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-msix/kind.yml b/taskcluster/ci/repackage-signing-msix/kind.yml
new file mode 100644
index 0000000000..38604e8375
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-msix/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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-msix
diff --git a/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml b/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml
new file mode 100644
index 0000000000..e4e1fd841f
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-shippable-l10n-msix/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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-shippable-l10n-msix
diff --git a/taskcluster/ci/repackage-signing/kind.yml b/taskcluster/ci/repackage-signing/kind.yml
new file mode 100644
index 0000000000..239f3fdc11
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.repackage_routes:transforms
+ - gecko_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..92fbbf5365
--- /dev/null
+++ b/taskcluster/ci/repackage/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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.repackage_routes:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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
+ - macosx64/debug
+ - 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-gcp
+ 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-build-platform:
+ linux.*: [mar]
+ macosx64\b.*: [mar, dmg, pkg]
+ 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..d0ccdf5cdc
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.repo_update:transforms
+ - gecko_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-gcp
+ worker:
+ implementation: docker-worker
+ os: linux
+ docker-image: {in-tree: periodic-updates}
+ max-run-time: 14400 # Takes up to 4 hours
+ env:
+ PRODUCT: firefox
+ REVIEWERS: "#release-managers"
+ 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..a1ee225b89
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.scriptworker_canary:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ platform: firefox-release/opt
+ tier: 1
+ kind: build
+ worker-type: b-linux-gcp
+ 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..9017c5fe51
--- /dev/null
+++ b/taskcluster/ci/searchfox/kind.yml
@@ -0,0 +1,187 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ symbol: Searchfox(idx)
+ kind: build
+ tier: 2
+ run-on-projects: ['mozilla-central']
+ optimization: null
+
+jobs:
+ linux64-searchfox/debug:
+ description: "Linux64 Debug Searchfox"
+ index:
+ job-name: linux64-searchfox-debug
+ treeherder:
+ platform: linux64/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ 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-clang
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-beta
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ 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-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ 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
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross-beta
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - macosx64-sdk
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ win64-searchfox/debug:
+ description: "Win64 Searchfox Debug (clang-cl)"
+ index:
+ job-name: win64-searchfox-debug
+ treeherder:
+ platform: windows2012-64/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ 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
+ extra-config:
+ mozconfig_platform: win64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross-beta
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-sccache
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - win64-vs2017
+ fetch:
+ - upx-3.95-win
+
+ android-armv7-searchfox/debug:
+ description: "Android ARMv7 Debug Searchfox"
+ index:
+ job-name: android-armv7-searchfox-debug
+ treeherder:
+ platform: android-4-1-armv7/debug
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 10800
+ 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: arm-debug-searchfox
+ tooltool-downloads: internal
+ use-sccache: true
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-cross-beta
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/sentry/kind.yml b/taskcluster/ci/sentry/kind.yml
new file mode 100644
index 0000000000..bfc3cf07a2
--- /dev/null
+++ b/taskcluster/ci/sentry/kind.yml
@@ -0,0 +1,34 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.sentry:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ mach-release:
+ description: Inform Sentry of new revisions (aka Mach releases)
+ worker-type: b-linux-gcp
+ worker:
+ taskcluster-proxy: true
+ max-run-time: 3600
+ docker-image: {in-tree: sentry}
+ env:
+ HG_PUSHLOG_URL: "{head_repository}/json-pushes?version=2&changeset={head_rev}"
+ SENTRY_SECRET: "project/engwf/gecko/{level}/tokens"
+ scopes:
+ - "secrets:get:project/engwf/gecko/{level}/tokens"
+ run:
+ using: run-task
+ checkout: false
+ command: /bin/bash /usr/bin/submit_sentry_release.sh
+ run-on-projects: ['mozilla-central']
+ treeherder:
+ symbol: Sentry(mach-release)
+ platform: other/opt
+ tier: 2
+ kind: other
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..aaa84d9a7a
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.shippable_l10n_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..c93aa9f672
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.mac_notarization_poller:transforms
+ - gecko_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..90dec5ea5d
--- /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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.upstream_artifact_task:transforms
+ - gecko_taskgraph.transforms.shippable_l10n_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_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..24e53cf98b
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n/kind.yml
@@ -0,0 +1,199 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - gecko_taskgraph.transforms.l10n:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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: 1800
+ fetches:
+ toolchain:
+ by-build-platform:
+ default: []
+ macosx64.*:
+ - linux64-libdmg
+ - linux64-hfsplus
+ win.*:
+ - linux64-wine
+ - nsis
+ fetch:
+ by-build-platform:
+ default: []
+ 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-gcp
+ 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..f513ec8dc0
--- /dev/null
+++ b/taskcluster/ci/source-test/clang.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/.
+---
+job-defaults:
+ # Run only on try and code-review tasks
+ # to avoid running clang tools on the whole codebase
+ run-on-projects: []
+ platform: linux64/debug
+ worker-type: t-linux-xlarge-source
+ attributes:
+ code-review: true
+ 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-cbindgen
+ - linux64-nasm
+ - linux64-node
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.cxx'
+ - '**/*.m'
+ - '**/*.mm'
+
+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
+ - linux64-clang-tidy
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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
+ - linux64-clang-tidy
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.cxx'
+ - '**/*.m'
+ - '**/*.mm'
+ - '**/*.h'
+ - '**/*.hh'
+ - '**/*.hpp'
+ - '**/*.hxx'
+ 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
+ - linux64-clang-tidy-external
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/clang-tidy.json
+ path: /builds/worker/clang-tidy.json
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..f156655dd6
--- /dev/null
+++ b/taskcluster/ci/source-test/doc.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/.
+---
+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
+ - type: file
+ name: public/trees.json
+ path: /builds/worker/artifacts/trees.json
+ 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 doc --outdir docs-out --no-open --no-serve --archive --fatal-warnings --dump-trees=/builds/worker/artifacts/trees.json
+ 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-only]
+ 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
+ - type: file
+ name: public/trees.json
+ path: /builds/worker/artifacts/trees.json
+ 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 doc --upload --no-open --no-serve --fatal-warnings --write-url /builds/worker/firefox-source-docs-url.txt --dump-trees=/builds/worker/artifacts/trees.json
+ 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..9fee8e9b93
--- /dev/null
+++ b/taskcluster/ci/source-test/file-metadata.yml
@@ -0,0 +1,123 @@
+# 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
+ tier: 1
+ index:
+ product: source
+ job-name: source-bugzilla-info
+ run:
+ mach: file-info bugzilla-automation /builds/worker/artifacts
+ worker:
+ max-run-time: 1800
+ run-on-projects: ['autoland', 'mozilla-central']
+
+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: debian11-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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: debian11-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ 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: debian11-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
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ source taskcluster/scripts/misc/source-test-common.sh &&
+ ./mach test-info testrun-report --output-file /builds/worker/artifacts/test-run-info.json &&
+ ./mach test-info report --show-tests --show-summary --show-testruns --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/jsshell.yml b/taskcluster/ci/source-test/jsshell.yml
new file mode 100644
index 0000000000..2ce0a846d4
--- /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-1804
+ 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..192ecce7fb
--- /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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.try_job:transforms
+ - gecko_taskgraph.transforms.source_test:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - fetch
+ - toolchain
+ - build
+
+jobs-from:
+ - clang.yml
+ - cram.yml
+ - doc.yml
+ - file-metadata.yml
+ - jsshell.yml
+ - mozlint.yml
+ - mozlint-android.yml
+ - node.yml
+ - python.yml
+ - remote.yml
+ - shadow-scheduler.yml
+ - taskgraph.yml
+ - vendor.yml
+ - webidl.yml
+ - webcompat.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..6602d8c818
--- /dev/null
+++ b/taskcluster/ci/source-test/mozlint-android.yml
@@ -0,0 +1,106 @@
+# 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-arm/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/classes/api.txt
+ type: file
+ - name: public/android/geckoview/api.txt.map
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/classes/api.txt.map
+ type: file
+ - name: public/android/geckoview/apilint-result.json
+ path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/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 pre-export export &&
+ ./mach --log-no-times lint -f treeherder -f json:/builds/worker/mozlint.json
+ --linter android-api-lint
+ --linter android-format
+ --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-jdk-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..41cda9c137
--- /dev/null
+++ b/taskcluster/ci/source-test/mozlint.yml
@@ -0,0 +1,579 @@
+# 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
+ 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'
+ - '**/*.mjs'
+ - '**/*.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'
+ - '**/*.mjs'
+ - '**/*.xml'
+ - '**/*.html'
+ - '**/*.xhtml'
+ - '**/*.cpp'
+ - '**/*.c'
+ - '**/*.h'
+ - '**/*.idl'
+ - '**/*.webidl'
+ - '**/*.configure'
+ - '**/*.py'
+ - '**/*.properties'
+ - '**/*.rst'
+ - '**/*.ftl'
+ - '**/*.java'
+ - '**/*.kt'
+ - 'tools/lint/rejected-words.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 &&
+ cp -r /build/node_modules_eslint-plugin-mozilla/ tools/lint/eslint/eslint-plugin-mozilla/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 -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ # Files that are likely audited.
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.mjs'
+ - '**/*.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/**'
+
+eslint-build:
+ description: ESLint checks with build data
+ always-target: false
+ # Triggered by cron task, don't run on any projects and disable optimization.
+ run-on-projects: []
+ when: null
+ attributes:
+ code-review: false
+ treeherder:
+ symbol: js(ES-B)
+ tier: 2
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ export MOZ_XPT_ARTIFACTS_DIR="$MOZ_FETCHES_DIR/$MOZ_XPT_ARTIFACTS_DIRNAME" &&
+ find "$MOZ_XPT_ARTIFACTS_DIR" &&
+ cp -r /build/node_modules_eslint node_modules &&
+ cp -r /build/node_modules_eslint-plugin-mozilla/ tools/lint/eslint/eslint-plugin-mozilla/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 * --rule "mozilla/valid-services-property: error" --rule "mozilla/valid-ci-uses: error"
+ worker:
+ env:
+ MOZ_XPT_ARTIFACTS_DIRNAME: xpt_artifacts
+ require-build:
+ .*: build-linux64/opt
+ fetches:
+ build:
+ - artifact: target.xpt_artifacts.zip
+ dest: xpt_artifacts
+
+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'
+ - '**/*.mjs'
+ - '**/*.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'
+
+updatebot:
+ description: Ensure moz.yaml files are valid per schema
+ treeherder:
+ symbol: misc(mozyaml)
+ run:
+ mach: lint -v -l updatebot -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/moz.yaml'
+
+mscom-init:
+ description: Lint for Microsoft COM initialization
+ treeherder:
+ symbol: misc(mscom)
+ run:
+ mach: lint -v -l mscom-init -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.cpp'
+ - '**/*.cc'
+ - '**/*.c'
+ - '**/*.h'
+ - 'tools/lint/mscom-init.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/black.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
+
+py-isort:
+ description: isort run over the gecko codebase
+ treeherder:
+ symbol: py(isort)
+ run:
+ mach: lint -v -l isort -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.py'
+ - '**/.flake8'
+ - '**/.isort.cfg'
+ - 'tools/lint/isort.yml'
+ # moz.configure files are also Python files.
+ - '**/*.configure'
+
+test-manifest:
+ description: lint test manifests
+ treeherder:
+ symbol: misc(tm)
+ run:
+ mach: lint -v -l test-manifest-disable -l test-manifest-skip-if -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: l10n(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: l10n(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'
+ dependencies:
+ linux64-clang-tidy: toolchain-linux64-clang-tidy
+ fetches:
+ linux64-clang-tidy:
+ - artifact: clang-tidy.tar.zst
+ dest: clang-tools
+
+
+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'
+ fetches:
+ toolchain:
+ - linux64-rust
+
+
+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 -j 1 *
+ when:
+ files-changed:
+ - '**/*.rs'
+ - '**/Cargo.toml'
+ - 'tools/lint/clippy.yml'
+ fetches:
+ toolchain:
+ - linux64-rust
+
+
+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'
+ - '**/*.idl'
+ - '**/*.ftl'
+ - '**/*.h'
+ - '**/*.html'
+ - '**/*.md'
+ - '**/*.properties'
+ - '**/*.py'
+ - '**/*.rs'
+ - '**/*.rst'
+ - '**/*.webidl'
+ - '**/*.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:
+ - '**/*.build'
+ - '**/*.c'
+ - '**/*.cc'
+ - '**/*.cpp'
+ - '**/*.flac'
+ - '**/*.h'
+ - '**/*.html'
+ - '**/*.idl'
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.m'
+ - '**/*.m4s'
+ - '**/*.md'
+ - '**/*.mjs'
+ - '**/*.mm'
+ - '**/*.mozbuild'
+ - '**/*.mp4'
+ - '**/*.png'
+ - '**/*.rs'
+ - '**/*.rst'
+ - '**/*.svg'
+ - '**/*.ttf'
+ - '**/*.wasm'
+ - '**/*.webidl'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ - '**/*.xul'
+ - '**/*.yml'
+ - '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/
+ DECISION_TASK_ID: {task-reference: <decision>}
+ artifacts:
+ - type: file
+ name: public/perfdocs.diff
+ path: /builds/worker/diff.txt
+ when:
+ files-changed:
+ - 'taskcluster/**'
+ - '**/perftest.ini'
+ - 'python/mozperftest/**'
+ - 'testing/**/*.ini'
+ - 'testing/**/*.yml'
+ - 'testing/**/*.rst'
+ - 'tools/lint/perfdocs.yml'
+
+
+fluent-lint:
+ description: Check for problems with Fluent files.
+ platform: lint/opt
+ treeherder:
+ symbol: l10n(fluent)
+ run:
+ mach: lint --linter fluent-lint -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.ftl'
+ - 'tools/lint/fluent-lint.yml'
+ - 'tools/lint/fluent-lint/exclusions.yml'
+
+trojan-source:
+ description: Trojan Source attack - CVE-2021-42572
+ platform: lint/opt
+ treeherder:
+ symbol: misc(trojan-source)
+ run:
+ mach: lint -v -l trojan-source --include-third-party -f treeherder -f json:/builds/worker/mozlint.json *
+ when:
+ files-changed:
+ - '**/*.c'
+ - '**/*.cc'
+ - '**/*.cpp'
+ - '**/*.h'
+ - '**/*.py'
+ - '**/*.rs'
+ - 'tools/lint/trojan-source.yml'
diff --git a/taskcluster/ci/source-test/node.yml b/taskcluster/ci/source-test/node.yml
new file mode 100644
index 0000000000..19038d47fb
--- /dev/null
+++ b/taskcluster/ci/source-test/node.yml
@@ -0,0 +1,188 @@
+# 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/**"
+
+newtab-unit-tests-ccov:
+ description: newtab unit tests code coverage
+ platform: linux1804-64/opt
+ treeherder:
+ symbol: node(newtab-ccov)
+ kind: test
+ tier: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "ubuntu1804-test"}
+ max-run-time: 1800
+ artifacts:
+ - name: public/code-coverage-grcov.zip
+ path: /builds/worker/checkouts/gecko/browser/components/newtab/logs/coverage/code-coverage-grcov.zip
+ type: file
+ require-build:
+ by-project:
+ 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
+ run-on-projects: ["mozilla-central"]
+
+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}'
+ # Re-use rather than re-installing to avoid hitting/requiring
+ # nodejs servers for downloads
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ cp -r /build/node_modules_eslint-plugin-mozilla/ tools/lint/eslint/eslint-plugin-mozilla/node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-mozilla node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-spidermonkey-js node_modules &&
+ 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}'
+ # Re-use rather than re-installing to avoid hitting/requiring
+ # nodejs servers for downloads
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ cp -r /build/node_modules_eslint-plugin-mozilla/ tools/lint/eslint/eslint-plugin-mozilla/node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-mozilla node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-spidermonkey-js node_modules &&
+ 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/**'
+
+devtools-verify-bundle:
+ description: devtools bundle checker
+ platform: linux1804-64/opt
+ treeherder:
+ symbol: node(devtools-bundle)
+ kind: test
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1200
+ run:
+ using: run-task
+ cache-dotcache: true
+ cwd: '{checkout}'
+ # Re-use rather than re-installing to avoid hitting/requiring
+ # nodejs servers for downloads
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ cp -r /build/node_modules_eslint-plugin-mozilla/ tools/lint/eslint/eslint-plugin-mozilla/node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-mozilla node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-spidermonkey-js node_modules &&
+ cd devtools/client/debugger &&
+ yarn &&
+ node bin/bundle.js &&
+ cd ../../.. &&
+ ./mach python taskcluster/scripts/misc/verify-devtools-bundle.py
+ when:
+ files-changed:
+ - 'devtools/**'
+
+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..0d588d6c2d
--- /dev/null
+++ b/taskcluster/ci/source-test/python.yml
@@ -0,0 +1,619 @@
+# 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:
+ by-platform:
+ macosx.*: false
+ default: true
+ worker-type:
+ by-platform:
+ linux1804-64.*: t-linux-xlarge-source
+ macosx1015-64.*: t-osx-1015-r8
+ windows10-64.*: win10-64-2004-source
+ worker:
+ by-platform:
+ linux1804-64.*:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 3600
+ macosx.*:
+ max-run-time: 3600
+ env:
+ PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
+ default:
+ max-run-time: 3600
+ treeherder:
+ kind: test
+ tier: 1
+ run:
+ using: mach
+ when:
+ files-changed:
+ - 'config/mozunit/**'
+ - 'python/mach_commands.py'
+
+firefox-ci:
+ description: taskcluster/gecko_taskgraph unit tests
+ always-target: false
+ 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
+ - macosx1015-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
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: mach
+ run:
+ using: python-test
+ subsuite: mach
+ when:
+ files-changed:
+ - 'python/mach/**'
+ - 'python/sites/**'
+
+marionette-harness:
+ description: testing/marionette/harness unit tests
+ platform:
+ - linux1804-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ 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'
+
+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: py3(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 &&
+ ./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
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: mb
+ run:
+ using: python-test
+ subsuite: mozbase
+ when:
+ files-changed:
+ - 'testing/mozbase/**'
+
+mozharness:
+ 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 py39-hg5.2
+ when:
+ files-changed:
+ - 'testing/mozharness/**'
+
+mozlint:
+ description: python/mozlint unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: mozlint
+ tier: 2
+ run:
+ using: python-test
+ subsuite: mozlint
+ dependencies:
+ clang-tidy:
+ by-platform:
+ linux1804-64/opt: toolchain-linux64-clang-tidy
+ macosx1015-64/opt: toolchain-macosx64-clang-tidy
+ windows10-64/opt: toolchain-win64-clang-tidy
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ - linux64-rust
+ macosx1015-64/opt:
+ - macosx64-node
+ - macosx64-rust
+ windows10-64/opt:
+ - win64-node
+ - win64-rust
+ clang-tidy:
+ - artifact: clang-tidy.tar.zst
+ dest: clang-tools
+ when:
+ files-changed:
+ - 'python/mozlint/**'
+ - 'tools/lint/**'
+
+mozrelease:
+ description: python/mozrelease unit tests
+ python-version: [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: [3]
+ treeherder:
+ symbol: term
+ run:
+ using: python-test
+ subsuite: mozterm
+ when:
+ files-changed:
+ - 'python/mozterm/**'
+
+mozversioncontrol:
+ description: python/mozversioncontrol unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [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
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [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: py3(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 &&
+ ./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/gecko_taskgraph unit tests
+ python-version: [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/gecko_taskgraph/transforms/**'
+ - 'tools/tryselect/**'
+
+mozbuild:
+ description: mozbuild unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: mbu
+ run:
+ using: python-test
+ subsuite: mozbuild
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node-12
+ macosx1015-64/opt:
+ - macosx64-node-12
+ windows10-64/opt:
+ - win64-node-12
+ 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
+ - macosx1015-64/opt
+ - windows10-64/opt
+ treeherder:
+ symbol: mpu
+ run:
+ mach: perftest-test
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ macosx1015-64/opt:
+ - macosx64-node
+ windows10-64/opt:
+ - win64-node
+ when:
+ files-changed:
+ - 'testing/performance/**'
+ - 'python/mozperftest/**'
+
+fxms-schemas:
+ description: >
+ Ensure messaging-system schemas are up-to-date and run Experimenter
+ integration tests.
+ platform:
+ - linux1804-64/opt
+ treeherder:
+ symbol: py3(fxms)
+ require-build:
+ by-project:
+ try:
+ linux1804-64/opt: build-linux64/opt
+ default:
+ linux1804-64/opt: build-linux64/opt
+ fetches:
+ build:
+ - artifact: target.tar.bz2
+ - artifact: target.common.tests.tar.gz
+ worker:
+ by-platform:
+ linux1804-64.*:
+ docker-image: {in-tree: "ubuntu1804-test"}
+ max-run-time: 3600
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ cd browser/components/newtab/content-src/asrouter/schemas &&
+ env LD_LIBRARY_PATH=${MOZ_FETCHES_DIR}/firefox \
+ ${MOZ_FETCHES_DIR}/bin/xpcshell \
+ -g ${MOZ_FETCHES_DIR}/firefox \
+ -a ${MOZ_FETCHES_DIR}/firefox/browser \
+ extract-test-corpus.js
+ ../../../../../../mach python -- make-schemas.py --check
+ when:
+ files-changed:
+ - 'browser/components/newtab/content-src/asrouter/schemas/extract-test-corpus.js'
+ - 'browser/components/newtab/content-src/asrouter/schemas/make-schemas.py'
+ - 'browser/components/newtab/content-src/**/*.schema.json'
+ - 'browser/components/newtab/lib/CFRMessageProvider.jsm'
+ - 'browser/components/newtab/lib/OnboardingMessageProvider.jsm'
+ - 'browser/components/newtab/lib/PanelTestProvider.jsm'
+
+condprof:
+ description: testing/condprofile unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ 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: [3]
+ treeherder:
+ symbol: fg
+ run:
+ using: python-test
+ subsuite: featuregates
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ windows10-64/opt:
+ - win64-node
+ when:
+ files-changed:
+ - 'toolkit/components/featuregates/**'
+
+talos:
+ description: testing/talos unit tests
+ platform: windows10-64/opt
+ python-version: [3]
+ 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 &&
+ ./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
+ - macosx1015-64/opt
+ - windows10-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: tp
+ run:
+ using: python-test
+ subsuite: telemetry-python
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ macosx1015-64/opt:
+ - macosx64-node
+ windows10-64/opt:
+ - win64-node
+ when:
+ files-changed:
+ - 'toolkit/components/telemetry/**'
+
+webext:
+ description: WebExtensions python utilities unit tests
+ platform:
+ - linux1804-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: webext-py
+ tier: 2
+ run:
+ using: python-test
+ subsuite: webext-python
+ when:
+ files-changed:
+ - 'toolkit/components/extensions/webidl-api/**'
+ - 'toolkit/components/extensions/schemas/*.json'
+ - 'browser/components/extensions/schemas/*.json'
+ - 'mobile/android/components/extensions/schemas/*.json'
+
+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/components/*.py'
+ - 'xpcom/components/test/**'
+ - '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..f292068d20
--- /dev/null
+++ b/taskcluster/ci/source-test/remote.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/.
+---
+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: 1
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: ubuntu1804-test}
+ max-run-time: 3600
+ 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
+ treeherder:
+ symbol: remote(pup)
+ run: # Bug 1651542: Use screenshot feature to warm-up the font cache before the actual test
+ using: run-task
+ command: >
+ cd $GECKO_PATH/ &&
+ $MOZ_FETCHES_DIR/firefox/firefox --screenshot http://example.org &&
+ ./mach puppeteer-test --ci -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
diff --git a/taskcluster/ci/source-test/shadow-scheduler.yml b/taskcluster/ci/source-test/shadow-scheduler.yml
new file mode 100644
index 0000000000..97d1b1f30b
--- /dev/null
+++ b/taskcluster/ci/source-test/shadow-scheduler.yml
@@ -0,0 +1,178 @@
+# 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-only']
+ 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: gecko_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: gecko_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: gecko_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: gecko_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: gecko_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: gecko_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: gecko_taskgraph.optimize:experimental.bugbug_disperse_reduced_medium
+
+bugbug_reduced_manifests_config_selection_low:
+ description: Runs the bugbug_reduced_manifests_config_selection_low optimization strategy instead of the default.
+ treeherder:
+ symbol: SS(bugbug_r_c_s_low)
+ index:
+ product: source
+ job-name: shadow-scheduler-bugbug_reduced_manifests_config_selection_low
+ worker:
+ env:
+ TASKGRAPH_OPTIMIZE_STRATEGIES: gecko_taskgraph.optimize:experimental.bugbug_reduced_manifests_config_selection_low
+
+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: gecko_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: gecko_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: gecko_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: gecko_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: gecko_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: gecko_taskgraph.optimize:experimental.bugbug_reduced_high
diff --git a/taskcluster/ci/source-test/taskgraph.yml b/taskcluster/ci/source-test/taskgraph.yml
new file mode 100644
index 0000000000..acabb9eddb
--- /dev/null
+++ b/taskcluster/ci/source-test/taskgraph.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/.
+---
+diff:
+ description: Generates diffs of CI changes
+ platform: linux1804-64/opt
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ # Uncomment to upload logs of the generations as artifacts.
+ # env:
+ # XDG_CACHE_HOME: "/builds/worker/artifacts/cache"
+ artifacts:
+ - type: directory
+ name: public/taskgraph
+ path: /builds/worker/artifacts
+ attributes:
+ code-review: true
+ always-target: true
+ treeherder:
+ kind: test
+ platform: gecko-decision/opt
+ symbol: tgdiff
+ tier: 2
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ mkdir -p /builds/worker/artifacts/diffs &&
+ ./mach taskgraph target --fast -p "taskcluster/test/params" -o "/builds/worker/artifacts/diffs/diff.txt" --diff {base_rev}
+ when:
+ files-changed:
+ - 'taskcluster/ci/**'
+ - 'taskcluster/**/*.py'
diff --git a/taskcluster/ci/source-test/vendor.yml b/taskcluster/ci/source-test/vendor.yml
new file mode 100644
index 0000000000..c6594c6f68
--- /dev/null
+++ b/taskcluster/ci/source-test/vendor.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: t-linux-xlarge-source
+ attributes:
+ code-review: true
+ worker:
+ docker-image: {in-tree: static-analysis-build}
+ max-run-time: 1200
+ artifacts:
+ - type: file
+ name: public/code-review/issues.json
+ path: /builds/worker/issues.json
+ treeherder:
+ kind: test
+ tier: 1
+ platform: lint/opt
+ run:
+ using: run-task
+
+rust:
+ description: Rust vendoring validation
+ treeherder:
+ symbol: rust(vendor)
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ cwd: '{checkout}'
+ command: >-
+ ./mach vendor rust --issues-json /builds/worker/issues.json
+ fetches:
+ toolchain:
+ - linux64-cargo-vet
+ - linux64-rust
+ when:
+ files-changed:
+ - 'Cargo.lock'
+ - '**/Cargo.toml'
+ - 'python/mozbuild/mozbuild/vendor/vendor_rust.py'
+ - 'supply-chain/**'
+ - 'third_party/rust/**'
diff --git a/taskcluster/ci/source-test/webcompat.yml b/taskcluster/ci/source-test/webcompat.yml
new file mode 100644
index 0000000000..66ff7910a6
--- /dev/null
+++ b/taskcluster/ci/source-test/webcompat.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/.
+---
+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-geckodriver
+ run-on-projects: []
+ treeherder:
+ kind: test
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: ubuntu1804-test}
+ max-run-time: 1800
+ optimization:
+ skip-unless-expanded: null
+
+interventions:
+ description: webcompat intervention tests
+ treeherder:
+ symbol: wc(I)
+ tier: 3
+ python-version: [3]
+ run:
+ using: mach
+ # Need to start Xvfb if we remove --headless
+ mach: test-interventions --headless --binary $MOZ_FETCHES_DIR/firefox/firefox --webdriver-binary $MOZ_FETCHES_DIR/geckodriver --log-tbpl -
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..b2c54d62b9
--- /dev/null
+++ b/taskcluster/ci/source-test/wpt-metadata.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/.
+---
+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'
+
+
+fission-regression:
+ description: Summarize fission regressions in wpt
+ treeherder:
+ symbol: wpt-fis
+ index:
+ product: source
+ job-name: source-wpt-fission-regressions
+ run:
+ using: mach
+ mach: wpt-fission-regressions --all-json /builds/worker/artifacts/regressions.json --untriaged /builds/worker/artifacts/untriaged.txt
+ 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/fissionregressions.py'
diff --git a/taskcluster/ci/spidermonkey/kind.yml b/taskcluster/ci/spidermonkey/kind.yml
new file mode 100644
index 0000000000..5146dd717b
--- /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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.spidermonkey:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ treeherder:
+ kind: build
+ tier: 1
+ index:
+ product: firefox
+ worker-type: b-linux-gcp
+ 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/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
+ - win64-rust
+ default:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-dump_syms
+ - sysroot-x86_64-linux-gnu
+
+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..2d281eb580
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/linux.yml
@@ -0,0 +1,499 @@
+# 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: 10800
+ docker-image: {in-tree: debian11-amd64-build}
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-gcc
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-gcc
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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
+ run-on-projects: []
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ when:
+ files-changed:
+ - 'third_party/rust/jsparagus/**'
+ - 'js/src/frontend/Frontend2.cpp'
+ - 'js/src/frontend/Frontend2.h'
+ - 'js/src/frontend/SourceNotes.h'
+ - 'js/src/frontend/smoosh/**'
+ - 'js/public/Symbol.h'
+ - 'js/src/vm/AsyncFunctionResolveKind.h'
+ - 'js/src/vm/BytecodeFormatFlags.h'
+ - 'js/src/vm/CheckIsObjectKind.h'
+ - 'js/src/vm/FunctionFlags.h'
+ - 'js/src/vm/FunctionPrefixKind.h'
+ - 'js/src/vm/GeneratorAndAsyncKind.h'
+ - 'js/src/vm/GeneratorResumeKind.h'
+ - 'js/src/vm/Opcodes.h'
+ - 'js/src/vm/ThrowMsgKind.h'
+ - 'js/src/vm/StencilEnums.h'
+
+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
+ run-on-projects: []
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ when:
+ files-changed:
+ - 'third_party/rust/jsparagus/**'
+ - 'js/src/frontend/Frontend2.cpp'
+ - 'js/src/frontend/Frontend2.h'
+ - 'js/src/frontend/SourceNotes.h'
+ - 'js/src/frontend/smoosh/**'
+ - 'js/public/Symbol.h'
+ - 'js/src/vm/AsyncFunctionResolveKind.h'
+ - 'js/src/vm/BytecodeFormatFlags.h'
+ - 'js/src/vm/CheckIsObjectKind.h'
+ - 'js/src/vm/FunctionFlags.h'
+ - 'js/src/vm/FunctionPrefixKind.h'
+ - 'js/src/vm/GeneratorAndAsyncKind.h'
+ - 'js/src/vm/GeneratorResumeKind.h'
+ - 'js/src/vm/Opcodes.h'
+ - 'js/src/vm/ThrowMsgKind.h'
+ - 'js/src/vm/StencilEnums.h'
+
+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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-plain-linux32/debug:
+ description: "Spidermonkey Plain"
+ index:
+ job-name: sm-plain-linux32-debug
+ treeherder:
+ platform: linux32/debug
+ symbol: SM(p)
+ run:
+ spidermonkey-variant: plaindebug
+ spidermonkey-platform: linux
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+
+sm-arm-sim-linux32/debug:
+ description: "Spidermonkey ARM sim"
+ index:
+ job-name: sm-arm-sim-linux32-debug
+ treeherder:
+ platform: linux32/debug
+ symbol: SM(arm)
+ run:
+ spidermonkey-variant: arm-sim
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+
+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
+ worker:
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1"
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-asan-linux64/opt:
+ description: "Spidermonkey Address Sanitizer"
+ index:
+ job-name: sm-linux64-asan-opt
+ treeherder:
+ symbol: SM(asan)
+ platform: linux64/opt
+ worker:
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1"
+ run:
+ spidermonkey-variant: asan
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-linux64-wasi/opt:
+ description: "Spidermonkey WASI opt build"
+ index:
+ job-name: sm-linux64-wasi-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: SM(wasi)
+ tier: 2
+ run:
+ spidermonkey-variant: wasi
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+sm-msan-linux64/opt:
+ description: "Spidermonkey Memory Sanitizer"
+ index:
+ job-name: sm-linux64-msan-opt
+ treeherder:
+ symbol: SM(msan)
+ platform: linux64/opt
+ tier: 3
+ worker:
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1"
+ run:
+ spidermonkey-variant: msan
+ # Disable by default by allow try pushes to explicitly request.
+ run-on-projects: []
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-tsan-linux64/opt:
+ description: "Spidermonkey Thread Sanitizer"
+ index:
+ job-name: sm-linux64-tsan-opt
+ treeherder:
+ symbol: SM(tsan)
+ platform: linux64/opt
+ worker:
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1"
+ run:
+ spidermonkey-variant: tsan
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-rust-dev
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-fuzzing-linux64/opt:
+ description: "Spidermonkey Fuzzing"
+ index:
+ job-name: sm-linux64-fuzzing
+ treeherder:
+ platform: linux64/opt
+ symbol: SM(f)
+ worker:
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1"
+ run:
+ spidermonkey-variant: fuzzing
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-fuzzilli-linux64/debug:
+ description: "Spidermonkey Fuzzilli debug"
+ index:
+ job-name: sm-linux64-fuzzilli-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(fuzzilli)
+ worker:
+ env:
+ MOZ_JS_UPLOAD_BINARIES_DEFAULT: "1"
+ run:
+ spidermonkey-variant: fuzzilli
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+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
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+sm-rt-linux64/debug:
+ description: "SpiderMonkey Records&Tuples"
+ index:
+ job-name: sm-rt-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(rt)
+ run:
+ spidermonkey-variant: rtdebug
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-breakpad-injector
+ - linux64-minidump-stackwalk
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
diff --git a/taskcluster/ci/spidermonkey/windows.yml b/taskcluster/ci/spidermonkey/windows.yml
new file mode 100644
index 0000000000..742bffab21
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/windows.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:
+ worker-type: b-win2012
+ worker:
+ max-run-time: 10800
+ run:
+ tooltool-downloads: public
+
+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
+ - win64-rust
+ - win64-mozmake
+ - win64-vs2017
+
+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
+ - win64-rust
+ - win64-mozmake
+ - win64-vs2017
+
+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
+ - win64-rust
+ - win64-mozmake
+ - win64-vs2017
+
+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
+ - win64-rust
+ - win64-mozmake
+ - win64-vs2017
+
+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
+ - win64-rust
+ - win64-mozmake
+ - win64-vs2017
+
+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
+ - win64-rust
+ - win64-mozmake
+ - win64-vs2017
diff --git a/taskcluster/ci/startup-test/kind.yml b/taskcluster/ci/startup-test/kind.yml
new file mode 100644
index 0000000000..652c033881
--- /dev/null
+++ b/taskcluster/ci/startup-test/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ # We want to test the signed version of a build, to make sure
+ # any startup problems or crashes caused by signing are caught
+ # This means we depend on a different kind depending on the platform
+ # linux
+ - build-signing
+ # mac
+ - repackage
+ # windows
+ - repackage-signing
+
+transforms:
+ - gecko_taskgraph.transforms.startup_test:transforms
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: startup-test
+ description: Check whether or not a product crashes on startup
+ run-on-projects: ['mozilla-central']
+ run-on-releases: ['nightly', 'beta', 'release-rc']
+ worker:
+ max-run-time: 3600
+ run:
+ sparse-profile: mozharness
+ attributes:
+ build_type: opt
+ treeherder:
+ symbol: SUT
+ kind: test
+ tier: 1
+
+jobs:
+ linux32:
+ dependencies:
+ build-signing: build-signing-linux-shippable/opt
+ run:
+ using: run-task
+ cwd: "{checkout}"
+ extra-config:
+ upstream_kind: build-signing
+ upstream_artifact: target.tar.bz2
+ binary: firefox
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: ubuntu1804-test}
+ shipping-product: firefox
+ attributes:
+ build_platform: linux-shippable
+ treeherder:
+ platform: linux-shippable/opt
+
+ linux64:
+ dependencies:
+ build-signing: build-signing-linux64-shippable/opt
+ run:
+ using: run-task
+ cwd: "{checkout}"
+ extra-config:
+ upstream_kind: build-signing
+ upstream_artifact: target.tar.bz2
+ binary: firefox
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: ubuntu1804-test}
+ shipping-product: firefox
+ attributes:
+ build_platform: linux64-shippable
+ treeherder:
+ platform: linux64-shippable/opt
+
+ macosx64:
+ dependencies:
+ repackage: repackage-macosx64-shippable/opt
+ run:
+ using: mach
+ python-version: 3
+ extra-config:
+ upstream_kind: repackage
+ upstream_artifact: target.dmg
+ binary: Contents/MacOS/firefox
+ worker-type: t-osx-1015-r8
+ shipping-product: firefox
+ attributes:
+ build_platform: macosx64-shippable
+ treeherder:
+ platform: macosx64-shippable/opt
+
+ win32:
+ dependencies:
+ repackage-signing: repackage-signing-win32-shippable/opt
+ run:
+ using: mach
+ python-version: 3
+ extra-config:
+ upstream_kind: repackage-signing
+ upstream_artifact: target.installer.exe
+ binary: core/firefox.exe
+ worker-type: win10-64-2004-source
+ shipping-product: firefox
+ attributes:
+ build_platform: win32-shippable
+ treeherder:
+ platform: windows2012-32-shippable/opt
+
+ win64:
+ dependencies:
+ repackage-signing: repackage-signing-win64-shippable/opt
+ run:
+ using: mach
+ python-version: 3
+ extra-config:
+ upstream_kind: repackage-signing
+ upstream_artifact: target.installer.exe
+ binary: core/firefox.exe
+ worker-type: win10-64-2004-source
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-shippable
+ treeherder:
+ platform: windows2012-64-shippable/opt
diff --git a/taskcluster/ci/static-analysis-autotest/kind.yml b/taskcluster/ci/static-analysis-autotest/kind.yml
new file mode 100644
index 0000000000..136031a73c
--- /dev/null
+++ b/taskcluster/ci/static-analysis-autotest/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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-rust
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ 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
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/debug.py
+ extra-config:
+ mozconfig_variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-sccache
+ - win64-cbindgen
+ - win64-clang-tidy
+ - win64-nasm
+ - win64-node
+ - win64-dump_syms
+ - win64-winchecksec
+ - win64-vs2017
+ - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/system-symbols-reprocess/kind.yml b/taskcluster/ci/system-symbols-reprocess/kind.yml
new file mode 100644
index 0000000000..1cde38d58b
--- /dev/null
+++ b/taskcluster/ci/system-symbols-reprocess/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: gecko_taskgraph.loader.multi_dep:loader
+
+# multi_dep loader will need to group on "build_platform" attribute
+group-by: platform
+
+# we need that to apply grouping only on jobs that have "build_platform", so we
+# dont fail for the "fetch" kind that does is a dependency but does not have it
+only-for-attributes:
+ - build_platform
+
+transforms:
+ - gecko_taskgraph.transforms.reprocess_symbols:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+primary-dependency: system-symbols
+
+kind-dependencies:
+ - system-symbols
+ - system-symbols-upload
+ - fetch
+
+job-template:
+ description: Reprocess Symbols on Crash-Stats
+ attributes:
+ cron: true
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 7200
+ env:
+ # {level} gets replaced in the reprocess_symbols transform
+ CRASHSTATS_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-reprocess"
+ DUMP_SYMS: "/bin/false"
+ run:
+ using: run-task
+ command: {artifact-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <build/public/build/target.crashreporter-symbols.zip>"}
+ fetches:
+ fetch:
+ - symbol-scrapers
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-reprocess
diff --git a/taskcluster/ci/system-symbols-upload/kind.yml b/taskcluster/ci/system-symbols-upload/kind.yml
new file mode 100644
index 0000000000..66d7c65f24
--- /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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.upload_symbols:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - system-symbols
+
+job-template:
+ description: Upload Symbols
+ attributes:
+ cron: true
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1200
+ 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..eed2bd6964
--- /dev/null
+++ b/taskcluster/ci/system-symbols/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ cron: true
+ # This enables uploading symbols.
+ enable-full-crashsymbols: true
+ fetches:
+ toolchain:
+ - linux64-dump_syms
+ treeherder:
+ platform: symbols/opt
+ kind: other
+ tier: 2
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+
+jobs:
+ mac:
+ description: Extract macOS system symbols found in crashreports
+ attributes:
+ build_platform: macos
+ 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
+ fetches:
+ toolchain:
+ - linux64-libdmg
+ win:
+ description: Extract windows system symbols found in crashreports
+ attributes:
+ build_platform: windows
+ 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
+ archlinux:
+ description: Extract ArchLinux system symbols found in crashreports
+ attributes:
+ build_platform: archlinux
+ index:
+ product: system-symbols
+ job-name: archlinux
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh arch
+ treeherder:
+ symbol: sys-symbols-archlinux
+ fetches:
+ fetch:
+ - symbol-scrapers
+ debian:
+ description: Extract Debian system symbols found in crashreports
+ attributes:
+ build_platform: debian
+ index:
+ product: system-symbols
+ job-name: debian
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh debian
+ treeherder:
+ symbol: sys-symbols-debian
+ fetches:
+ fetch:
+ - symbol-scrapers
+ firefox-snap:
+ description: Extract Firefox Snap symbols found in crashreports
+ attributes:
+ build_platform: firefox-snap
+ index:
+ product: system-symbols
+ job-name: firefox-snap
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh firefox-snap
+ treeherder:
+ symbol: firefox-symbols-snap
+ fetches:
+ fetch:
+ - symbol-scrapers
+ gnome-sdk-snap:
+ description: Extract GNOME SDK Snap symbols found in crashreports
+ attributes:
+ build_platform: gnome-sdk-snap
+ index:
+ product: system-symbols
+ job-name: gnome-sdk-snap
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh gnome-sdk-snap
+ treeherder:
+ symbol: gnome-sdk-symbols-snap
+ fetches:
+ fetch:
+ - symbol-scrapers
+ fedora:
+ description: Extract Fedora system symbols found in crashreports
+ attributes:
+ build_platform: fedora
+ index:
+ product: system-symbols
+ job-name: fedora
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh fedora
+ treeherder:
+ symbol: sys-symbols-fedora
+ fetches:
+ fetch:
+ - symbol-scrapers
+ opensuse:
+ description: Extract OpenSUSE system symbols found in crashreports
+ attributes:
+ build_platform: opensuse
+ index:
+ product: system-symbols
+ job-name: opensuse
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh opensuse
+ treeherder:
+ symbol: sys-symbols-opensuse
+ fetches:
+ fetch:
+ - symbol-scrapers
+ ubuntu:
+ description: Extract Ubuntu system symbols found in crashreports
+ attributes:
+ build_platform: ubuntu
+ index:
+ product: system-symbols
+ job-name: ubuntu
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh ubuntu
+ treeherder:
+ symbol: sys-symbols-ubuntu
+ fetches:
+ fetch:
+ - symbol-scrapers
diff --git a/taskcluster/ci/test/awsy.yml b/taskcluster/ci/test/awsy.yml
new file mode 100644
index 0000000000..c9925dd458
--- /dev/null
+++ b/taskcluster/ci/test/awsy.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:
+ suite: awsy
+ max-run-time: 7200
+ instance-size: xlarge
+ virtualization:
+ by-test-platform:
+ windows10-64-2004(?:-shippable)?-qr/.*: 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
+ test-manifest-loader: null # don't load tests in the taskgraph
+
+
+awsy:
+ description: Are we slim yet - tp5 pageset
+ treeherder-symbol: SY(sy)
+ run-on-projects: []
+
+awsy-tp6:
+ description: Are we slim yet - tp6 pageset
+ treeherder-symbol: SY(sy-tp6)
+ run-on-projects:
+ by-test-platform:
+ .*-devedition/.*: [] # don't run on devedition
+ windows.*-32.*/opt: []
+ (linux|windows10-64-2004|mac)(?!.*shippable).*/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)
+ run-on-projects:
+ by-test-platform:
+ .*-devedition/.*: [] # don't run on devedition.
+ windows.*-32.*/opt: []
+ (linux|windows10-64-2004|mac)(?!.*shippable).*/opt: []
+ default: [integration, mozilla-central, mozilla-beta, mozilla-release]
+ tier: default
+ 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..2e6415fcde
--- /dev/null
+++ b/taskcluster/ci/test/browsertime-desktop.yml
@@ -0,0 +1,591 @@
+# 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
+ default: 1800
+ suite: raptor
+ run-on-projects:
+ by-test-platform:
+ linux.*shippable[^-qr].*: [mozilla-central]
+ default: []
+ limit-platforms:
+ by-app:
+ chrome:
+ - .*shippable.*
+ chromium:
+ - .*shippable.*
+ safari:
+ - .*macos.*shippable.*
+ default: []
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier: 3
+ virtualization: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.py
+ default:
+ - raptor/linux_config.py
+ extra-options:
+ - --conditioned-profile=settled
+
+browsertime-tp6:
+ <<: &tp6-defaults
+ description: Raptor (browsertime) tp6 page-load tests
+ limit-platforms:
+ by-app:
+ chrome:
+ - .*shippable.*
+ chromium:
+ - .*shippable.*
+ safari:
+ - .*macos.*shippable.*
+ default: []
+ max-run-time:
+ by-subtest:
+ imgur: 4800
+ default: 4000
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-64.*shippable.*-qr.*:
+ - --chimera
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled
+ - --extra-profiler-run
+ default:
+ - --chimera
+ - --conditioned-profile=settled
+ - --extra-profiler-run
+ run-on-projects:
+ by-subtest:
+ netflix: # Bug 1756212 - Disable temporarily due to perma on mac
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64).*shippable-qr.*: [trunk, mozilla-beta, mozilla-release]
+ macosx1015.*shippable-qr.*: []
+ default: []
+ default: []
+ default:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk, mozilla-beta, mozilla-release]
+ default: []
+ default: []
+ treeherder-symbol: Btime(tp6)
+ raptor:
+ apps: [firefox, chrome, chromium]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ - buzzfeed
+ - ebay
+ - espn
+ - expedia
+ - [facebook, fb]
+ - [google-docs, gdocs]
+ - [google-mail, gmail]
+ - [google-search, gsearch]
+ - imdb
+ - imgur
+ - linkedin
+ - microsoft
+ - netflix
+ - nytimes
+ - office
+ - outlook
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ - wikia
+ - youtube
+ tier:
+ by-app:
+ firefox: 2
+ default: 3
+
+browsertime-responsiveness:
+ <<: *tp6-defaults
+ raptor:
+ apps: [firefox, chrome, chromium]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ - cnn-nav
+ - [facebook-nav, fbnav]
+ - [reddit-billgates-ama, rdt-ama]
+ - [reddit-billgates-post-1, rdt-post-1]
+ - [reddit-billgates-post-2, rdt-post-2]
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-.*:
+ - --cold
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled
+ - --extra-profiler-run
+ default:
+ - --cold
+ - --conditioned-profile=settled
+ - --extra-profiler-run
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk]
+ default: []
+ default: []
+ tier:
+ by-app:
+ firefox: 2
+ default: 3
+
+browsertime-tp6-essential:
+ <<: *tp6-defaults
+ <<: &tp6-essential-defaults
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-64.*shippable.*-qr.*:
+ - --chimera
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled
+ - --collect-perfstats
+ - --extra-profiler-run
+ - --extra-summary-methods=mean
+ - --extra-summary-methods=geomean
+ default:
+ - --chimera
+ - --conditioned-profile=settled
+ - --extra-profiler-run
+ - --extra-summary-methods=mean
+ - --extra-summary-methods=geomean
+ raptor:
+ apps: [firefox, chrome, chromium]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ - amazon
+ - [bing-search, bing]
+ - cnn
+ - fandom
+ - [google-slides, gslides]
+ - instagram
+ - twitter
+ - wikipedia
+ - yahoo-mail
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ macosx1100.*shippable.*: [mozilla-central, mozilla-beta]
+ .*64.*shippable-qr/.*: [trunk, mozilla-beta, mozilla-release]
+ default: []
+ default: []
+ tier:
+ by-test-platform:
+ linux1804-64-clang-trunk-qr/opt: 2
+ default:
+ by-app:
+ firefox: 1
+ default: 3
+
+browsertime-tp6-bytecode:
+ <<: *tp6-defaults
+ <<: *tp6-essential-defaults
+ raptor:
+ apps: [firefox]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ - amazon
+ - [bing-search, bing]
+ - cnn
+ - fandom
+ - [google-slides, gslides]
+ - instagram
+ - twitter
+ - wikipedia
+ - yahoo-mail
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-64.*shippable.*-qr.*:
+ - --chimera
+ - --browsertime
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled
+ - --test-bytecode-cache
+ - --extra-profiler-run
+ default:
+ - --chimera
+ - --browsertime
+ - --conditioned-profile=settled
+ - --test-bytecode-cache
+ - --extra-profiler-run
+ tier:
+ by-app:
+ firefox: 2
+ default: 3
+ treeherder-symbol: Btime-cache(tp6)
+
+browsertime-benchmark:
+ description: Raptor (browsertime) Benchmark tests
+ raptor:
+ apps: [firefox, chrome, chromium, safari]
+ subtests:
+ by-app:
+ firefox:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ - [matrix-react-bench, mrb]
+ - [motionmark-animometer, mm-a]
+ - [motionmark-htmlsuite, mm-h]
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [stylebench, sb]
+ - [sunspider, ss]
+ - [twitch-animation, tw-a]
+ - [unity-webgl, ugl]
+ - [webaudio, wa]
+ safari:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ # - [matrix-react-bench, mrb] (Bug 1802922)
+ - [motionmark-animometer, mm-a]
+ - [motionmark-htmlsuite, mm-h]
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [stylebench, sb]
+ - [sunspider, ss]
+ - [unity-webgl, ugl]
+ # - [webaudio, wa] (Bug 1802922)
+ default:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ - [matrix-react-bench, mrb]
+ - [motionmark-animometer, mm-a]
+ - [motionmark-htmlsuite, mm-h]
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [stylebench, sb]
+ - [sunspider, ss]
+ - [unity-webgl, ugl]
+ - [webaudio, wa]
+ treeherder-symbol: Btime()
+ tier:
+ by-app:
+ firefox:
+ by-subtest:
+ motionmark-animometer:
+ by-test-platform:
+ linux1804-64-clang-trunk-qr/opt: 2
+ default: 1
+ unity-webgl: 3
+ default:
+ by-test-platform:
+ windows10-64-ccov.*/.*: 3
+ linux64-ccov.*/.*: 3
+ default: 2
+ default:
+ by-subtest:
+ unity-webgl: 3
+ default: 2
+ run-on-projects:
+ by-subtest:
+ speedometer3:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk, mozilla-release]
+ default: []
+ default: []
+ unity-webgl:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk, mozilla-release]
+ default: []
+ default: []
+ default:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk, mozilla-beta, mozilla-release]
+ default: []
+ default: []
+ max-run-time:
+ by-subtest:
+ ares6: 1500
+ assorted-dom:
+ by-test-platform:
+ .*-qr/.*: 2100
+ default: 1500
+ jetstream2: 8000
+ matrix-react-bench: 1500
+ motionmark-htmlsuite: 1500
+ unity-webgl: 1500
+ default: 900
+ mozharness:
+ extra-options:
+ - --extra-profiler-run
+
+browsertime-benchmark-wasm:
+ description: Raptor (browsertime) WASM benchmarks
+ raptor:
+ apps: [firefox, chrome, chromium] # Safari depends on Bug 1802922
+ subtests:
+ by-app:
+ firefox:
+ - [wasm-godot, godot]
+ - [wasm-godot-baseline, godot-b]
+ - [wasm-godot-optimizing, godot-i]
+ - [wasm-misc, wm]
+ - [wasm-misc-baseline, wm-b]
+ - [wasm-misc-optimizing, wm-i]
+ default:
+ - [wasm-misc, wm]
+ - [wasm-godot, godot]
+ treeherder-symbol: Btime()
+ tier: 2
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [mozilla-central, mozilla-release]
+ default: []
+ default: []
+ max-run-time:
+ by-subtest:
+ wasm-godot: 1500
+ wasm-godot-baseline: 1500
+ default: 900
+ mozharness:
+ extra-options:
+ - --extra-profiler-run
+
+browsertime-youtube-playback:
+ description: Browsertime YouTube Playback on Firefox
+ raptor:
+ apps: [firefox]
+ subtests:
+ by-app:
+ firefox:
+ - [youtube-playback-av1-sfr, ytp-av1-sfr]
+ - [youtube-playback-h264-sfr, ytp-h264-sfr]
+ - [youtube-playback-hfr, ytp-hfr]
+ - [youtube-playback-vp9-sfr, ytp-vp9-sfr]
+ - [youtube-playback-widevine-hfr, ytp-widevine-hfr]
+ - [youtube-playback-widevine-h264-sfr, ytp-widevine-h264-sfr]
+ - [youtube-playback-widevine-vp9-sfr, ytp-widevine-vp9-sfr]
+ treeherder-symbol: Btime()
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [mozilla-central, mozilla-release]
+ default: []
+ tier: 2
+ limit-platforms:
+ by-subtest:
+ youtube-playback-av1-sfr:
+ - macosx1015-64-shippable-qr/opt
+ default: []
+ max-run-time:
+ by-subtest:
+ youtube-playback-hfr: 3600
+ youtube-playback-widevine.*: 3600
+ default: 2700
+
+browsertime-tp6-live:
+ <<: *tp6-defaults
+ description: Raptor (browsertime) tp6 on live-sites
+ mozharness:
+ extra-options:
+ - --browser-cycles=15
+ - --chimera
+ - --live-sites
+ - --extra-profiler-run
+ raptor:
+ apps: [firefox, chrome, chromium, safari]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ by-app:
+ safari:
+ - amazon
+ - [bing-search, bing]
+ - ebay
+ - [facebook, fb]
+ # - fandom (Bug 1802922)
+ - [google-docs, gdocs]
+ # - [google-mail, gmail] (Bug 1802922)
+ - [google-search, gsearch]
+ - [google-slides, gslides]
+ - imdb
+ # - imgur (Bug 1802922)
+ # - instagram (see bug 1736999)
+ - linkedin
+ - microsoft
+ # - netflix (Bug 1802922)
+ # - office (site loads blank page if not signed in)
+ - outlook
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ - twitter
+ - wikipedia
+ # - yahoo-mail (Bug 1802922)
+ - youtube
+ default:
+ - amazon
+ - [bing-search, bing]
+ - ebay
+ - [facebook, fb]
+ - fandom
+ - [google-docs, gdocs]
+ - [google-mail, gmail]
+ - [google-search, gsearch]
+ - [google-slides, gslides]
+ - imdb
+ - imgur
+ # - instagram (see bug 1736999)
+ - linkedin
+ - microsoft
+ - netflix
+ # - office (site loads blank page if not signed in)
+ - outlook
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ - twitter
+ - wikipedia
+ - yahoo-mail
+ - youtube
+ run-on-projects: []
+ tier: 3
+ treeherder-symbol: Btime-live(tp6)
+
+browsertime-tp6-live-sheriffed:
+ <<: *tp6-defaults
+ raptor:
+ apps: [firefox]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ - cnn
+ description: Raptor (browsertime) tp6 on live-sites
+ mozharness:
+ extra-options:
+ - --browser-cycles=5
+ - --chimera
+ - --live-sites
+ - --extra-profiler-run
+ run-on-projects:
+ by-test-platform:
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows|macosx1015)(?!.*-qr).*: []
+ windows.*-32.*: []
+ default: []
+ tier: 2
+ treeherder-symbol: Btime-live(tp6)
+
+browsertime-tp6-profiling:
+ <<: *tp6-defaults
+ raptor:
+ apps: [firefox]
+ test: tp6
+ run-visual-metrics: true
+ subtests: [amazon]
+ description: Raptor (browsertime) tp6 page-load tests with Gecko Profiling
+ mozharness:
+ extra-options:
+ - --chimera
+ - --gecko-profile
+ run-on-projects:
+ by-test-platform:
+ (linux|windows|macosx1015).*shippable-qr.*: [mozilla-central]
+ default: []
+ tier: 2
+ treeherder-symbol: Btime-Prof(tp6)
+
+browsertime-custom:
+ raptor:
+ apps: [firefox]
+ run-visual-metrics: true
+ subtests: [[process-switch, ps]]
+ description: Raptor (browsertime) custom pageload tests
+ max-run-time: 2700
+ mozharness:
+ extra-options:
+ - --chimera
+ - --extra-profiler-run
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [mozilla-central]
+ default: []
+ tier: 2
+ treeherder-symbol: Btime(ps)
+
+browsertime-first-install:
+ raptor:
+ apps: [firefox]
+ run-visual-metrics: true
+ subtests: [welcome]
+ description: Raptor (browsertime) custom pageload tests
+ max-run-time: 2700
+ mozharness:
+ extra-options:
+ - --chimera
+ - --extra-profiler-run
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk]
+ default: []
+ tier: 2
+ treeherder-symbol: Btime(welcome)
+
+browsertime-grandprix:
+ raptor:
+ apps: [firefox, chrome, chromium, safari]
+ subtests: [grandprix]
+ description: Raptor (browsertime) grandprix benchmark test
+ max-run-time: 2700
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [autoland, mozilla-central]
+ default: []
+ default: []
+ tier: 3
+ treeherder-symbol: Btime(grandprix)
diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/ci/test/browsertime-mobile.yml
new file mode 100644
index 0000000000..9dea0cbdee
--- /dev/null
+++ b/taskcluster/ci/test/browsertime-mobile.yml
@@ -0,0 +1,371 @@
+# 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
+ variants:
+ - geckoview-no-fission
+ 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
+ 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
+ virtualization: hardware
+ raptor:
+ activity:
+ by-app:
+ fenix: org.mozilla.fenix.IntentReceiverActivity
+ geckoview: org.mozilla.geckoview_example.GeckoViewActivity
+ refbrow: org.mozilla.reference.browser.BrowserTestActivity
+ default: None
+ binary-path:
+ by-app:
+ fenix: org.mozilla.fenix
+ geckoview: org.mozilla.geckoview_example
+ refbrow: org.mozilla.reference.browser.raptor
+ default: None
+ mozharness:
+ script: raptor_script.py
+ config:
+ - raptor/android_hw_config.py
+ extra-options:
+ # Bug 1635749, disable window recorder temporarily
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled
+ optimization:
+ skip-unless-backstop: null
+ limit-platforms:
+ by-app:
+ chrome-m:
+ - .*shippable-qr.*
+ default: []
+
+browsertime-tp6m:
+ <<: &tp6m-defaults
+ description: Raptor (browsertime) tp6 page-load tests on android
+ mozharness:
+ extra-options:
+ - --chimera
+ tier:
+ by-app:
+ geckoview: 1
+ refbrow: 2
+ default: 3
+ treeherder-symbol: Btime(tp6m)
+ raptor:
+ apps: [geckoview, fenix, chrome-m, refbrow]
+ run-visual-metrics: true
+ test: tp6m
+ subtests:
+ - amazon
+ - bing
+ - [bing-search-restaurants, bing-s-r]
+ - booking
+ - cnn
+ - [cnn-ampstories, cnn-amp]
+ - dailymail
+ - [ebay-kleinanzeigen, ebay-k]
+ - [ebay-kleinanzeigen-search, ebay-k-s]
+ - [facebook-cristiano, fb-cris]
+ - [google-maps, gmaps]
+ - [google-search-restaurants, gsearch-r]
+ - instagram
+ - imdb
+ - reddit
+ - sina
+ - [stackoverflow, stacko]
+ - web-de
+ - wikipedia
+ - youtube
+ run-on-projects:
+ by-app:
+ geckoview:
+ by-variant:
+ geckoview-no-fission:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable-qr.*: [trunk]
+ default: []
+ default:
+ by-subtest:
+ wikipedia:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable-qr.*: [trunk]
+ default: []
+ google-search-restaurants:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable-qr.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable-qr.*: [mozilla-central]
+ default: []
+ default: []
+
+browsertime-tp6m-essential:
+ <<: *tp6m-defaults
+ raptor:
+ apps: [geckoview, fenix, chrome-m, refbrow]
+ run-visual-metrics: true
+ test: tp6m
+ subtests:
+ - allrecipes
+ - [amazon-search, amazon-s]
+ - espn
+ - facebook
+ - google
+ - [microsoft-support, micros-sup]
+ - [youtube-watch, youtube-w]
+ run-on-projects:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable.*: [trunk]
+ default: []
+ default: []
+ tier:
+ by-app:
+ geckoview: 1
+ refbrow: 2
+ default: 3
+
+browsertime-youtube-playback-mobile:
+ description: Browsertime YouTube Playback on Android
+ treeherder-symbol: Btime(ytp)
+ run-without-variant: false
+ raptor:
+ apps: [fenix, geckoview, refbrow]
+ subtests:
+ by-test-platform:
+ android-hw-(g5|a51).*:
+ - [youtube-playback-h264-sfr, ytp-h264-sfr]
+ - [youtube-playback-hfr, ytp-hfr]
+ # Bug 1699469 - Disabled until a crash is fixed.
+ # - [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]
+ # Bug 1699469 - Disabled until a crash is fixed.
+ # - [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]
+ 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|a51).*: # 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|a51).*: # 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: ""
+ run-on-projects:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable.*: [mozilla-central]
+ default: []
+ default: []
+ max-run-time: 3600
+
+browsertime-tp6m-live:
+ <<: *tp6m-defaults
+ run-without-variant: false
+ raptor:
+ apps: [chrome-m, fenix, geckoview]
+ run-visual-metrics: true
+ test: tp6m
+ subtests:
+ - allrecipes
+ - amazon
+ - [amazon-search, amazon-s]
+ - bing
+ - [bing-search-restaurants, bing-s-r]
+ - booking
+ - booking-sf
+ - cnn
+ - [cnn-ampstories, cnn-amp]
+ - dailymail
+ - 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]
+ - [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]
+ mozharness:
+ extra-options:
+ - --live-sites
+ - --chimera
+ run-on-projects:
+ by-subtest:
+ cnn-ampstories:
+ by-app:
+ geckoview:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable-qr.*: [autoland]
+ default: []
+ default: []
+ default: []
+ tier: 3
+ treeherder-symbol: Btime-live(tp6m)
+
+browsertime-tp6m-profiling:
+ description: Raptor (browsertime) tp6 page-load tests on android with Gecko profiling
+ run-without-variant: false
+ raptor:
+ apps: [geckoview]
+ test: tp6m
+ subtests: [amazon, youtube]
+ treeherder-symbol: Btime-Prof(tp6m)
+ mozharness:
+ script: raptor_script.py
+ config:
+ - raptor/android_hw_config.py
+ extra-options:
+ - --chimera
+ - --gecko-profile
+ run-on-projects:
+ by-test-platform:
+ android-hw-(a51).*aarch64-shippable-qr/opt: [mozilla-central]
+ default: []
+
+browsertime-speedometer-mobile:
+ description: Browsertime Speedometer on Android
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, fenix, chrome-m]
+ tier:
+ by-app:
+ fenix: 1
+ default: 3
+ run-on-projects:
+ by-app:
+ refbrow: []
+ geckoview:
+ by-test-platform:
+ android-hw-(g5|a51).*shippable-qr.*: [trunk]
+ default: []
+ default: []
+ treeherder-symbol: Btime(sp)
+ mozharness:
+ extra-options:
+ - --test=speedometer
+
+browsertime-speedometer3-mobile:
+ description: Browsertime Speedometer 3 on Android
+ raptor:
+ apps: [geckoview, fenix, chrome-m]
+ tier:
+ by-app:
+ fenix: 2
+ geckoview: 2
+ default: 3
+ run-on-projects:
+ by-app:
+ refbrow: []
+ geckoview:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: [trunk]
+ default: []
+ default: []
+ treeherder-symbol: Btime(sp3)
+ mozharness:
+ extra-options:
+ - --test=speedometer3
+
+browsertime-unity-webgl-mobile:
+ description: Browsertime Unity WebGL on Android
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, refbrow, fenix, chrome-m]
+ treeherder-symbol: Btime(ugl)
+ run-on-projects:
+ by-app:
+ refbrow: []
+ geckoview:
+ by-test-platform:
+ android-hw-a51-.*aarch64-shippable-qr.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ android-hw-a51-.*aarch64-shippable-qr.*: [mozilla-central]
+ default: []
+ max-run-time:
+ by-test-platform:
+ anrdroid-hw-a51.*: 1500
+ default: 900
+ mozharness:
+ extra-options:
+ - --test=unity-webgl
+
+browsertime-power:
+ description: Browsertime Power Usage Tests on Android
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, fenix, refbrow]
+ subtests:
+ - idle
+ - idle-bg
+ - [speedometer, sp]
+ tier: 2
+ 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..72657c128b
--- /dev/null
+++ b/taskcluster/ci/test/compiled.yml
@@ -0,0 +1,136 @@
+# 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
+ run-without-variant: false
+ variants:
+ - 1proc
+ virtualization: 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/android-x86_64.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
+ supports-artifact-builds: false
+
+cppunit:
+ description: "CPP Unit Tests"
+ suite: cppunittest
+ treeherder-symbol: cppunit
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-test_runner.apk
+ default: null
+ tier: default
+ run-on-projects:
+ by-variant:
+ 1proc: built-projects
+ default: []
+
+gtest:
+ description: "GTests run"
+ suite: gtest
+ treeherder-symbol: GTest
+ instance-size: xlarge
+ run-on-projects:
+ by-variant:
+ 1proc:
+ by-test-platform:
+ .*android.*: built-projects
+ .*-devedition.*/.*: [] # don't run on devedition
+ .*tsan.*: []
+ linux1804-32-qr/opt: [] # try only, shippable on m-c
+ linux1804-32-qr/debug: ['mozilla-central'] # try and m-c
+ linux1804-32-shippable-qr/opt: ['mozilla-central'] # try and m-c
+ default: built-projects
+ default: []
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-test_runner.apk
+ default: null
+ tier: default
+
+jittest:
+ description: "JIT Test run"
+ suite: jittest
+ treeherder-symbol: Jit
+ run-on-projects:
+ by-variant:
+ 1proc:
+ by-test-platform:
+ android-hw-.*-aarch64-qr/debug: ['mozilla-central', 'release']
+ android-hw-.*-arm7-qr/debug: ['mozilla-central', 'release']
+ default: built-projects
+ default: []
+ chunks:
+ by-test-platform:
+ windows.*: 1
+ windows10-64-2004-ccov-qr/opt: 8
+ macosx.*/opt: 1
+ macosx.*/debug: 3
+ android.*: 10
+ default: 6
+ max-run-time:
+ by-test-platform:
+ windows10-64-2004-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-test_runner.apk
+ default: null
+ tier:
+ by-test-platform:
+ android-hw.*: 2
+ default: default
+
+jittest-all:
+ description: "JIT Test run with all flags for android arm7 opt"
+ suite: jittest
+ treeherder-symbol: Jit
+ run-on-projects:
+ by-test-platform:
+ android-hw-.*-arm7(?:-shippable)?-qr/.*: ['mozilla-central', 'release']
+ default: []
+ chunks: 10
+ max-run-time: 3600
+ mozharness:
+ chunked: true
+ extra-options:
+ by-test-platform:
+ android.*:
+ - --jittest-flags=all
+ default: None
+ target:
+ by-test-platform:
+ android-.*: geckoview-test_runner.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..c45bb3d138
--- /dev/null
+++ b/taskcluster/ci/test/firefox-ui.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/.
+---
+job-defaults:
+ suite:
+ category: firefox-ui
+ max-run-time: 5400
+ test-manifest-loader: null # don't load tests in the taskgraph
+ run-on-projects: built-projects
+ mozharness:
+ script: firefox_ui_tests.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:
+ description: "Firefox-ui-tests functional run"
+ treeherder-symbol: Fxfn(en-US)
+ tier: 2
diff --git a/taskcluster/ci/test/kind.yml b/taskcluster/ci/test/kind.yml
new file mode 100644
index 0000000000..17730d8881
--- /dev/null
+++ b/taskcluster/ci/test/kind.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/.
+---
+loader: gecko_taskgraph.loader.test:loader
+
+kind-dependencies:
+ - build
+ - build-signing
+ - repackage-signing-shippable-l10n-msix
+ - repackage-signing-msix
+ - repackage
+ - fetch
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.test:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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/gecko_taskgraph/transforms/test/__init__.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
+ - 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
+ mozharness:
+ requires-signed-builds:
+ by-test-platform:
+ macosx1100.*: true
+ windows10-64-2004-shippable-qr/opt:
+ by-variant:
+ msix: true
+ default: false
+ windows10-64-2004-qr/opt:
+ by-variant:
+ msix: true
+ default: false
+ 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-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - 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..a8041b2fb6
--- /dev/null
+++ b/taskcluster/ci/test/marionette.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/.
+---
+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
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier:
+ by-variant:
+ headless: 2
+ default: default
+ variants:
+ - webrender-sw
+ - headless
+ run-on-projects:
+ by-variant:
+ headless:
+ by-test-platform:
+ (linux.*64)(-shippable)?-qr/opt: built-projects
+ default: []
+ webrender-sw:
+ by-test-platform:
+ .*/debug: built-projects
+ default: []
+ default:
+ by-test-platform:
+ .*tsan.*: []
+ default: built-projects
+ virtualization: virtual
+
+marionette:
+ description: "Marionette unittest run"
+ treeherder-symbol: Mn
+ max-run-time:
+ by-test-platform:
+ .*asan.*: 5400
+ .*ccov.*: 3600
+ .*debug.*: 3600
+ default: 2700
+ instance-size: default
+ chunks: 1
diff --git a/taskcluster/ci/test/misc.yml b/taskcluster/ci/test/misc.yml
new file mode 100644
index 0000000000..c6f6d6d04a
--- /dev/null
+++ b/taskcluster/ci/test/misc.yml
@@ -0,0 +1,273 @@
+# 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", "fission-no-isolate", "no-fission"]
+ treeherder-symbol: gv-junit
+ loopback-video: true
+ target: geckoview-androidTest.apk
+ max-run-time: 3600
+ run-on-projects:
+ by-variant:
+ geckoview-e10s-single: ['trunk']
+ geckoview-fission: ['trunk']
+ fission-no-isolate: ['trunk']
+ no-fission: built-projects
+ default: []
+ tier: default
+ mozharness:
+ script: android_emulator_unittest.py
+ config:
+ by-test-platform:
+ android-em-7.*:
+ - android/android_common.py
+ - android/android-x86_64.py
+ extra-options:
+ - --test-suite=geckoview-junit
+
+telemetry-tests-client:
+ description: "Telemetry tests client run"
+ suite: telemetry-tests-client
+ treeherder-symbol: tt(c)
+ run-on-projects: built-projects
+ 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
+ variants:
+ - no-fission
+ run-on-projects:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ # do not run on ccov or asan or shippable
+ .*(-ccov|-asan|-shippable).*: []
+ # we prefer -qr platforms with fis, no need to run on both
+ (?!.*(-ccov|-asan|-shippable))(?!.*-qr).*: []
+ # do not run on mozilla-central, beta or release: usually just confirms earlier results
+ android.*: ['integration']
+ default: []
+ default:
+ by-test-platform:
+ # do not run on ccov or asan or shippable
+ .*(-ccov|-asan|-shippable).*: []
+ # we prefer -qr platforms with fis, no need to run on both
+ (?!.*(-ccov|-asan|-shippable))(?!.*-qr).*: []
+ # do not run on mozilla-central, beta or release: usually just confirms earlier results
+ android.*: []
+ default: ['integration']
+ built-projects-only: true
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-test_runner.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/android-x86_64.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.*-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
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-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
+ linux.*: ['integration']
+ default: []
+ 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/android-x86_64.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/android-x86_64.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.*-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
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-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/android-x86_64.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..8dbc12960f
--- /dev/null
+++ b/taskcluster/ci/test/mochitest.yml
@@ -0,0 +1,1032 @@
+# 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-test_runner.apk
+ android-hw.*: geckoview-test_runner.apk
+ windows10-64-2004-shippable-qr/opt:
+ by-variant:
+ msix: target.installer.msix
+ default: null
+ windows10-64-2004-qr/opt:
+ by-variant:
+ msix: target.installer.msix
+ default: null
+ default: null
+ tier:
+ by-variant:
+ xorigin:
+ by-test-platform:
+ linux.*64.*-qr/debug: 1
+ default: 2
+ default:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+ 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/android-x86_64.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
+ virtualization: virtual
+ variants:
+ - aab+no-fission
+ - conditioned_profile
+ - xorigin
+ - no-fission
+ - socketprocess_networking
+ - wayland
+ - webrender-sw+no-fission
+ - webrender-sw
+ - headless
+ - headless+socketprocess_networking
+ run-on-projects:
+ by-variant:
+ conditioned_profile:
+ by-test-platform:
+ linux1804-64(-shippable)?-qr/opt: ['trunk']
+ windows10-64-2004(-shippable)?-qr/opt: ['trunk']
+ default: []
+ xorigin:
+ by-test-platform:
+ (linux.*64|macosx.*64|windows10.*2004)(-shippable)?-qr/(opt|debug|asan|tsan): ['trunk']
+ windows.*64-ccov-qr/opt: ['mozilla-central']
+ linux.*64-ccov-qr/opt: ['mozilla-central']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ (linux.*64|macosx.*64|windows10-64-2004)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ wayland:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux.*asan.*: ['trunk']
+ linux.*64(-shippable)?-qr/(opt|debug): ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ default: []
+ aab+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ default: []
+ headless:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/opt: ['mozilla-central']
+ default: []
+ headless+socketprocess_networking:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/opt: ['mozilla-central']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ chunks:
+ by-test-platform:
+ android-em-7.*: 4
+ linux.*/debug: 16
+ linux.*64-asan/opt: 10
+ linux.*64-tsan-qr/opt: 20
+ linux.*64-.*cov/opt: 10
+ windows10-64-2004-ccov.*/.*: 10
+ macosx.*64-ccov.*/.*: 10
+ default: 5
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan-qr/opt: xlarge # runs out of memory using 8GB
+ default: default
+ 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
+ run-without-variant: false
+ variants:
+ - 1proc
+ - socketprocess_networking+1proc
+ - wayland+1proc
+ - webrender-sw+1proc
+ - a11y-no-cache+1proc
+ run-on-projects:
+ by-variant:
+ socketprocess_networking+1proc:
+ by-test-platform:
+ linux.*64-qr/debug: ['autoland', 'mozilla-central']
+ default: []
+ wayland+1proc:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ webrender-sw+1proc:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux.*64-qr/debug: built-projects
+ default: []
+ a11y-no-cache+1proc: ['trunk']
+ 1proc: 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:
+ - webrender-sw
+ - webrender-sw+a11y-checks
+ - webrender-sw+wayland
+ - socketprocess_networking
+ - msix
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ linux.*64(-asan)?-qr/(opt|debug): ['all']
+ linux.*64-tsan-qr/opt: built-projects
+ linux.*64-shippable-qr/opt: ['release']
+ linux.*64(-shippable)?-qr/opt: built-projects
+ linux.*64-devedition-qr/opt: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ default: []
+ webrender-sw+a11y-checks:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/opt: ['trunk']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ (linux.*64|macosx.*64|windows10-64-2004)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ webrender-sw+wayland: []
+ msix:
+ by-test-platform:
+ windows10-64-2004-shippable-qr/opt: built-projects
+ windows10-64-2004-qr/opt: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ linux.*: [] # linux runs M-swr(bc), not M(bc)
+ default: built-projects
+ tier:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ linux.*64(-asan|-shippable)?-qr/(opt|debug): 1
+ default: default
+ default: default
+ chunks:
+ by-test-platform:
+ linux.*-qr/debug: 16
+ linux.*64-asan-qr/opt: 16
+ linux.*64-tsan-qr/opt: 32
+ macosx.*64/debug: 16
+ windows10-64-2004-ccov.*/.*: 14
+ windows10.*-asan-qr/opt: 12
+ windows10-32-qr/debug: 12
+ windows7-32.*: 20
+ default: 7
+ max-run-time:
+ by-variant:
+ msix: 5400
+ default:
+ by-test-platform:
+ linux.*64-ccov.*/.*: 9000
+ windows10-64-2004-ccov.*/.*: 10800
+ macosx.*64-ccov.*/.*: 10800
+ linux.*64-tsan-qr/opt: 10800
+ linux.*-qr/opt: 5400
+ .*/debug: 5400
+ default: 3600
+ mozharness:
+ mochitest-flavor: browser
+ chunked: true
+ # Bug 1281241: migrating to m3.large instances
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan-qr/opt: xlarge # runs out of memory using 8GB
+ default: default
+ allow-software-gl-layers: false
+
+mochitest-browser-a11y:
+ description: "Mochitest browser-a11y run"
+ suite:
+ name: mochitest-browser-a11y
+ treeherder-symbol: M(ba)
+ schedules-component: mochitest-browser-a11y
+ loopback-video: true
+ variants:
+ - a11y-no-cache
+ run-on-projects:
+ by-variant:
+ a11y-no-cache:
+ by-test-platform:
+ android.*: []
+ default: ["trunk"]
+ default:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ tier: default
+ max-run-time:
+ by-test-platform:
+ .*tsan.*: 2700
+ default: 1800
+ mozharness:
+ mochitest-flavor: browser
+ instance-size: default
+ allow-software-gl-layers: false
+ virtualization: virtual
+
+mochitest-browser-media:
+ description: "Mochitest browser media"
+ suite:
+ name: mochitest-browser-media
+ treeherder-symbol: M(mda-bc)
+ schedules-component: mochitest-browser-media
+ loopback-video: true
+ run-on-projects:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ tier: default
+ max-run-time:
+ by-test-platform:
+ .*tsan.*: 1800
+ default: 1200
+ mozharness:
+ mochitest-flavor: browser
+ instance-size: default
+ allow-software-gl-layers: false
+ virtualization: virtual
+
+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
+ variants: ["no-fission"]
+ run-on-projects:
+ by-test-platform:
+ linux1804-64.*/opt: ['trunk']
+ default: []
+ 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
+ run-without-variant: false
+ variants:
+ - 1proc
+ - socketprocess_networking+1proc
+ - wayland+1proc
+ - webrender-sw+1proc
+ run-on-projects:
+ by-variant:
+ socketprocess_networking+1proc:
+ by-test-platform:
+ (linux.*64|macosx.*64|windows10-64-2004)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ wayland+1proc:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ webrender-sw+1proc:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux.*64-qr/debug: built-projects
+ default: []
+ 1proc: built-projects
+ chunks:
+ by-test-platform:
+ .*tsan.*/opt: 6
+ default: 3
+ max-run-time: 3600
+ mozharness:
+ mochitest-flavor: chrome
+ chunked: true
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan-qr/opt: xlarge # runs out of memory otherwise using 8GB
+ 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:
+ - a11y-checks
+ - socketprocess_networking
+ - wayland
+ - webrender-sw
+ - devtools-no-eft+no-fission
+ run-on-projects:
+ by-variant:
+ a11y-checks:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/opt: ['trunk']
+ default: []
+ devtools-no-eft+no-fission:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/opt: ['trunk']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ (linux.*64|macosx.*64|windows10-64-2004)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64-ccov-qr/opt: []
+ linux.*64(-shippable)?-qr/(opt|debug): built-projects
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ linux.*64-ccov-qr/opt: []
+ default: built-projects
+ tier: default
+ max-run-time:
+ by-test-platform:
+ windows10-64-2004-ccov.*/.*: 10800
+ macosx.*64-ccov.*/.*: 9000
+ linux.*64-ccov.*/.*: 7200
+ linux.*64-tsan-qr/opt: 7200
+ default: 5400
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 12
+ linux.*64-qr/debug: 12
+ macosx.*64-qr/debug: 8
+ .*-asan(-qr)?/opt: 8
+ .*-tsan-qr/opt: 16
+ default: 5
+ mozharness:
+ mochitest-flavor: chrome
+ chunked: true
+ instance-size:
+ by-test-platform:
+ linux.*64-[at]san(-qr)?/opt: xlarge # runs out of memory otherwise using 8GB
+ 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
+ variants:
+ - no-fission
+ - wayland
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ wayland:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux.*asan.*: ['trunk']
+ linux.*64(-shippable)?-qr/(opt|debug): ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux.*64-ccov-qr/opt: []
+ linux1804-32.*: []
+ .*-tsan-qr/opt: []
+ linux.*: ['trunk'] # linux opt/debug/asan
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*/.*: []
+ default: built-projects
+ virtualization: virtual-with-gpu
+ tier:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+ 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-qr/opt: xlarge # runs out of memory otherwise using 8GB
+ default: default
+
+mochitest-chrome-gpu:
+ description: "Mochitest chrome GPU run"
+ suite:
+ name: mochitest-chrome-gpu
+ treeherder-symbol: M(gpu-c)
+ loopback-video: true
+ virtualization: virtual-with-gpu
+ run-without-variant: false
+ variants:
+ - 1proc
+ - socketprocess_networking+1proc
+ - wayland+1proc
+ - webrender-sw+1proc
+ run-on-projects:
+ by-variant:
+ socketprocess_networking+1proc: []
+ wayland+1proc:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ webrender-sw+1proc:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux.*64-qr/debug: built-projects
+ default: []
+ 1proc:
+ by-test-platform:
+ android.*/.*: []
+ default: built-projects
+ tier: default
+ 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-qr/opt: xlarge # runs out of memory using 8GB of memory
+ default: default
+
+mochitest-media:
+ description: "Mochitest media run"
+ treeherder-symbol: M(mda)
+ schedules-component: mochitest-plain
+ max-run-time:
+ by-test-platform:
+ windows10-64-2004-ccov.*/.*: 7200
+ macosx.*64-ccov.*/.*: 7200
+ linux.*64-tsan-qr/opt: 7200
+ default: 5400
+ variants:
+ - no-fission
+ - socketprocess+no-fission
+ - socketprocess
+ - wayland
+ - webgl-ipc
+ - webrender-sw+no-fission
+ - webrender-sw
+ - wmf-media-engine
+ - msix
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ android.*: []
+ linux.*64(-shippable|-asan|-tsan)?-qr/opt: ['autoland', 'mozilla-central']
+ macosx.*64(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ windows10-(32|64)-2004(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ windows10-64-2004-asan-qr/opt: ['autoland', 'mozilla-central']
+ default: []
+ socketprocess+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: ['autoland', 'mozilla-central']
+ android-hw-.*-aarch64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ socketprocess:
+ by-test-platform:
+ android.*: []
+ linux.*64(-asan|-devedition|-shippable)?-qr/(opt|debug): built-projects
+ linux.*64-tsan-qr/opt: ['autoland', 'mozilla-central']
+ macosx.*-64(-devedition|-shippable)?-qr/(opt|debug): built-projects
+ windows10-(32|64)-2004(-devedition|-shippable)?-qr/(opt|debug): built-projects
+ windows10-64-2004-asan-qr/opt: ['autoland', 'mozilla-central']
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64-qr/debug: ['autoland', 'mozilla-central']
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: ['autoland', 'mozilla-central']
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ android.*: []
+ linux1804-64-qr/debug: ['autoland', 'mozilla-central']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-hw-.*/opt: []
+ android-hw-.*-arm7.*/(?:debug)?: ['trunk', 'mozilla-beta', 'mozilla-release']
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ wmf-media-engine:
+ by-test-platform:
+ windows10-64-2004.*: ['autoland', 'mozilla-central']
+ default: []
+ msix:
+ by-test-platform:
+ windows10-64-2004-shippable-qr/opt: built-projects
+ windows10-64-2004-qr/opt: ['autoland']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ linux.*(asan|ccov)/opt: []
+ .*(ccov/|asan/|-32).*: built-projects
+ (android|linux|windows10-64-2004|macos)(?!.*-qr).*: []
+ default: built-projects
+ loopback-video: true
+ chunks:
+ by-variant:
+ wmf-media-engine: 1
+ default:
+ by-test-platform:
+ (android|macos).*/opt: 1
+ ^(?!.*asan).*windows10.*/opt: 1
+ linux.*/debug: 3
+ linux.*64-tsan-qr/opt: 5
+ default: 2
+ mozharness:
+ mochitest-flavor: plain
+ chunked:
+ by-test-platform:
+ android.*: false
+ macosx.*64.*: false
+ windows10-64-2004.*: false
+ default: true
+ extra-options:
+ - --setpref=webgl.out-of-process=false
+ - --setpref=security.sandbox.content.headless=false
+ tier:
+ by-test-platform:
+ .*ccov.*: 2
+ android-em.*: 1
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ android-hw.*: 1
+ default: default
+
+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
+ run-without-variant: false
+ variants: ["1proc"]
+ 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
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ max-run-time:
+ by-test-platform:
+ macosx.*64-ccov.*/.*: 7200
+ default: 1800
+ variants:
+ - no-fission
+ - wayland
+ - webgl-ipc
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*-ccov.*: []
+ .*-tsan.*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*64-qr/debug: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ android-hw.*aarch.*-shippable-qr/opt: ['mozilla-central']
+ android-hw.*aarch.*-qr/debug: ['mozilla-central']
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*-tsan.*: []
+ 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
+ - --setpref=security.sandbox.content.headless=false
+
+mochitest-webgl1-ext:
+ description: "Mochitest webgl1-ext run"
+ treeherder-symbol: M(gl1e)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ chunks:
+ by-test-platform:
+ android.*: 2
+ default: 1
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ max-run-time: 2700
+ variants:
+ - no-fission
+ - webgl-ipc
+ - wayland
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*-ccov.*: []
+ .*-tsan.*: []
+ linux.*-64.*: built-projects
+ mac.*: ["trunk"]
+ windows10-64-2004.*: built-projects
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/(opt|debug): built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*64-qr/debug: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ android-hw.*aarch.*-shippable-qr/opt: ['mozilla-central']
+ android-hw.*aarch.*-qr/debug: ['mozilla-central']
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*-tsan.*: []
+ 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
+ - --setpref=security.sandbox.content.headless=false
+
+mochitest-webgl2-core:
+ description: "Mochitest webgl2-core run"
+ treeherder-symbol: M(gl2c)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ chunks:
+ by-test-platform:
+ android.*: 2
+ default: 1
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ max-run-time: 1800
+ variants:
+ - no-fission
+ - webgl-ipc
+ - wayland
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*-ccov.*/.*: []
+ .*-tsan.*: []
+ android.*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64(-shippable|-asan)?-qr/(opt|debug): built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*64-qr/debug: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-hw-.*(?<!-shippable)(-qr)?/opt: ['mozilla-central', 'mozilla-beta', 'mozilla-release']
+ android-hw.*aarch.*-shippable-qr/opt: ['mozilla-central']
+ android-hw.*aarch.*-qr/debug: ['mozilla-central']
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*-tsan.*: []
+ 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:
+ - no-fission
+ - webgl-ipc
+ - webrender-sw+no-fission
+ - webrender-sw
+ - wayland
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*ccov.*/.*: []
+ .*-tsan.*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64(-shippable|-asan)?-qr/(opt|debug): built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*64-qr/debug: ["trunk"]
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*-tsan.*: []
+ default: built-projects
+ chunks: 4
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ 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
+ - --setpref=security.sandbox.content.headless=false
+
+mochitest-webgl2-deqp:
+ description: "Mochitest webgl2-deqp run"
+ treeherder-symbol: M(gl2d)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ variants:
+ - wayland
+ - webgl-ipc
+ - webrender-sw
+ run-on-projects: [] # Don't run this for now.
+ chunks: 4
+ loopback-video: true
+ 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
+ - --setpref=security.sandbox.content.headless=false
+
+mochitest-webgpu:
+ description: "Mochitest webgpu run"
+ treeherder-symbol: M(webgpu)
+ schedules-component: mochitest-plain
+ virtualization: virtual-with-gpu
+ loopback-video: true
+ variants:
+ - no-fission
+ - wayland
+ - webrender-sw+no-fission
+ run-on-projects:
+ by-variant:
+ wayland: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: ["trunk"]
+ default: []
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*mingw.*: ["release"]
+ .*shippable.*: ["mozilla-central"]
+ .*ccov.*: ['mozilla-central']
+ .*tsan.*: ['trunk']
+ linux1804-64-qr/debug: ['trunk']
+ .*(!-shippable)-qr.*: ["trunk"]
+ 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
+ variants:
+ - no-fission
+ - socketprocess_networking
+ - wayland
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ socketprocess_networking:
+ by-test-platform:
+ (linux.*64|macosx.*64|windows10-64-2004)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*64-qr/debug: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: ['all']
+ default: []
+ wayland:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ tier: default
+ max-run-time: 5400
+ mozharness:
+ mochitest-flavor: browser
+ extra-options:
+ - --setpref=remote.log.level=Trace
+ virtualization:
+ by-test-platform:
+ windows10-64.*: virtual
+ default: virtual
diff --git a/taskcluster/ci/test/raptor-chrome.yml b/taskcluster/ci/test/raptor-chrome.yml
new file mode 100644
index 0000000000..892e079159
--- /dev/null
+++ b/taskcluster/ci/test/raptor-chrome.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/.
+---
+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: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.py
+ default:
+ - raptor/linux_config.py
+ extra-options:
+ - --webext
diff --git a/taskcluster/ci/test/raptor.yml b/taskcluster/ci/test/raptor.yml
new file mode 100644
index 0000000000..93614acd50
--- /dev/null
+++ b/taskcluster/ci/test/raptor.yml
@@ -0,0 +1,90 @@
+# 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:
+ .*-ref-hw-2017-qr/.*: 3600
+ .*-qr/.*: 2400
+ 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: []
+ limit-platforms:
+ by-app:
+ chrome:
+ - .*shippable(?!-qr).*
+ chromium:
+ - .*shippable(?!-qr).*
+ default: []
+ tier: 2
+ virtualization: hardware
+ mozharness:
+ script: raptor_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - raptor/mac_config.py
+ windows.*:
+ - raptor/windows_config.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
+ - --webext
+ fetches:
+ fetch:
+ by-app:
+ chromium:
+ by-test-platform:
+ win.*64.*:
+ - win64-chromium
+ win.*32.*:
+ - win32-chromium
+ macosx.*:
+ - mac-chromium
+ default:
+ - linux64-chromium
+ default: []
+
+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.*64|macos)(?!.*shippable).*: []
+ (linux|windows.*64|macos)(?!.*-qr).*: []
+ default: [mozilla-central]
+ max-run-time: 2700
+ tier: 2
+ 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.*64|macos)(?!.*shippable).*: []
+ (linux|windows.*64|macos)(?!.*-qr).*: []
+ default: [mozilla-central]
+ max-run-time: 2700
+ tier: 2
+ mozharness:
+ extra-options:
+ - --test=raptor-youtube-playback-h264
+ - --power-test
diff --git a/taskcluster/ci/test/reftest.yml b/taskcluster/ci/test/reftest.yml
new file mode 100644
index 0000000000..213d2ea42d
--- /dev/null
+++ b/taskcluster/ci/test/reftest.yml
@@ -0,0 +1,259 @@
+# 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-test_runner.apk
+ android-hw-.*: geckoview-test_runner.apk
+ default: null
+ tier: default
+ 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/android-x86_64.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
+ linux.*64-tsan-qr/opt: 32
+ default: 1
+ variants:
+ - no-fission
+ - wayland
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ wayland:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ linux1804-64(-tsan|-asan)-qr/opt: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ macosx101.*64-qr/debug: built-projects
+ linux.*-64-qr/debug: built-projects
+ linux.*-64(-tsan|-asan)-qr/opt: built-projects
+ windows10-64-2004-asan-qr/opt: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ max-run-time: 3600
+ tier:
+ by-test-platform:
+ android-hw-.*-qr/.*: 2
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+
+crashtest-qr:
+ description: "Crashtest Webrender run"
+ schedules-component: crashtest
+ treeherder-symbol: R(C)
+ chunks: 1
+ variants:
+ - no-fission
+ run-on-projects:
+ by-variant:
+ no-fission: built-projects
+ default: []
+ max-run-time: 1200
+ tier: 2
+ virtualization: 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-2004-asan-qr/opt: 3
+ windows10-64-2004-ccov-qr/opt: 5
+ linux.*64-ccov.*/.*: 5
+ linux1804-64-qr/opt: 4
+ linux1804-64-qr/debug: 5
+ linux1804-64/debug: 5
+ .*-tsan-qr/opt: 8
+ macosx.*-64-ccov.*/.*: 5
+ macosx.*-64(-shippable)?/opt: 2
+ default: 3
+ max-run-time:
+ by-test-platform:
+ .*ccov.*: 7200
+ default: 3600
+ variants:
+ - no-fission
+ run-on-projects:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android-hw-.*-aarch64(?:-shippable)?-qr/.*: ['mozilla-central', 'release']
+ android-hw-.*-arm7(?:-shippable)?-qr/.*: ['mozilla-central', 'release']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*/.*: []
+ default: built-projects
+ virtualization: virtual
+
+reftest:
+ description: "Reftest run"
+ treeherder-symbol: R(R)
+ virtualization: virtual-with-gpu
+ chunks:
+ by-test-platform:
+ android-em-7.*: 6
+ linux1804-64(-shippable|-devedition|-qr)?/opt: 5
+ linux.*64-tsan-qr/opt: 32
+ macosx101.*-64-shippable(-qr)?/opt: 3
+ macosx101.*-64/debug: 4
+ macosx101.*-64(-ccov.*|-qr)/debug: 6
+ windows.*/opt: 2
+ windows10-64-2004.*/debug: 4
+ windows10-32.*/debug: 6
+ windows10-64-2004-asan-qr/opt: 3
+ windows10-64-2004-ccov-qr/opt: 9
+ default: 8
+ variants:
+ - no-fission
+ - wayland
+ - webrender-dcomp-disabled
+ - webrender-dcomp-present
+ - webrender-dcomp-overlays
+ - webrender-dcomp-compositing # Should match default
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ wayland:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ linux1804-64(-asan|-tsan)-qr/opt: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ linux1804-64(-asan|-tsan)-qr/opt: built-projects
+ macosx101.*64-qr/debug: built-projects
+ windows10-64-2004(-asan)?-qr/opt: built-projects
+ windows7-32(?:-shippable)?-qr/opt: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*/.*: []
+ linux.*asan/opt: []
+ default: built-projects
+ max-run-time:
+ by-test-platform:
+ windows10-32-mingwclang-qr/debug: 5400
+ windows10-64-2004-ccov.*/.*: 5400
+ windows10-64-2004-asan-qr/opt: 5400
+ macosx.*64-ccov.*/.*: 5400
+ default: 3600
+ mozharness:
+ chunked:
+ by-test-platform:
+ android-em.*: false
+ macosx.*64/opt: false
+ windows10-64-2004.*/opt: false
+ default: true
+ tier:
+ by-test-platform:
+ android-hw-.*-qr/.*: 2
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+
+reftest-qr:
+ description: "Reftest webrender run"
+ treeherder-symbol: R(R)
+ chunks: 2
+ variants:
+ - no-fission
+ - webrender-sw+no-fission
+ run-without-variant: false
+ run-on-projects:
+ by-variant:
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-hw-p5-13-0-android-aarch64-qr/debug: built-projects
+ default: []
+ no-fission: built-projects
+ max-run-time: 2400
+ mozharness:
+ chunked: true
+ tier: 2
+ virtualization: virtual
+
+reftest-snapshot:
+ description: "Reftest snapshot"
+ treeherder-symbol: R(Rs)
+ virtualization: virtual
+ run-on-projects:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ default: []
+ tier: default
+ chunks: 8
+ mozharness:
+ chunked: true
diff --git a/taskcluster/ci/test/talos.yml b/taskcluster/ci/test/talos.yml
new file mode 100644
index 0000000000..9987bc5b56
--- /dev/null
+++ b/taskcluster/ci/test/talos.yml
@@ -0,0 +1,812 @@
+# 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:
+ macosx1100.*: 2
+ default: default
+ virtualization: hardware
+ mozharness:
+ script: talos_script.py
+ config:
+ by-test-platform:
+ macosx.*:
+ - talos/mac_config.py
+ windows.*:
+ - talos/windows_config.py
+ default:
+ - talos/linux_config.py
+ test-manifest-loader: null # don't load tests in the taskgraph
+
+talos-bcv:
+ description: Talos basic compositor video
+ try-name: bcv
+ treeherder-symbol: T(bcv)
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|macosx1015|windows10)-64-shippable-qr/opt: [mozilla-beta, trunk]
+ (windows10-64|macosx1015-64).*-qr.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-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: []
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=bcv
+ - --gecko-profile
+
+talos-chrome:
+ description: Talos chrome
+ try-name: chromez
+ treeherder-symbol: T(c)
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=chromez
+ - --gecko-profile
+
+talos-damp-inspector:
+ description: Talos devtools inspector (damp-inspector)
+ try-name: damp-inspector
+ treeherder-symbol: T(damp-inspector)
+ max-run-time: 5400
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32-shippable.*/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ mozharness:
+ extra-options:
+ - --suite=damp-inspector
+
+talos-damp-webconsole:
+ description: Talos devtools webconsole (damp-webconsole)
+ try-name: damp-webconsole
+ treeherder-symbol: T(damp-webconsole)
+ max-run-time: 5400
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32-shippable.*/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ mozharness:
+ extra-options:
+ - --suite=damp-webconsole
+
+talos-damp-other:
+ description: Talos devtools other (damp-other)
+ try-name: damp-other
+ treeherder-symbol: T(damp-other)
+ max-run-time: 5400
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32-shippable.*/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ mozharness:
+ extra-options:
+ - --suite=damp-other
+
+talos-damp-inspector-profiling:
+ description: Talos devtools inspector (damp-inspector) with gecko profiling
+ try-name: damp-inspector-prof
+ treeherder-symbol: T-Prof(damp-inspector)
+ tier: 2
+ max-run-time: 5400
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=damp-inspector
+ - --gecko-profile
+
+talos-damp-webconsole-profiling:
+ description: Talos devtools webconsole (damp-webconsole) with gecko profiling
+ try-name: damp-webconsole-prof
+ treeherder-symbol: T-Prof(damp-webconsole)
+ tier: 2
+ max-run-time: 5400
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=damp-webconsole
+ - --gecko-profile
+
+talos-damp-other-profiling:
+ description: Talos devtools other (damp-other) with gecko profiling
+ try-name: damp-other-prof
+ treeherder-symbol: T-Prof(damp-other)
+ tier: 2
+ max-run-time: 5400
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=damp-other
+ - --gecko-profile
+
+talos-dromaeojs:
+ description: Talos dromaeojs
+ try-name: dromaeojs
+ treeherder-symbol: T(d)
+ max-run-time: 2100
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=dromaeojs
+ - --gecko-profile
+
+talos-flex:
+ description: Talos XUL flexbox emulation enabled
+ try-name: flex
+ treeherder-symbol: T(f)
+ tier: 2
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ 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:
+ windows.*-32.*: []
+ (linux|windows10-64|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:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 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
+ run-on-projects: []
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 3600
+ default: 7200
+ mozharness:
+ extra-options:
+ - --suite=g1
+ - --gecko-profile
+
+talos-g3:
+ description: Talos g3
+ try-name: g3
+ treeherder-symbol: T(g3)
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=g3
+ - --gecko-profile
+
+talos-g4:
+ description: Talos g4
+ try-name: g4
+ treeherder-symbol: T(g4)
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64-shippable-qr/opt: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 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:
+ linux1804-64.*: 1500
+ default: 1800
+ run-on-projects: []
+ 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:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 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
+ run-on-projects: []
+ mozharness:
+ extra-options:
+ - --suite=g5
+ - --gecko-profile
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 1200
+ default: 1800
+
+talos-h1:
+ description: Talos h1
+ try-name: h1
+ treeherder-symbol: T(h1)
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ mozharness:
+ extra-options:
+ - --suite=h1
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 900
+ default: 1800
+
+talos-h2:
+ description: Talos h2
+ try-name: h2
+ treeherder-symbol: T(h2)
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ max-run-time:
+ by-test-platform:
+ linux1804-64.*: 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|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [mozilla-central]
+ max-run-time: 3600
+ tier: 2
+ mozharness:
+ extra-options:
+ - --suite=motionmark
+
+talos-motionmark-profiling:
+ description: Talos motionmark with gecko profiling
+ try-name: motionmark-prof
+ treeherder-symbol: T-Prof(mm)
+ run-on-projects: []
+ max-run-time: 3600
+ tier: 2
+ mozharness:
+ extra-options:
+ - --suite=motionmark
+ - --gecko-profile
+
+talos-other:
+ description: Talos other
+ try-name: other
+ treeherder-symbol: T(o)
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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)
+ run-on-projects: []
+ 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:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-central, autoland]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-central, autoland]
+ 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
+ run-on-projects: []
+ 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:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ 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)
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ 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:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ max-run-time: 1800
+ mozharness:
+ extra-options:
+ - --suite=svgr
+ - --gecko-profile
+
+talos-tp5o:
+ description: Talos tp5o
+ try-name: tp5o
+ treeherder-symbol: T(tp)
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ 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:
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx.*)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ max-run-time: 1800
+ 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
+ run-on-projects: []
+ max-run-time: 1200
+ mozharness:
+ extra-options:
+ - --suite=tabswitch
+ - --gecko-profile
+
+talos-webgl:
+ description: Talos WebGL
+ try-name: webgl
+ treeherder-symbol: T(webgl)
+ variants:
+ - webrender-sw
+ - webgl-ipc
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64.*: [trunk]
+ default: []
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64-shippable-qr.*: [mozilla-beta, trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ max-run-time: 2100
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-64-ref-hw.*:
+ - --suite=webgl
+ - --skip-preflight
+ default:
+ - --suite=webgl
+
+talos-webgl-profiling:
+ description: Talos WebGL with gecko profiling
+ try-name: webgl
+ treeherder-symbol: T-Prof(webgl)
+ tier: 2
+ variants:
+ - webgl-ipc
+ run-on-projects: []
+ 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:
+ windows.*32.*: false
+ windows10-64.*: true
+ windows11-64.*: true
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-test-platform:
+ windows.*-32-shippable(?:-qr)?/.*: []
+ windows10-64.*-shippable-qr/.*: [mozilla-beta, trunk]
+ windows11-64.*-shippable-qr/.*: [mozilla-beta, trunk]
+ 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)
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [mozilla-beta, trunk]
+ 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
+ run-on-projects: []
+ 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..c460449ad3
--- /dev/null
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -0,0 +1,419 @@
+# 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-qr/debug:
+ build-platform: linux/debug
+ test-sets:
+ - linux32-gtest
+
+linux1804-32-qr/opt:
+ build-platform: linux/opt
+ test-sets:
+ - linux32-tests
+ - linux32-gtest
+
+linux1804-32-shippable-qr/opt:
+ build-platform: linux-shippable/opt
+ test-sets:
+ - linux32-tests
+ - linux32-gtest
+
+linux1804-64-qr/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - linux-talos-flex
+ - talos
+ - browsertime
+
+linux1804-64-shippable-qr/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - linux-talos-flex
+ - talos
+ - talos-profiling
+ - browsertime
+ - browsertime-profiling
+
+linux1804-64-qr/debug:
+ build-platform: linux64/debug
+ test-sets:
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-asan-qr/opt:
+ build-platform: linux64-asan/opt
+ test-sets:
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-tsan-qr/opt:
+ build-platform: linux64-tsan/opt
+ test-sets:
+ - linux1804-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-ccov-qr/opt:
+ build-platform: linux64-ccov/opt
+ test-sets:
+ - ccov-code-coverage-tests
+ - linux1804-tests
+ - linux1804-ccov-tests
+ - mochitest-webgpu
+ - web-platform-tests
+
+linux1804-64-devedition-qr/opt:
+ build-platform: linux64-devedition/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - linux1804-tests
+ - web-platform-tests
+
+linux1804-64-clang-trunk-qr/opt:
+ build-platform: linux64-plain-clang-trunk/opt
+ test-sets:
+ - awsy
+ - browsertime
+
+##
+# Windows platforms (matching /windows.*/)
+
+# win32
+windows7-32-qr/opt:
+ build-platform: win32/opt
+ build-signing-label: build-signing-win32/opt
+ test-sets:
+ - windows-7-tests
+
+windows7-32-shippable-qr/opt:
+ build-platform: win32-shippable/opt
+ build-signing-label: build-signing-win32-shippable/opt
+ test-sets:
+ - windows-7-tests
+
+windows10-32-shippable-qr/opt:
+ build-platform: win32-shippable/opt
+ build-signing-label: build-signing-win32-shippable/opt
+ test-sets:
+ - browsertime
+ - windows-talos
+
+windows10-32-qr/opt:
+ build-platform: win32/opt
+ test-sets:
+ - browsertime
+ - windows-talos
+
+windows10-32-2004-shippable-qr/opt:
+ build-platform: win32-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - windows32-2004-tests
+
+
+windows10-32-2004-qr/opt:
+ build-platform: win32/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - windows32-2004-tests
+
+windows10-32-2004-qr/debug:
+ build-platform: win32/debug
+ build-signing-label: build-signing-win32/debug
+ test-sets:
+ - web-platform-tests
+ - windows-7-tests
+ - windows32-2004-tests
+
+windows10-32-2004-mingwclang-qr/debug:
+ build-platform: win32-mingwclang/debug
+ test-sets:
+ - mingwclang-win32-tests-debug
+
+windows10-32-2004-mingwclang-qr/opt:
+ build-platform: win32-mingwclang/opt
+ test-sets:
+ - mingwclang-tests-opt
+
+# win64
+windows10-64-qr/opt:
+ build-platform: win64/opt
+ test-sets:
+ - windows-talos
+ - browsertime
+
+windows10-64-ref-hw-2017-qr/opt:
+ build-platform: win64-shippable/opt
+ test-sets:
+ - talos-ref-hw
+
+windows10-64-shippable-qr/opt:
+ build-platform: win64-shippable/opt
+ test-sets:
+ - windows-talos
+ - browsertime
+
+# win10-64 2004
+windows10-64-2004-ccov-qr/opt:
+ build-platform: win64-ccov/opt
+ build-signing-label: build-signing-win64-ccov/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - ccov-code-coverage-tests
+ - windows10-64-2004-ccov-tests
+ - windows10-2004-tests
+
+windows10-64-2004-qr/debug:
+ build-platform: win64/debug
+ build-signing-label: build-signing-win64/debug
+ test-sets:
+ - web-platform-tests
+ - windows10-2004-tests
+
+windows10-64-2004-qr/opt:
+ build-platform: win64/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/opt
+ default: build-signing-win64/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - windows10-2004-tests
+ - talos-xperf
+
+windows10-64-2004-shippable-qr/opt:
+ build-platform: win64-shippable/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-shippable-l10n-msix-win64-shippable/opt
+ default: build-signing-win64-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - windows10-2004-tests
+ - talos-xperf
+
+windows10-64-2004-devedition-qr/opt:
+ build-platform: win64-devedition/opt
+ build-signing-label: build-signing-win64-devedition/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - windows10-2004-tests
+
+windows10-64-2004-asan-qr/opt:
+ build-platform: win64-asan/opt
+ test-sets:
+ - windows10-2004-tests
+
+windows10-64-2004-mingwclang-qr/debug:
+ build-platform: win64-mingwclang/debug
+ test-sets:
+ - mingwclang-tests-debug
+
+windows10-64-2004-mingwclang-qr/opt:
+ build-platform: win64-mingwclang/opt
+ test-sets:
+ - mingwclang-tests-opt
+
+##
+# MacOS X platforms (matching /macosx.*/)
+
+macosx1100-64-qr/debug:
+ build-platform: macosx64/debug
+ build-signing-label: repackage-macosx64/debug
+ test-sets:
+ - macosx1100-64-jittests
+
+macosx1100-64-shippable-qr/opt:
+ build-platform: macosx64-shippable/opt
+ build-signing-label: repackage-macosx64-shippable/opt
+ test-sets:
+ - macosx1100-64-jittests
+ - macosx1100-64-qr-tests
+ # - macosx64-talos
+ # - browsertime-high-priority
+ # - raptor-firefox
+
+macosx1015-64-shippable-qr/opt:
+ build-platform: macosx64-shippable/opt
+ test-sets:
+ - awsy
+ - browsertime
+ - browsertime-profiling
+ - desktop-screenshot-capture
+ - macosx1015-64-qr-tests
+ - macosx64-talos
+ - raptor-firefox-power
+ - talos-profiling
+ - web-platform-tests
+ - web-platform-tests-backlog
+
+macosx1015-64-devedition-qr/opt:
+ build-platform: macosx64-devedition/opt
+ test-sets:
+ - macosx1015-64-qr-tests
+ - web-platform-tests
+
+macosx1015-64-qr/opt:
+ build-platform: macosx64/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - macosx1015-64-qr-tests
+ - web-platform-tests
+ - web-platform-tests-backlog
+
+macosx1015-64-qr/debug:
+ build-platform: macosx64/debug
+ test-sets:
+ - macosx1015-64-qr-tests
+ - web-platform-tests
+
+macosx1015-64-ccov-qr/opt:
+ build-platform: macosx64-ccov/opt
+ test-sets:
+ - macosx1015-64-qr-tests
+
+##
+# Android platforms (matching /android-em.*/)
+#
+# android-em test platforms execute on android emulators.
+
+android-em-7.0-x86_64-qr/opt:
+ build-platform: android-x86_64/opt
+ test-sets:
+ - android-x86_64-tests
+ - web-platform-tests-backlog
+
+android-em-7.0-x86_64-lite-qr/opt:
+ build-platform: android-x86_64-lite/opt
+ test-sets:
+ - android-x86_64-tests
+ - web-platform-tests-backlog
+
+android-em-7.0-x86_64-shippable-qr/opt:
+ build-platform: android-x86_64-shippable/opt
+ test-sets:
+ - android-x86_64-tests
+ - web-platform-tests-backlog
+
+android-em-7.0-x86_64-shippable-lite-qr/opt:
+ build-platform: android-x86_64-shippable-lite/opt
+ test-sets:
+ - android-x86_64-tests
+ - web-platform-tests-backlog
+
+android-em-7.0-x86_64-qr/debug:
+ build-platform: android-x86_64/debug
+ test-sets:
+ - android-x86_64-tests
+
+android-em-7.0-x86_64-qr/debug-isolated-process:
+ build-platform: android-x86_64/debug-isolated-process
+ test-sets:
+ - android-x86_64-tests
+
+# android-hw test platforms execute on real devices attached to Autophone hosts.
+
+# android-hw-a51-11-0 Samsung Galaxy A51 Android 11.0
+
+android-hw-a51-11-0-aarch64-qr/opt:
+ build-platform: android-aarch64/opt
+ test-sets:
+ - android-hw-browsertime
+# - android-hw-browsertime-power
+
+android-hw-a51-11-0-aarch64-shippable-qr/opt:
+ build-platform: android-aarch64-shippable/opt
+ test-sets:
+ - android-hw-browsertime
+# - android-hw-browsertime-power
+
+# android-hw-p2-8-0 Google Pixel 2 Android 8.0
+
+android-hw-p2-8-0-arm7-qr/opt:
+ build-platform: android-arm/opt
+ test-sets:
+ - android-hw-browsertime
+
+android-hw-p2-8-0-arm7-shippable-qr/opt:
+ build-platform: android-arm-shippable/opt
+ test-sets:
+ - android-hw-browsertime
+
+# android-hw-p5-13-0 Google Pixel 5 Android 13.0
+
+android-hw-p5-13-0-arm7-qr/opt:
+ build-platform: android-arm/opt
+ test-sets:
+ - android-hw-arm7-pgo-unittests
+
+android-hw-p5-13-0-arm7-shippable-qr/opt:
+ build-platform: android-arm-shippable/opt
+ test-sets:
+ - android-hw-arm7-pgo-unittests
+
+android-hw-p5-13-0-arm7-qr/debug:
+ build-platform: android-arm/debug
+ test-sets:
+ - android-hw-arm7-debug-unittests
+
+android-hw-p5-13-0-android-aarch64-qr/debug:
+ build-platform: android-aarch64/debug
+ test-sets:
+ - android-hw-aarch64
+ - android-hw-aarch64-debug-unittests
+
+android-hw-p5-13-0-android-aarch64-qr/opt:
+ build-platform: android-aarch64/opt
+ test-sets:
+ - android-hw-aarch64
+ - android-hw-aarch64-opt-unittests
+
+android-hw-p5-13-0-android-aarch64-shippable-qr/opt:
+ build-platform: android-aarch64-shippable/opt
+ test-sets:
+ - android-hw-aarch64
+ - android-hw-aarch64-pgo-unittests
diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/ci/test/test-sets.yml
new file mode 100644
index 0000000000..d59d00391f
--- /dev/null
+++ b/taskcluster/ci/test/test-sets.yml
@@ -0,0 +1,431 @@
+# 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
+
+mochitest-devtools-chrome:
+ - mochitest-devtools-chrome
+
+mochitest-webgpu:
+ - mochitest-webgpu
+
+talos:
+ - talos-bcv
+ - talos-chrome
+ - talos-damp-inspector
+ - talos-damp-webconsole
+ - talos-damp-other
+ - 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-webgl
+
+browsertime:
+ - browsertime-tp6
+ - browsertime-tp6-essential
+ - browsertime-tp6-bytecode
+ - browsertime-tp6-live
+ - browsertime-tp6-live-sheriffed
+ - browsertime-benchmark
+ - browsertime-benchmark-wasm
+ - browsertime-youtube-playback
+ - browsertime-custom
+ - browsertime-first-install
+ - browsertime-grandprix
+ - browsertime-responsiveness
+
+browsertime-profiling:
+ - browsertime-tp6-profiling
+
+browsertime-high-priority:
+ - browsertime-benchmark
+ - browsertime-tp6
+
+# 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-valgrind:
+ - mochitest-valgrind
+
+desktop-screenshot-capture:
+ - browser-screenshots
+
+### Specific platform test sets
+
+# Linux
+linux32-gtest:
+ - gtest
+
+linux32-tests:
+ - web-platform-tests
+
+linux1804-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional
+ - gtest
+ # - jittest # See comment in linux1804-ccov-tests set.
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-media
+ - 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-snapshot
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - 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-talos-flex:
+ - talos-flex
+
+# Windows
+
+windows-7-tests:
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-media
+ - mochitest-webgpu
+ - xpcshell
+
+windows32-2004-tests:
+ - cppunit
+ - crashtest
+ - gtest
+ - firefox-ui-functional
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-remote
+ - reftest
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+
+windows10-2004-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional
+ - gtest
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-media
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-devtools-chrome
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-remote
+ - mochitest-webgpu
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - reftest
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - xpcshell
+
+windows10-64-2004-ccov-tests:
+ - jittest
+ - test-coverage
+ - web-platform-tests
+ - web-platform-tests-crashtest
+ - web-platform-tests-print-reftest
+ - web-platform-tests-reftest
+ - web-platform-tests-wdspec
+
+mingwclang-tests-debug:
+ - cppunit
+ - firefox-ui-functional
+ - 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-win32-tests-debug:
+ - cppunit
+ - firefox-ui-functional
+ - 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-talos:
+ - talos-bcv
+ - talos-chrome
+ - talos-damp-inspector
+ - talos-damp-webconsole
+ - talos-damp-other
+ - 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-tabswitch
+ - talos-realworld-webextensions
+ - talos-webgl
+ # - talos-h1 Bug 1487031 - Disabled for not finding actionable regressions
+
+talos-xperf:
+ - talos-xperf
+
+# macOS
+macosx1100-64-jittests:
+ - jittest
+
+macosx1100-64-qr-tests:
+ - crashtest
+ - jsreftest
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-media
+ - mochitest-chrome-gpu
+ - mochitest-media
+ - mochitest-webgpu
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+ - mochitest-webgl2-ext
+ - reftest
+ - xpcshell
+
+macosx1015-64-qr-tests:
+ - cppunit
+ - crashtest
+ - firefox-ui-functional
+ - gtest
+ - jittest
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-media
+ - 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
+ - mochitest-webgpu
+ - reftest
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - xpcshell
+
+macosx64-talos:
+ - talos-bcv
+ - talos-chrome
+ - talos-damp-inspector
+ - talos-damp-webconsole
+ - talos-damp-other
+ - 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
+ - web-platform-tests-wdspec
+ - xpcshell
+
+android-hw-aarch64-opt-unittests:
+ - jittest
+
+android-hw-arm7-pgo-unittests:
+ - jittest-all
+
+android-hw-aarch64-pgo-unittests:
+ - jittest
+
+android-hw-arm7-debug-unittests:
+ - jittest
+
+android-hw-aarch64-debug-unittests:
+ - jittest
+
+android-hw-aarch64:
+ - crashtest-qr
+ - reftest-qr
+ - mochitest-media
+ - mochitest-webgl1-core
+ - mochitest-webgl1-ext
+ - mochitest-webgl2-core
+
+android-hw-browsertime:
+ - browsertime-tp6m
+ - browsertime-tp6m-essential
+ - browsertime-tp6m-live
+ - browsertime-speedometer-mobile
+ - browsertime-speedometer3-mobile
+ - browsertime-youtube-playback-mobile
+ - browsertime-unity-webgl-mobile
+
+android-hw-browsertime-profiling:
+ - browsertime-tp6m-profiling
diff --git a/taskcluster/ci/test/variants.yml b/taskcluster/ci/test/variants.yml
new file mode 100644
index 0000000000..0844619dcb
--- /dev/null
+++ b/taskcluster/ci/test/variants.yml
@@ -0,0 +1,316 @@
+---
+1proc:
+ description: "{description} with e10s disabled"
+ component: "Testing::General"
+ expiration: "never"
+ suffix: "1proc"
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-e10s"
+ - "--disable-fission"
+
+headless:
+ description: "{description} without a window"
+ component: "Firefox::Headless"
+ expiration: "never"
+ suffix: "headless"
+ replace:
+ tier: 2
+ merge:
+ mozharness:
+ extra-options:
+ - "--headless"
+
+a11y-checks:
+ description: "{description} with accessibility checks enabled"
+ component: "Core::Disability Access APIs"
+ expiration: "2023-03-01"
+ suffix: "a11y-checks"
+ replace:
+ tier: 2
+ merge:
+ mozharness:
+ extra-options:
+ - "--enable-a11y-checks"
+
+aab:
+ description: "{description} with aab test_runner"
+ component: "GeckoView::General"
+ expiration: "2023-03-01"
+ when: &gv_e10s_filter
+ $eval: '"android" in task["test-platform"]'
+ suffix: "aab"
+ # Need to add jdk but there isn't a good way to do that
+ # so we just replace the toolchain list
+ merge:
+ fetches:
+ toolchain:
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - android-emulator-linux
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ - linux64-jdk
+ replace:
+ target: "geckoview-test_runner.aab"
+
+geckoview-e10s-single:
+ description: "{description} with single-process e10s"
+ component: "Core::DOM: Content Processes"
+ expiration: "2023-03-01"
+ when:
+ <<: *gv_e10s_filter
+ suffix: "e10s-single"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=dom.ipc.processCount=1"
+ - "--disable-fission"
+
+geckoview-no-fission:
+ description: "{description} without fission enabled"
+ component: "Core::DOM: Content Processes"
+ expiration: "2023-03-01"
+ when:
+ <<: *gv_e10s_filter
+ suffix: "nofis"
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-fission"
+
+geckoview-fission:
+ description: "{description} with fission enabled"
+ component: "Core::DOM: Content Processes"
+ expiration: "2023-03-01"
+ when:
+ <<: *gv_e10s_filter
+ suffix: "fis"
+
+fission:
+ description: "{description} with fission enabled"
+ component: "Testing::General"
+ expiration: "2023-03-01"
+ suffix: "fis"
+
+fission-no-isolate:
+ description: "{description} with fission and webContentIsolationStrategy=0"
+ component: "Core::DOM: Content Processes"
+ expiration: "2023-03-01"
+ suffix: "fis-0"
+ merge:
+ mozharness:
+ extra-options:
+ - "--web-content-isolation-strategy=0"
+
+no-fission:
+ description: "{description} without fission enabled"
+ component: "Testing::General"
+ expiration: "2023-03-01"
+ suffix: "nofis"
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-fission"
+
+xorigin:
+ description: "{description} with cross-origin"
+ component: "Core::DOM: Content Processes"
+ expiration: "2023-03-01"
+ suffix: "xorig"
+ replace:
+ e10s: true
+ merge:
+ mozharness:
+ extra-options:
+ - "--enable-xorigin-tests"
+ - "--setpref=privacy.partition.always_partition_third_party_non_cookie_storage=false"
+
+conditioned_profile:
+ description: "{description} with conditioned profile"
+ component: "Testing::General"
+ expiration: "2023-03-01"
+ suffix: "condprof"
+ merge:
+ mozharness:
+ extra-options:
+ - "--conditioned-profile"
+ replace:
+ chunks: 8
+
+socketprocess:
+ description: "{description} with socket process enabled"
+ component: "Core::Networking"
+ expiration: "2023-03-01"
+ suffix: "spi"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=media.peerconnection.mtransport_process=true"
+ - "--setpref=network.process.enabled=true"
+
+socketprocess_networking:
+ description: "{description} with networking on socket process enabled"
+ component: "Core::Networking"
+ expiration: "2023-03-01"
+ suffix: "spi-nw"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=network.process.enabled=true"
+ - "--setpref=network.http.network_access_on_socket_process.enabled=true"
+
+wayland:
+ description: "{description} with Wayland backend enabled"
+ component: "Core::Widget: Gtk"
+ expiration: "2023-03-01"
+ when:
+ $eval: '"linux" in task["test-platform"]'
+ suffix: "wayland"
+ replace:
+ run-on-projects: []
+ tier: 3
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=widget.wayland.test-workarounds.enabled=true"
+
+# -
+# Webrender DComp variants for Win10
+
+webrender-dcomp-disabled:
+ description: "{description} with dcomp disabled"
+ component: "Core::Graphics: WebRender"
+ expiration: "2023-03-01"
+ suffix: "wr-dc0"
+ when:
+ $eval: '"windows10" in task["test-platform"]'
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=gfx.webrender.dcomp-win.enabled=false"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win=false"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=false"
+ - "--setpref=gfx.webrender.compositor=false"
+ - "--setpref=gfx.webrender.compositor.force-enabled=false"
+
+webrender-dcomp-present: # Default variant ends up like this.
+ description: "{description} with dcomp present but not overlays"
+ component: "Core::Graphics: WebRender"
+ expiration: "2023-03-01"
+ suffix: "wr-dc1-p"
+ when:
+ $eval: '"windows10" in task["test-platform"]'
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=gfx.webrender.dcomp-win.enabled=true"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win=false"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=false"
+ - "--setpref=gfx.webrender.compositor=false"
+ - "--setpref=gfx.webrender.compositor.force-enabled=false"
+
+webrender-dcomp-overlays:
+ description: "{description} with dcomp overlays but not compositing"
+ component: "Core::Graphics: WebRender"
+ expiration: "2023-03-01"
+ suffix: "wr-dc2-o"
+ when:
+ $eval: '"windows10" in task["test-platform"]'
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=gfx.webrender.dcomp-win.enabled=true"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win=true"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=true"
+ - "--setpref=gfx.webrender.compositor=false"
+ - "--setpref=gfx.webrender.compositor.force-enabled=false"
+
+webrender-dcomp-compositing:
+ description: "{description} with dcomp compositing"
+ component: "Core::Graphics: WebRender"
+ expiration: "2023-03-01"
+ suffix: "wr-dc3-c"
+ when:
+ $eval: '"windows10" in task["test-platform"]'
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=gfx.webrender.dcomp-win.enabled=true"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win=true"
+ - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=true"
+ - "--setpref=gfx.webrender.compositor=true"
+ - "--setpref=gfx.webrender.compositor.force-enabled=true"
+
+# -
+
+webrender-sw:
+ description: "{description} with software webrender enabled"
+ component: "Core::Graphics: WebRender"
+ expiration: "2023-03-01"
+ suffix: "swr"
+ merge:
+ webrender: true
+ mozharness:
+ extra-options:
+ - "--setpref=gfx.webrender.software=true"
+
+webgl-ipc:
+ description: "{description} with WebGL IPC process enabled"
+ component: "Core::Canvas: WebGL"
+ expiration: "2023-03-01"
+ suffix: "gli"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=webgl.out-of-process=true"
+ - "--setpref=security.sandbox.content.headless=true"
+
+devtools-no-eft:
+ description: "{description} with DevTools EFT disabled"
+ component: "DevTools::Framework"
+ expiration: "2023-03-01"
+ suffix: "dt-no-eft"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=devtools.every-frame-target.enabled=false"
+
+wmf-media-engine:
+ description: "{description} with Windows Media Foundation media engine enabled"
+ component: "Core::Audio/Video:Playback"
+ expiration: "2023-04-10"
+ when:
+ $eval: '"windows10" in task["test-platform"]'
+ suffix: "wmfme"
+ replace:
+ tier: 2
+ merge:
+ mozharness:
+ extra-options:
+ - "--tag=media-engine-compatible"
+ - "--setpref=media.wmf.media-engine.enabled=true"
+ - "--setpref=media.wmf.media-engine.channel-decoder.enabled=true"
+
+a11y-no-cache:
+ description: "{description} with accessibility cache disabled"
+ component: "Core::Disability Access APIs"
+ expiration: "2023-05-01"
+ suffix: "a11y-no-cache"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=accessibility.cache.enabled=false"
+
+msix:
+ description: "{description} from msix packages"
+ component: "Firefox:Installer"
+ expiration: "never"
+ suffix: "msix"
+ when:
+ $eval: '"windows10-64" in task["test-platform"] && "opt" in task["test-platform"] && !("asan" in task["test-platform"]) && !("ccov" in task["test-platform"])'
+ merge:
+ mozharness:
+ extra-options:
+ - "--installer-path installer.msix"
diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/ci/test/web-platform.yml
new file mode 100644
index 0000000000..3e6d05f8d6
--- /dev/null
+++ b/taskcluster/ci/test/web-platform.yml
@@ -0,0 +1,436 @@
+# 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
+ 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/android-x86_64.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(-lite)?-qr/opt: geckoview-test_runner.apk
+ android-em-7.0-x86_64(-lite)?-qr/opt: geckoview-test_runner.apk
+ android-em-7.0-x86_64(-lite)?-qr/debug(-isolated-process)?: geckoview-test_runner.apk
+ default: null
+
+web-platform-tests:
+ description: "Web platform test run"
+ suite: web-platform-tests
+ treeherder-symbol: W(wpt)
+ virtualization: virtual
+ tier:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+ chunks:
+ by-test-platform:
+ android.*/debug: 32
+ android.*: 24
+ linux.*64-tsan-qr/opt: 32
+ linux.*64-asan(-qr)?/opt: 22
+ linux.*64-ccov.*/opt: 20
+ linux.*/debug: 16
+ macosx.*/debug: 18
+ windows.*32.*/opt: 12
+ windows.*/debug: 14
+ windows10-64-2004-ccov.*/opt: 14
+ default: 10
+ max-run-time:
+ by-test-platform:
+ .*-ccov.*/.*: 10800
+ linux.*64(-tsan|-asan)-qr/opt: 14400
+ linux.*64(-qr)?/debug: 10800
+ macosx.*/debug: 10800
+ android-em.*/.*: 10800
+ default: 7200
+ variants:
+ - no-fission
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10)-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ android-em-7.0-x86_64-qr/debug: []
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ (linux1804|windows10)-32.*/.*: []
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux.*64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ 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)
+ variants:
+ - no-fission
+ chunks:
+ by-test-platform:
+ android.*: 3
+ default: 1
+ max-run-time:
+ by-test-platform:
+ android.*/opt: 7200
+ default: 3600
+ run-on-projects:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ android.*: ['mozilla-central']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: ['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-2004.*-qr/.*: virtual-with-gpu
+ default: virtual
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 8
+ linux.*64-tsan-qr/opt: 16
+ linux1804-64(-asan)?-qr/.*: 6
+ macosx10.*-64/debug: 6
+ macosx10.*-64/opt: 3
+ windows.*-(32|64)(-qr)?/debug: 5
+ android.*: 6
+ default: 4
+ variants:
+ - no-fission
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10)-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ tier:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ 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:
+ - no-fission
+ run-on-projects:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ android.*: ['mozilla-central']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: ['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
+ .*-tsan.*/.*: 8
+ default: 3
+ mozharness:
+ extra-options:
+ - --test-type=wdspec
+ variants:
+ - no-fission
+ - webrender-sw+no-fission
+ - webrender-sw
+ - headless
+ run-on-projects:
+ by-variant:
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: []
+ (linux1804|windows10)-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ default: []
+ headless:
+ by-test-platform:
+ android.*: []
+ .*-tsan.*: []
+ default: built-projects
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: built-projects
+ tier: default
+ fetches:
+ toolchain:
+ by-test-platform:
+ android-em-7.*:
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - android-emulator-linux
+ - linux64-geckodriver
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ 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
+ variants:
+ - no-fission
+ - webrender-sw
+ - webrender-sw+no-fission
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ (linux1804|windows10)-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ macosx101.*64-qr/debug: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ android-em-7.0-x86_64-qr/debug: built-projects
+ default: built-projects
+ tier: 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: default
+ variants:
+ - no-fission
+ - webrender-sw
+ - webrender-sw+no-fission
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ android.*: []
+ (linux1804|windows10)-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows10-64-2004-qr/debug: built-projects
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['trunk']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['trunk']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ default: 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
+ 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
+ variants:
+ - no-fission
+ - webrender-sw+no-fission
+ run-on-projects:
+ by-variant:
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: built-projects
+ default: []
+ default:
+ 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..c28d276327
--- /dev/null
+++ b/taskcluster/ci/test/xpcshell.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/.
+---
+job-defaults:
+ suite:
+ category: xpcshell
+ name:
+ by-variant:
+ msix: xpcshell-msix
+ default: xpcshell
+ target:
+ by-test-platform:
+ android-em-7.*: geckoview-test_runner.apk
+ windows10-64-2004-shippable-qr/opt:
+ by-variant:
+ msix: target.installer.msix
+ default: null
+ windows10-64-2004-qr/opt:
+ by-variant:
+ msix: target.installer.msix
+ default: null
+ default: null
+ 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/android-x86_64.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:
+ macosx1100.*: true
+ windows10-64-2004-asan-qr/opt: false # No XPCShell on ASAN yet
+ windows10-32-mingwclang-qr/opt: false
+ windows10-32-mingwclang-qr/debug: false
+ windows10-64-2004-mingwclang-qr/opt: false
+ windows10-64-2004-mingwclang-qr/debug: false
+ windows.*: true
+ default: false
+
+xpcshell:
+ description: "xpcshell test run"
+ treeherder-symbol: X(X)
+ variants:
+ - conditioned_profile
+ - socketprocess_networking+no-fission
+ - socketprocess_networking
+ - no-fission
+ - msix
+ run-on-projects:
+ by-variant:
+ conditioned_profile:
+ by-test-platform:
+ (linux1804-64|windows10-64-2004)(-shippable)?-qr/opt: ['trunk']
+ default: []
+ socketprocess_networking+no-fission:
+ by-test-platform:
+ linux1804-64.*: ['trunk']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ (linux1804-64|macosx).*: ['trunk'] # All Linux & Mac variants
+ ^(?!.*asan).*windows.*: ['trunk'] # All Windows except ASAN
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64.*: ['trunk']
+ default: []
+ msix:
+ by-test-platform:
+ windows10-64-2004-shippable-qr/opt: built-projects
+ windows10-64-2004-qr/opt: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ windows10-64-2004-asan-qr/opt: [] # No XPCShell on ASAN yet
+ default: built-projects
+ chunks:
+ by-test-platform:
+ .*-asan-qr/opt: 4
+ .*-ccov.*/.*: 6
+ .*-tsan-qr/opt: 8
+ (android-em-7.*|macosx.*|linux1804-64.*/opt): 2
+ default: 4
+ max-run-time:
+ by-variant:
+ msix: 7200
+ default:
+ by-test-platform:
+ .*64-ccov(-qr)?/.*: 7200
+ .*64-2004-ccov(-qr)?/.*: 7200 # Windows 10 x64 2004 CCov specific, the line above does not catch this case.
+ .*-tsan-qr/opt: 7200
+ default: 5400
+ allow-software-gl-layers: false
+ tier:
+ by-test-platform:
+ windows10-64-2004-asan.*: 3
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10.*:
+ - --threads=2
+ default: []
+ fetches:
+ toolchain:
+ by-test-platform:
+ # xpcshell-tests are limited to *-node-12 as node 14+ dropped
+ # support for Windows 7. Once support for Windows 7 is dropped
+ # (bug 1594270) we should be able to revert these to the latest
+ # node version (*-node).
+ linux.*:
+ - linux64-node-12
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-node-12
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*-64.*:
+ - win64-node-12
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*32.*:
+ - win32-node-12
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ android-em-7.*:
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - android-emulator-linux
+ - linux64-node-12
+ - linux64-minidump-stackwalk
+
+xpcshell-failures:
+ description: "xpcshell specific failures test run"
+ treeherder-symbol: X-f(X)
+ run-on-projects: ["mozilla-central"]
+ chunks: 2
+ max-run-time: 2700
+ allow-software-gl-layers: false
+ tier: 3
+ mozharness:
+ script:
+ by-test-platform:
+ macos.*: mac_unittest.py
+ windows10.*: desktop_unittest.py
+ config:
+ by-test-platform:
+ macos.*:
+ - unittests/mac_unittest.py
+ windows10.*:
+ - unittests/win_unittest.py
+ extra-options:
+ by-test-platform:
+ macosx1100.*:
+ - --run-failures=apple_silicon
+ - --timeout-as-pass
+ - --crash-as-pass
+ windows10-32-2004.*:
+ - --run-failures=win10_2004
+ - --timeout-as-pass
+ - --crash-as-pass
+ fetches:
+ toolchain:
+ by-test-platform:
+ # xpcshell-tests are limited to *-node-12 as node 14+ dropped
+ # support for Windows 7. Once support for Windows 7 is dropped
+ # (bug 1594270) we should be able to revert these to the latest
+ # node version (*-node).
+ macosx.*:
+ - macosx64-node-12
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*32.*:
+ - win32-node-12
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml
new file mode 100644
index 0000000000..1feb0deddf
--- /dev/null
+++ b/taskcluster/ci/toolchain/android.yml
@@ -0,0 +1,230 @@
+# 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-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 1800
+
+# In automation, we generate the AVD using the linux64-android-avd jobs. On
+# developers' machines, bootstrap will download the artifact from the avd job
+# instead of generating it.
+#
+# The Android AVD needs the corresponding system image generated in the
+# linux64-android-system-image TL job. System images are not redistributable,
+# so locally bootstrap will use sdkmanager to download the corresponding system
+# images.
+linux64-android-avd-x86_64-repack:
+ attributes:
+ local-toolchain: true
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd-x86_64-linux)
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android-avd-x86_64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-avd-arm-repack:
+ attributes:
+ local-toolchain: true
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd-arm-linux)
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/arm.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android-avd-arm-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-avd-arm64-repack:
+ attributes:
+ local-toolchain: true
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd-arm64-linux)
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/arm64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android-avd-arm64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-system-image-x86_64-repack:
+ description: "Android System Images (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(x86_64-avd-img-linux)
+ worker:
+ artifacts:
+ - name: project/gecko/android-system-images
+ path: /builds/worker/project/gecko/android-system-images/
+ type: directory
+ run:
+ script: repack-android-system-images-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
+ toolchain-alias: android-system-image-x86_64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-jdk-repack:
+ description: "Java JDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(jdk)
+ worker:
+ artifacts:
+ - name: project/gecko/jdk
+ path: /builds/worker/project/gecko/jdk/
+ type: directory
+ run:
+ script: repack-jdk-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/jdk/jdk-linux.tar.zst
+ toolchain-alias: linux64-jdk
+ toolchain-env:
+ JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.5+8"
+
+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
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+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
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+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-arm-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
+ # Nexus needs Java 8
+ - jdk-8-linux64
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-android-sdk-linux-repack
+ - linux64-jdk-repack
+ - linux64-node
+
+linux64-android-gradle-dependencies-lite:
+ description: "Android Lite Gradle dependencies toolchain task"
+ treeherder:
+ symbol: TL(gradle-dependencies-lite)
+ worker:
+ env:
+ GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
+ run:
+ script: android-gradle-dependencies-lite.sh
+ sparse-profile: null
+ resources:
+ - 'taskcluster/scripts/misc/android-gradle-dependencies/**'
+ - '*.gradle'
+ - 'mobile/android/**/*.gradle'
+ - 'mobile/android/config/mozconfigs/android-arm-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-lite
+ fetches:
+ fetch:
+ - sonatype-nexus
+ # Nexus needs Java 8
+ - jdk-8-linux64
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-android-sdk-linux-repack
+ - linux64-jdk-repack
+ - linux64-node
diff --git a/taskcluster/ci/toolchain/cargo-vet.yml b/taskcluster/ci/toolchain/cargo-vet.yml
new file mode 100644
index 0000000000..6fbb2b6ac0
--- /dev/null
+++ b/taskcluster/ci/toolchain/cargo-vet.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:
+ description: "cargo-vet toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/cargo-vet.tar.zst
+ fetches:
+ fetch:
+ - cargo-vet
+
+linux64-cargo-vet:
+ treeherder:
+ symbol: TL(cargo-vet)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu', 'reqwest/native-tls-vendored']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-cargo-vet:
+ treeherder:
+ symbol: TM(cargo-vet)
+ run:
+ arguments: ['x86_64-apple-darwin']
+ toolchain-alias: macosx64-aarch64-cargo-vet
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk
+
+macosx64-aarch64-cargo-vet:
+ treeherder:
+ symbol: TM(cargo-vet-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk
+
+win64-cargo-vet:
+ treeherder:
+ symbol: TW64(cargo-vet)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/ci/toolchain/cbindgen.yml
new file mode 100644
index 0000000000..e2de4a934a
--- /dev/null
+++ b/taskcluster/ci/toolchain/cbindgen.yml
@@ -0,0 +1,67 @@
+# 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-gcp
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/cbindgen.tar.zst
+ fetches:
+ fetch:
+ # If you update this, make sure to update the minimum version in
+ # build/moz.configure/bindgen.configure as well.
+ - cbindgen-0.24.3
+
+linux64-cbindgen:
+ treeherder:
+ symbol: TL(cbindgen)
+ worker:
+ max-run-time: 1800
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-cbindgen:
+ treeherder:
+ symbol: TM(cbindgen)
+ run:
+ arguments: ['x86_64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk
+
+macosx64-aarch64-cbindgen:
+ treeherder:
+ symbol: TM(cbindgen-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk
+
+win64-cbindgen:
+ treeherder:
+ symbol: TW64(cbindgen)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml
new file mode 100644
index 0000000000..8d47547510
--- /dev/null
+++ b/taskcluster/ci/toolchain/clang-tidy.yml
@@ -0,0 +1,132 @@
+# 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-gcp
+ 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/*.txt'
+ - 'build/clang-plugin/moz.build'
+ - 'build/clang-plugin/Makefile.in'
+ - 'build/build-clang/build-clang.py'
+ fetches:
+ fetch:
+ - clang-15
+
+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'
+ fetches:
+ toolchain:
+ - linux64-clang-15
+ - linux64-toolchain-sysroot
+
+macosx64-clang-tidy:
+ index:
+ job-name: macosx64-clang-tidy
+ treeherder:
+ symbol: TM(clang-tidy)
+ worker-type: b-linux-large-gcp
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-15
+ - macosx64-sdk
+
+macosx64-arch64-clang-tidy:
+ index:
+ job-name: macosx64-aarch64-clang-tidy
+ treeherder:
+ symbol: TM(clang-tidy-aarch64)
+ worker-type: b-linux-large-gcp
+ worker:
+ env:
+ OSX_ARCH: arm64
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-15
+ - macosx64-sdk
+
+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
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-win64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-win64.json'
+ fetches:
+ fetch:
+ - cmake
+ - ninja
+ toolchain:
+ - win64-vs2019
+
+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-clang-15
+ - linux64-toolchain-sysroot
diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/ci/toolchain/clang.yml
new file mode 100644
index 0000000000..1267587c9f
--- /dev/null
+++ b/taskcluster/ci/toolchain/clang.yml
@@ -0,0 +1,871 @@
+# 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-gcp
+ 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(clang-5.0)
+ worker-type: b-linux-large-gcp
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-5.0.json'
+ - 'build/build-clang/2stages.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-5.0.json'
+ - 'build/build-clang/2stages.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-5.0
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-14-stage1:
+ description: "Clang 14 toolchain build"
+ treeherder:
+ symbol: TL(clang-14-stage1)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-14.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-14.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-14
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-14:
+ description: "Clang 14 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(clang-14)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-clang-14-stage1
+
+macosx64-clang-14-raw:
+ description: "Clang 14 toolchain build"
+ treeherder:
+ symbol: TM(clang-14-raw)
+ worker-type: b-linux-large-gcp
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-14.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-14.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-14
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-14-stage1
+ - macosx64-sdk
+
+linux64-clang-15-mingw-x86:
+ description: "MinGW-Clang 15 x86 toolchain build"
+ treeherder:
+ symbol: TMW(clang-15-x86)
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x86'
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang-mingw-x86
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.4.0
+ toolchain:
+ - linux64-clang-15
+
+linux64-clang-15-mingw-x64:
+ description: "MinGW-Clang 15 x64 toolchain build"
+ treeherder:
+ symbol: TMW(clang-15-x64)
+ tier: 1
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x64'
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang-mingw-x64
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.4.0
+ toolchain:
+ - linux64-clang-15
+
+linux64-clang-15-stage1:
+ description: "Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(clang-15-stage1)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang-toolchain
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-15-profile:
+ description: "Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(clang-15-profile)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ toolchain-artifact: public/build/merged.profdata
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-x64-compiler-rt-15
+ - linux64-toolchain-sysroot
+
+linux64-clang-15-raw:
+ description: "Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(clang-15-raw)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-clang-15-profile
+ - linux64-toolchain-sysroot
+
+linux64-clang-15:
+ description: "Clang 15 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(clang-15)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-15-raw
+ - android-aarch64-compiler-rt-15
+ - android-arm-compiler-rt-15
+ - android-x64-compiler-rt-15
+ - android-x86-compiler-rt-15
+ - linux64-aarch64-compiler-rt-15
+ - linux64-x64-compiler-rt-15
+ - linux64-x86-compiler-rt-15
+ - macosx64-aarch64-compiler-rt-15
+ - macosx64-x64-compiler-rt-15
+ - wasm32-wasi-compiler-rt-15
+ - win32-compiler-rt-15
+ - win64-compiler-rt-15
+
+macosx64-clang-15-raw:
+ description: "Clang 15 toolchain build"
+ treeherder:
+ symbol: TM(clang-15-raw)
+ worker-type: b-linux-large-gcp
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-15-stage1
+ - linux64-clang-15-profile
+ - macosx64-sdk
+ - macosx64-x64-compiler-rt-15
+
+macosx64-clang-15:
+ description: "Clang 15 toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-15)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default:
+ - macosx64-clang
+ - macosx64-clang-toolchain
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - macosx64-clang-15-raw
+ - android-aarch64-compiler-rt-15
+ - android-arm-compiler-rt-15
+ - android-x64-compiler-rt-15
+ - android-x86-compiler-rt-15
+ - linux64-aarch64-compiler-rt-15
+ - linux64-x64-compiler-rt-15
+ - linux64-x86-compiler-rt-15
+ - macosx64-aarch64-compiler-rt-15
+ - macosx64-x64-compiler-rt-15
+ - wasm32-wasi-compiler-rt-15
+ - win32-compiler-rt-15
+ - win64-compiler-rt-15
+
+macosx64-aarch64-clang-15-raw:
+ description: "Clang 15 toolchain build"
+ treeherder:
+ symbol: TM(clang-15-aarch64-raw)
+ worker-type: b-linux-large-gcp
+ worker:
+ env:
+ OSX_ARCH: arm64
+ max-run-time: 3600
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-15-stage1
+ - linux64-clang-15-profile
+ - macosx64-sdk
+ - macosx64-aarch64-compiler-rt-15
+
+macosx64-aarch64-clang-15:
+ description: "Clang 15 toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-15-aarch64)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: macosx64-aarch64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - macosx64-aarch64-clang-15-raw
+ - android-aarch64-compiler-rt-15
+ - android-arm-compiler-rt-15
+ - android-x64-compiler-rt-15
+ - android-x86-compiler-rt-15
+ - linux64-aarch64-compiler-rt-15
+ - linux64-x64-compiler-rt-15
+ - linux64-x86-compiler-rt-15
+ - macosx64-aarch64-compiler-rt-15
+ - macosx64-x64-compiler-rt-15
+ - wasm32-wasi-compiler-rt-15
+ - win32-compiler-rt-15
+ - win64-compiler-rt-15
+
+win64-clang-15-stage1:
+ description: "Clang-cl 15 toolchain build stage 1"
+ treeherder:
+ symbol: TW64(clang-15-stage1)
+ worker-type: b-win2012
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: win64-clang-toolchain
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ - cmake
+ - ninja
+ toolchain:
+ - win64-vs2019
+
+win64-clang-15-raw:
+ description: "Clang-cl 15 toolchain build"
+ treeherder:
+ symbol: TW64(clang-15-raw)
+ worker-type: b-win2012
+ worker:
+ max-run-time: 9000
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-stage-1-win64.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-15.json'
+ - 'build/build-clang/skip-stage-1-win64.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ - cmake
+ - ninja
+ toolchain:
+ - win64-clang-15-stage1
+ - win64-compiler-rt-15
+ - win64-vs2019
+
+win64-clang-15:
+ description: "Clang-cl 15 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(clang-15)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: win64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - win64-clang-15-raw
+ - android-aarch64-compiler-rt-15
+ - android-arm-compiler-rt-15
+ - android-x64-compiler-rt-15
+ - android-x86-compiler-rt-15
+ - linux64-aarch64-compiler-rt-15
+ - linux64-x64-compiler-rt-15
+ - linux64-x86-compiler-rt-15
+ - macosx64-aarch64-compiler-rt-15
+ - macosx64-x64-compiler-rt-15
+ - wasm32-wasi-compiler-rt-15
+ - win32-compiler-rt-15
+ - win64-compiler-rt-15
+
+linux64-clang-trunk-mingw-x86:
+ description: "MinGW-Clang trunk x86 toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TMW(clang-trunk-x86)
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x86'
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-clang-mingw-x86
+ default: null
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.4.0
+ toolchain:
+ - linux64-clang-trunk
+
+linux64-clang-trunk-mingw-x64:
+ description: "MinGW-Clang trunk x64 toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TMW(clang-trunk-x64)
+ tier: 1
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x64'
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-clang-mingw-x64
+ default: null
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.4.0
+ toolchain:
+ - linux64-clang-trunk
+
+linux64-clang-trunk-stage1:
+ description: "Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(clang-trunk-stage1)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-clang-toolchain
+ default: null
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-trunk-profile:
+ description: "Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(clang-trunk-profile)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ toolchain-artifact: public/build/merged.profdata
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-x64-compiler-rt-trunk
+ - linux64-toolchain-sysroot
+
+linux64-clang-trunk-raw:
+ description: "Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(clang-trunk-raw)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-clang-trunk-profile
+ - linux64-toolchain-sysroot
+
+linux64-clang-trunk:
+ description: "Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(clang-trunk)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-clang
+ default: null
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-trunk-raw
+ - android-aarch64-compiler-rt-trunk
+ - android-arm-compiler-rt-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x86-compiler-rt-trunk
+ - linux64-aarch64-compiler-rt-trunk
+ - linux64-x64-compiler-rt-trunk
+ - linux64-x86-compiler-rt-trunk
+ - macosx64-aarch64-compiler-rt-trunk
+ - macosx64-x64-compiler-rt-trunk
+ - wasm32-wasi-compiler-rt-trunk
+ - win32-compiler-rt-trunk
+ - win64-compiler-rt-trunk
+
+macosx64-clang-trunk-raw:
+ description: "Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(clang-trunk-raw)
+ worker-type: b-linux-large-gcp
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-trunk-stage1
+ - linux64-clang-trunk-profile
+ - macosx64-sdk
+ - macosx64-x64-compiler-rt-trunk
+
+macosx64-clang-trunk:
+ description: "Clang trunk toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(clang-trunk)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains:
+ - macosx64-clang
+ - macosx64-clang-toolchain
+ default: null
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - macosx64-clang-trunk-raw
+ - android-aarch64-compiler-rt-trunk
+ - android-arm-compiler-rt-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x86-compiler-rt-trunk
+ - linux64-aarch64-compiler-rt-trunk
+ - linux64-x64-compiler-rt-trunk
+ - linux64-x86-compiler-rt-trunk
+ - macosx64-aarch64-compiler-rt-trunk
+ - macosx64-x64-compiler-rt-trunk
+ - wasm32-wasi-compiler-rt-trunk
+ - win32-compiler-rt-trunk
+ - win64-compiler-rt-trunk
+
+macosx64-aarch64-clang-trunk-raw:
+ description: "Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(clang-trunk-aarch64-raw)
+ worker-type: b-linux-large-gcp
+ worker:
+ env:
+ OSX_ARCH: arm64
+ max-run-time: 3600
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-trunk-stage1
+ - linux64-clang-trunk-profile
+ - macosx64-sdk
+ - macosx64-aarch64-compiler-rt-trunk
+
+macosx64-aarch64-clang-trunk:
+ description: "Clang trunk toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(clang-trunk-aarch64)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: macosx64-aarch64-clang
+ default: null
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - macosx64-aarch64-clang-trunk-raw
+ - android-aarch64-compiler-rt-trunk
+ - android-arm-compiler-rt-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x86-compiler-rt-trunk
+ - linux64-aarch64-compiler-rt-trunk
+ - linux64-x64-compiler-rt-trunk
+ - linux64-x86-compiler-rt-trunk
+ - macosx64-aarch64-compiler-rt-trunk
+ - macosx64-x64-compiler-rt-trunk
+ - wasm32-wasi-compiler-rt-trunk
+ - win32-compiler-rt-trunk
+ - win64-compiler-rt-trunk
+
+win64-clang-trunk-stage1:
+ description: "Clang-cl trunk toolchain build stage 1"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(clang-trunk-stage1)
+ worker-type: b-win2012
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-alias:
+ by-project:
+ toolchains: win64-clang-toolchain
+ default: null
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - cmake
+ - ninja
+ toolchain:
+ - win64-vs2019
+
+win64-clang-trunk-raw:
+ description: "Clang-cl trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(clang-trunk-raw)
+ worker-type: b-win2012
+ worker:
+ max-run-time: 9000
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-stage-1-win64.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-trunk.json'
+ - 'build/build-clang/skip-stage-1-win64.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - cmake
+ - ninja
+ toolchain:
+ - win64-clang-trunk-stage1
+ - win64-compiler-rt-trunk
+ - win64-vs2019
+
+win64-clang-trunk:
+ description: "Clang-cl trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(clang-trunk)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: win64-clang
+ default: null
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - win64-clang-trunk-raw
+ - android-aarch64-compiler-rt-trunk
+ - android-arm-compiler-rt-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x86-compiler-rt-trunk
+ - linux64-aarch64-compiler-rt-trunk
+ - linux64-x64-compiler-rt-trunk
+ - linux64-x86-compiler-rt-trunk
+ - macosx64-aarch64-compiler-rt-trunk
+ - macosx64-x64-compiler-rt-trunk
+ - wasm32-wasi-compiler-rt-trunk
+ - win32-compiler-rt-trunk
+ - win64-compiler-rt-trunk
diff --git a/taskcluster/ci/toolchain/compiler-rt.yml b/taskcluster/ci/toolchain/compiler-rt.yml
new file mode 100644
index 0000000000..073314f0a6
--- /dev/null
+++ b/taskcluster/ci/toolchain/compiler-rt.yml
@@ -0,0 +1,462 @@
+# 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-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ using: toolchain-script
+ script: build-compiler-rt.sh
+
+android-aarch64-compiler-rt-15:
+ description: "android aarch64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TA(aarch64-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-compiler-rt-15:
+ description: "android arm Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TA(arm-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-compiler-rt-15:
+ description: "android x86 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TA(x86-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-compiler-rt-15:
+ description: "android x64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TA(x64-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-android-ndk-linux-repack
+
+linux64-x86-compiler-rt-15:
+ description: "Linux x86 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(x86-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - sysroot-i686-linux-gnu
+
+linux64-x64-compiler-rt-15:
+ description: "Linux x64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(x64-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - sysroot-x86_64-linux-gnu
+
+linux64-aarch64-compiler-rt-15:
+ description: "Linux aarch64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(aarch64-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - sysroot-aarch64-linux-gnu
+
+macosx64-x64-compiler-rt-15:
+ description: "macOS x64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TM(x64-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - macosx64-sdk
+
+macosx64-aarch64-compiler-rt-15:
+ description: "macOS aarch64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TM(aarch64-crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - macosx64-sdk
+
+win32-compiler-rt-15:
+ description: "win32 x86 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TW32(crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - win64-vs2019
+
+win64-compiler-rt-15:
+ description: "win64 x64 Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TW64(crt-15)
+ run:
+ arguments:
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - win64-vs2019
+
+wasm32-wasi-compiler-rt-15:
+ description: "wasm32-wasi Compiler-rt for Clang 15 toolchain build"
+ treeherder:
+ symbol: TL(wasi-crt-15)
+ worker-type: b-linux-xlarge-gcp
+ run:
+ script: build-compiler-rt-wasi.sh
+ toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst
+ toolchain-alias: wasm32-wasi-compiler-rt
+ fetches:
+ fetch:
+ - clang-15
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-15-stage1
+
+android-aarch64-compiler-rt-trunk:
+ description: "android aarch64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(aarch64-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-compiler-rt-trunk:
+ description: "android arm Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(arm-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-compiler-rt-trunk:
+ description: "android x86 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(x86-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-compiler-rt-trunk:
+ description: "android x64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(x64-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+linux64-x86-compiler-rt-trunk:
+ description: "Linux x86 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(x86-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - sysroot-i686-linux-gnu
+
+linux64-x64-compiler-rt-trunk:
+ description: "Linux x64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(x64-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - sysroot-x86_64-linux-gnu
+
+linux64-aarch64-compiler-rt-trunk:
+ description: "Linux aarch64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(aarch64-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - sysroot-aarch64-linux-gnu
+
+macosx64-x64-compiler-rt-trunk:
+ description: "macOS x64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(x64-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - macosx64-sdk
+
+macosx64-aarch64-compiler-rt-trunk:
+ description: "macOS aarch64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(aarch64-crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - macosx64-sdk
+
+win32-compiler-rt-trunk:
+ description: "win32 x86 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW32(crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - win64-vs2019
+
+win64-compiler-rt-trunk:
+ description: "win64 x64 Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(crt-trunk)
+ run:
+ arguments:
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - win64-vs2019
+
+wasm32-wasi-compiler-rt-trunk:
+ description: "wasm32-wasi Compiler-rt for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(wasi-crt-trunk)
+ worker-type: b-linux-xlarge-gcp
+ run:
+ script: build-compiler-rt-wasi.sh
+ toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-trunk-stage1
diff --git a/taskcluster/ci/toolchain/dist-toolchains.yml b/taskcluster/ci/toolchain/dist-toolchains.yml
new file mode 100644
index 0000000000..31b60918e6
--- /dev/null
+++ b/taskcluster/ci/toolchain/dist-toolchains.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/.
+---
+job-defaults:
+ description: "sccache-dist toolchain archive build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ 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..8b6dac1bb4
--- /dev/null
+++ b/taskcluster/ci/toolchain/dump-syms.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:
+ attributes:
+ local-toolchain: true
+ description: "dump_syms toolchain build"
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/dump_syms.tar.zst
+ fetches:
+ fetch:
+ - dump-syms
+
+linux64-dump_syms:
+ treeherder:
+ symbol: TL(dump_syms)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-1.66
+ - sysroot-x86_64-linux-gnu
+
+macosx64-dump_syms:
+ treeherder:
+ symbol: TM(dump_syms)
+ worker-type: b-linux-gcp
+ run:
+ arguments: ['x86_64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-1.66
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+macosx64-aarch64-dump_syms:
+ treeherder:
+ symbol: TM(dump_syms-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-1.66
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+win64-dump_syms:
+ treeherder:
+ symbol: TW64(dump_syms)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-1.66
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/ci/toolchain/fix-stacks.yml
new file mode 100644
index 0000000000..f48812894a
--- /dev/null
+++ b/taskcluster/ci/toolchain/fix-stacks.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:
+ description: "fix-stacks toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/fix-stacks.tar.zst
+ fetches:
+ fetch:
+ - fix-stacks
+
+linux64-fix-stacks:
+ treeherder:
+ symbol: TL(fix-stacks)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-fix-stacks:
+ treeherder:
+ symbol: TM(fix-stacks)
+ run:
+ arguments: ['x86_64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk
+
+macosx64-aarch64-fix-stacks:
+ treeherder:
+ symbol: TM(fix-stacks-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk
+
+win32-fix-stacks:
+ treeherder:
+ symbol: TW32(fix-stacks)
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
+
+win64-fix-stacks:
+ treeherder:
+ symbol: TW64(fix-stacks)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml
new file mode 100644
index 0000000000..1bdebb51ea
--- /dev/null
+++ b/taskcluster/ci/toolchain/gcc.yml
@@ -0,0 +1,95 @@
+# 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-gcp
+ worker:
+ max-run-time: 3600
+ run:
+ resources:
+ - 'build/unix/build-gcc/build-gcc.sh'
+ toolchain-artifact: public/build/gcc.tar.zst
+ fetches:
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-gcc-7:
+ description: "GCC 7 toolchain build"
+ treeherder:
+ symbol: TL(gcc7)
+ run:
+ script: build-gcc-linux.sh
+ toolchain-alias: linux64-gcc
+ fetches:
+ fetch:
+ - gcc-7.5.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:
+ - gcc-8.5.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:
+ - gcc-9.4.0
+ - gmp-6.1.0
+ - isl-0.16.1
+ - mpc-1.0.3
+ - mpfr-3.1.4
+
+linux64-gcc-11:
+ description: "GCC 11 toolchain build"
+ treeherder:
+ symbol: TL(gcc11)
+ run:
+ script: build-gcc-linux.sh
+ arguments:
+ - build/unix/build-gcc/PR104142.patch
+ resources:
+ - build/unix/build-gcc/PR104142.patch
+ fetches:
+ fetch:
+ - gcc-11.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:
+ - gcc-9.4.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..b28ce85bef
--- /dev/null
+++ b/taskcluster/ci/toolchain/geckodriver.yml
@@ -0,0 +1,139 @@
+# 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-gcp
+ 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
+
+linux64-aarch64-geckodriver:
+ treeherder:
+ symbol: TL(gd)
+ platform: linux64-aarch64/opt
+ run:
+ arguments: ['aarch64-unknown-linux-musl']
+ attributes:
+ build_platform: linux64-aarch64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-static
+
+macosx64-geckodriver:
+ treeherder:
+ symbol: TM(gd)
+ platform: macosx64/opt
+ run:
+ arguments: ['x86_64-apple-darwin']
+ attributes:
+ build_platform: macosx64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos
+ - macosx64-sdk
+
+macosx64-aarch64-geckodriver:
+ treeherder:
+ symbol: TM(gd)
+ platform: macosx64-aarch64/opt
+ run:
+ arguments: ['aarch64-apple-darwin']
+ attributes:
+ build_platform: macosx64-aarch64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - linux64-rust-macos
+ - macosx64-sdk
+
+win32-geckodriver:
+ treeherder:
+ symbol: TW32(gd)
+ platform: win32/opt
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ toolchain-artifact: public/build/geckodriver.zip
+ attributes:
+ build_platform: win32-geckodriver
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows
+ - win64-vs2017
+
+win64-aarch64-geckodriver:
+ treeherder:
+ symbol: TW64(gd)
+ platform: windows2012-aarch64/opt
+ run:
+ arguments: ['aarch64-pc-windows-msvc']
+ toolchain-artifact: public/build/geckodriver.zip
+ attributes:
+ build_platform: win64-aarch64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows
+ - win64-vs2017
+
+win64-geckodriver:
+ treeherder:
+ symbol: TW64(gd)
+ platform: win64/opt
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ toolchain-artifact: public/build/geckodriver.zip
+ attributes:
+ build_platform: win64-geckodriver
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml
new file mode 100644
index 0000000000..354dbe9d5d
--- /dev/null
+++ b/taskcluster/ci/toolchain/gn.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/.
+---
+job-defaults:
+ description: "gn toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ resources:
+ - 'taskcluster/scripts/misc/build-gn-common.sh'
+ toolchain-artifact: public/build/gn.tar.zst
+ fetches:
+ fetch:
+ - gn
+
+linux64-gn:
+ treeherder:
+ symbol: TL(gn)
+ run:
+ script: build-gn-linux.sh
+
+macosx64-gn:
+ treeherder:
+ symbol: TM(gn)
+ run:
+ script: build-gn-macosx.sh
+ toolchain-alias: macosx64-aarch64-gn
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - macosx64-sdk
+
+win64-gn:
+ treeherder:
+ symbol: TW64(gn)
+ worker-type: b-win2012
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-gn-win64.sh
+ fetches:
+ fetch:
+ - ninja
+ toolchain:
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/ci/toolchain/grcov.yml
new file mode 100644
index 0000000000..72b7d3e4a3
--- /dev/null
+++ b/taskcluster/ci/toolchain/grcov.yml
@@ -0,0 +1,49 @@
+# 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-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/grcov.tar.zst
+ fetches:
+ fetch:
+ - grcov
+
+linux64-grcov:
+ treeherder:
+ symbol: TL(grcov)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-rust-toolchain
+ - linux64-clang-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-grcov:
+ treeherder:
+ symbol: TM(grcov)
+ run:
+ arguments: ['x86_64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+win64-grcov:
+ treeherder:
+ symbol: TW64(grcov)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml
new file mode 100644
index 0000000000..f23a00e91f
--- /dev/null
+++ b/taskcluster/ci/toolchain/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - packages
+
+transforms:
+ - gecko_taskgraph.transforms.try_job:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.cached_tasks:transforms
+ - gecko_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
+ - cargo-vet.yml
+ - cbindgen.yml
+ - clang-tidy.yml
+ - clang.yml
+ - compiler-rt.yml
+ - dump-syms.yml
+ - fix-stacks.yml
+ - gcc.yml
+ - geckodriver.yml
+ - gn.yml
+ - grcov.yml
+ - llvm-symbolizer.yml
+ - macos-sdk.yml
+ - mingw.yml
+ - minidump-stackwalk.yml
+ - misc.yml
+ - nasm.yml
+ - node.yml
+ - pkgconf.yml
+ - resourcemonitor.yml
+ - rust.yml
+ - rust-size.yml
+ - sccache.yml
+ - sysroot.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..6a4747e8b9
--- /dev/null
+++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml
@@ -0,0 +1,241 @@
+# 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-large-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-llvm-symbolizer.sh
+ toolchain-artifact: public/build/llvm-symbolizer.tar.zst
+
+linux32-llvm-symbolizer-15:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL32(llvm-symbolizer)
+ run:
+ arguments:
+ - i686-unknown-linux-gnu
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux32-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux32-toolchain-sysroot
+
+linux64-llvm-symbolizer-15:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL(llvm-symbolizer)
+ run:
+ arguments:
+ - x86_64-unknown-linux-gnu
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - linux64-toolchain-sysroot
+
+macosx64-llvm-symbolizer-15:
+ description: "llvm-symbolizer for macOS x64"
+ treeherder:
+ symbol: TM(llvm-symbolizer)
+ run:
+ arguments:
+ - x86_64-apple-darwin
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: macosx64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - macosx64-sdk
+
+macosx64-aarch64-llvm-symbolizer-15:
+ description: "llvm-symbolizer for macOS aarch64"
+ treeherder:
+ symbol: TM(llvm-symbolizer-aarch64)
+ run:
+ arguments:
+ - aarch64-apple-darwin
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: macosx64-aarch64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - macosx64-sdk
+
+win64-llvm-symbolizer-15:
+ description: "llvm-symbolizer for Windows"
+ treeherder:
+ symbol: TW64(llvm-symbolizer)
+ run:
+ arguments:
+ - x86_64-pc-windows-msvc
+ - build/build-clang/clang-15.json
+ resources:
+ - build/build-clang/clang-15.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: win64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-15
+ toolchain:
+ - linux64-clang-15-stage1
+ - win64-vs2019
+
+linux32-llvm-symbolizer-trunk:
+ description: "llvm-symbolizer for Linux"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL32(llvm-symbolizer-trunk)
+ run:
+ arguments:
+ - i686-unknown-linux-gnu
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: linux32-llvm-symbolizer
+ default: null
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux32-toolchain-sysroot
+
+linux64-llvm-symbolizer-trunk:
+ description: "llvm-symbolizer for Linux"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(llvm-symbolizer-trunk)
+ run:
+ arguments:
+ - x86_64-unknown-linux-gnu
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-llvm-symbolizer
+ default: null
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - linux64-toolchain-sysroot
+
+macosx64-llvm-symbolizer-trunk:
+ description: "llvm-symbolizer for macOS x64"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(llvm-symbolizer-trunk)
+ run:
+ arguments:
+ - x86_64-apple-darwin
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: macosx64-llvm-symbolizer
+ default: null
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - macosx64-sdk
+
+macosx64-aarch64-llvm-symbolizer-trunk:
+ description: "llvm-symbolizer for macOS aarch64"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(llvm-sym-aarch64-trunk)
+ run:
+ arguments:
+ - aarch64-apple-darwin
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: macosx64-aarch64-llvm-symbolizer
+ default: null
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - macosx64-sdk
+
+win64-llvm-symbolizer-trunk:
+ description: "llvm-symbolizer for Windows"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(llvm-symbolizer-trunk)
+ run:
+ arguments:
+ - x86_64-pc-windows-msvc
+ - build/build-clang/clang-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: win64-llvm-symbolizer
+ default: null
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - win64-vs2019
diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/ci/toolchain/macos-sdk.yml
new file mode 100644
index 0000000000..f89ac1eb23
--- /dev/null
+++ b/taskcluster/ci/toolchain/macos-sdk.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/.
+---
+job-defaults:
+ attributes:
+ artifact_prefix: project/gecko/mac-sdk
+ worker-type: b-osx-1015
+ worker:
+ max-run-time: 1800
+ env:
+ PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
+ run:
+ script: pack.sh
+ # Expiry similar to that of fetches
+ expires-after: 1000 years
+
+macosx64-sdk-10.11:
+ description: "MacOSX10.11 SDK"
+ treeherder:
+ symbol: TM(sdk10.11)
+ run:
+ arguments:
+ - /Applications/Xcode-7.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
+ toolchain-artifact: project/gecko/mac-sdk/MacOSX10.11.sdk.tar.zst
+
+macosx64-sdk-11.0:
+ description: "MacOSX11.0 SDK"
+ treeherder:
+ symbol: TM(sdk11)
+ run:
+ 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
+
+macosx64-sdk-11.3:
+ description: "MacOSX11.3 SDK"
+ treeherder:
+ symbol: TM(sdk11.3)
+ run:
+ script: pack-macos-sdk.sh
+ arguments:
+ - https://swcdn.apple.com/content/downloads/52/17/002-41708-A_E8MFK7B2PK/6p55tbmh0qttgbt4cy94uuvnacy6tkw435/CLTools_macOSLMOS_SDK.pkg
+ - b075d3d2f3b066607209a5bbf7cf727a40b98fe65629c5b6abc17f156897af4a
+ - Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk
+ toolchain-artifact: project/gecko/mac-sdk/MacOSX11.3.sdk.tar.zst
+ toolchain-alias: macosx64-sdk
diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/ci/toolchain/mingw.yml
new file mode 100644
index 0000000000..b0573ac47b
--- /dev/null
+++ b/taskcluster/ci/toolchain/mingw.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:
+ treeherder:
+ tier: 2
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 3600
+
+linux64-mingw32-nsis:
+ description: "NSIS build for MinGW32 Cross Compile"
+ treeherder:
+ symbol: TMW(mingw32-nsis)
+ run:
+ script: build-mingw32-nsis.sh
+ toolchain-artifact: public/build/nsis.tar.zst
+ fetches:
+ fetch:
+ - nsis-3.07
+ - zlib-1.2.13
+ toolchain:
+ - linux64-binutils
+ - linux64-clang-mingw-x86
+ - sysroot-x86_64-linux-gnu
+
+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.zst
+ 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..c68270db4f
--- /dev/null
+++ b/taskcluster/ci/toolchain/minidump-stackwalk.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/.
+---
+job-defaults:
+ description: "minidump-stackwalk toolchain build"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ env:
+ FETCH: rust-minidump/minidump-stackwalk
+ run:
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/minidump-stackwalk.tar.zst
+ fetches:
+ fetch:
+ - rust-minidump
+
+linux64-minidump-stackwalk:
+ treeherder:
+ symbol: TL(stackwalk)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-minidump-stackwalk:
+ treeherder:
+ symbol: TM(stackwalk)
+ run:
+ arguments: ['x86_64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+macosx64-aarch64-minidump-stackwalk:
+ treeherder:
+ symbol: TM(stackwalk-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+win32-minidump-stackwalk:
+ treeherder:
+ symbol: TW32(stackwalk)
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
+
+win64-minidump-stackwalk:
+ treeherder:
+ symbol: TW64(stackwalk)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
+
+# This is a totally different thing but it used to share common code with
+# minidump-stackwalk, so it lives here for historical reasons.
+linux64-breakpad-injector:
+ description: "breakpad injector toolchain build"
+ run:
+ script: build-breakpad-injector.sh
+ toolchain-artifact: public/build/injector.tar.zst
+ sparse-profile: null
+ resources:
+ - 'build/moz.configure'
+ - 'config/external/zlib'
+ - 'moz.configure'
+ - 'toolkit/crashreporter'
+ - 'toolkit/crashreporter/google-breakpad/src/processor'
+ - 'tools/crashreporter/'
+ treeherder:
+ symbol: TL(injector)
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/ci/toolchain/misc.yml
new file mode 100644
index 0000000000..4c9e208769
--- /dev/null
+++ b/taskcluster/ci/toolchain/misc.yml
@@ -0,0 +1,373 @@
+# 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-gcp
+ worker:
+ max-run-time: 1800
+
+linux64-binutils-2.31.1:
+ description: "Binutils toolchain build"
+ treeherder:
+ symbol: TL(binutil2.31)
+ run:
+ script: build-binutils-linux.sh
+ resources:
+ - 'build/unix/build-binutils/build-binutils.sh'
+ toolchain-artifact: public/build/binutils.tar.zst
+ fetches:
+ fetch:
+ - binutils-2.31.1
+ toolchain:
+ # C++ code in gold doesn't compile with recent versions of GCC.
+ - linux64-gcc-7
+ - linux64-toolchain-sysroot
+
+linux64-binutils:
+ description: "Binutils toolchain build"
+ treeherder:
+ symbol: TL(binutil)
+ run:
+ script: build-binutils-linux.sh
+ resources:
+ - 'build/unix/build-binutils/build-binutils.sh'
+ toolchain-artifact: public/build/binutils.tar.zst
+ fetches:
+ fetch:
+ - binutils-2.36.1
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-cctools-port:
+ description: "cctools-port toolchain build"
+ treeherder:
+ symbol: TL(cctools-clang)
+ run:
+ script: build-cctools-port.sh
+ toolchain-artifact: public/build/cctools.tar.zst
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+ fetch:
+ - cctools-port
+ - libtapi
+ - ldid
+
+linux64-hfsplus:
+ description: "hfsplus toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(hfs+)
+ run:
+ script: build-hfsplus-linux.sh
+ resources:
+ - 'build/unix/build-hfsplus/build-hfsplus.sh'
+ toolchain-artifact: public/build/hfsplus.tar.zst
+ fetches:
+ fetch:
+ - hfsplus-tools
+ toolchain:
+ - linux64-clang-toolchain
+
+linux64-libdmg:
+ description: "libdmg-hfsplus toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(libdmg-hfs+)
+ run:
+ script: build-dmg-hfsplus.sh
+ toolchain-artifact: public/build/dmg.tar.zst
+ toolchain-alias: linux64-dmg
+ fetches:
+ fetch:
+ - libdmg-hfsplus
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+
+linux64-mkbom:
+ description: "mkbom toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(mkbom)
+ run:
+ script: build-mkbom-linux.sh
+ toolchain-artifact: public/build/mkbom.tar.zst
+ fetches:
+ fetch:
+ - bomutils
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+
+linux64-xar:
+ description: "xar toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(xar)
+ run:
+ script: build-xar-linux.sh
+ toolchain-artifact: public/build/xar.tar.zst
+ fetches:
+ fetch:
+ - xar
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+
+linux64-mar-tools:
+ description: "mar-tools toolchain build"
+ treeherder:
+ symbol: TL(mar-tools)
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ run:
+ script: build-mar-tools.sh
+ sparse-profile: null
+ toolchain-artifact: public/build/mar-tools.tar.zst
+ 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.zst
+
+linux64-msix-packaging:
+ description: "msix-packaging build"
+ treeherder:
+ symbol: TL(msix-packaging)
+ tier: 1
+ run:
+ script: build-msix-packaging.sh
+ toolchain-artifact: public/build/msix-packaging.tar.zst
+ fetches:
+ fetch:
+ - msix-packaging
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+
+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.tar.zst,
+ is_debug=false,
+ target_cpu="x64"
+ ]
+ toolchain-artifact: public/build/d8.tar.zst
+
+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.zst
+ fetches:
+ toolchain:
+ - linux64-node-16
+
+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.zst
+ fetches:
+ fetch:
+ - android-ndk-rs
+ toolchain:
+ - linux64-rust # whatever m-c is built with
+
+linux64-wine:
+ description: "Wine build for Windows Cross Compile"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(wine)
+ tier: 1
+ worker:
+ max-run-time: 10800
+ run:
+ script: build-wine.sh
+ toolchain-artifact: public/build/wine.tar.zst
+ fetches:
+ fetch:
+ - wine
+
+linux64-winchecksec:
+ description: "winchecksec"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(winchecksec)
+ run:
+ script: build-winchecksec.sh
+ arguments: ['x86_64-unknown-linux-gnu']
+ toolchain-artifact: public/build/winchecksec.tar.zst
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - winchecksec
+
+win64-winchecksec:
+ description: "winchecksec"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(winchecksec)
+ run:
+ script: build-winchecksec.sh
+ arguments: ['x86_64-pc-windows-msvc']
+ toolchain-artifact: public/build/winchecksec.tar.zst
+ tooltool-downloads: internal
+ fetches:
+ fetch:
+ - winchecksec
+ toolchain:
+ - linux64-clang-toolchain
+ - win64-vs2017
+
+linux64-makecab:
+ description: "makecab toolchain build"
+ treeherder:
+ symbol: TL(cab)
+ worker:
+ env:
+ FETCH: rust-makecab
+ run:
+ script: build-rust-based-toolchain.sh
+ arguments: ['x86_64-unknown-linux-gnu']
+ toolchain-artifact: public/build/makecab.tar.zst
+ fetches:
+ fetch:
+ - makecab
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+win64-mozmake:
+ description: "mozmake for Windows"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(mozmake)
+ run:
+ script: build-mozmake.sh
+ toolchain-artifact: public/build/mozmake.tar.zst
+ fetches:
+ fetch:
+ - gnumake
+ toolchain:
+ - linux64-clang-toolchain
+ - win64-vs2017
+
+nsis:
+ description: "NSIS for Linux and Windows"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(nsis)
+ run:
+ script: build-nsis.sh
+ toolchain-artifact: public/build/nsis.tar.zst
+ fetches:
+ fetch:
+ - nsis-3.07
+ - nsis-3.07-win
+ toolchain:
+ - linux64-clang-toolchain
+ - sysroot-x86_64-linux-gnu
+
+win64-vs2017:
+ description: "VS 2017"
+ attributes:
+ artifact_prefix: project/gecko/vs
+ treeherder:
+ symbol: TW64(msvc2017)
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ script: pack-vs.sh
+ arguments:
+ - build/vs/vs2017.yaml
+ resources:
+ - build/vs/pack_vs.py
+ - build/vs/vs2017.yaml
+ toolchain-artifact: project/gecko/vs/vs.tar.zst
+
+win64-vs2019:
+ description: "VS 2019"
+ attributes:
+ artifact_prefix: project/gecko/vs
+ treeherder:
+ symbol: TW64(msvc2019)
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ script: pack-vs.sh
+ arguments:
+ - build/vs/vs2019.yaml
+ resources:
+ - build/vs/pack_vs.py
+ - build/vs/vs2019.yaml
+ toolchain-artifact: project/gecko/vs/vs.tar.zst
+
+linux64-afl-instrumentation-2.5:
+ description: "AFL instrumentation toolchain build"
+ treeherder:
+ symbol: TL(afl)
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-afl.sh
+ resources:
+ - taskcluster/scripts/misc/afl-nyx.patch
+ toolchain-artifact: public/build/afl-instrumentation.tar.zst
+ toolchain-alias: linux64-afl-instrumentation
+ fetches:
+ fetch:
+ - afl-2.5
+ toolchain:
+ - linux64-clang
+ - linux64-toolchain-sysroot
diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/ci/toolchain/nasm.yml
new file mode 100644
index 0000000000..01cb03c405
--- /dev/null
+++ b/taskcluster/ci/toolchain/nasm.yml
@@ -0,0 +1,89 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ toolchain-artifact: public/build/nasm.tar.zst
+
+win64-nasm:
+ description: "nasm win64 build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(nasm)
+ run:
+ script: build-nasm.sh
+ arguments: ['win64']
+ fetches:
+ fetch:
+ - nasm-2.15.05
+ toolchain:
+ - linux64-clang-mingw-x64
+
+macosx64-nasm:
+ description: "nasm macosx64 build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(nasm)
+ run:
+ script: build-nasm.sh
+ arguments: ['macosx64']
+ fetches:
+ fetch:
+ - nasm-2.15.05
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - macosx64-sdk
+
+macosx64-aarch64-nasm:
+ description: "nasm macosx64 build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(nasm-aarch64)
+ run:
+ script: build-nasm.sh
+ arguments: ['macosx64-aarch64']
+ fetches:
+ fetch:
+ - nasm-2.14.02
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-toolchain
+ - macosx64-sdk
+
+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.15.05
+ toolchain:
+ - linux64-clang-toolchain
+ - sysroot-x86_64-linux-gnu
+
+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
+ toolchain:
+ - linux64-clang-toolchain
+ - sysroot-x86_64-linux-gnu
diff --git a/taskcluster/ci/toolchain/node.yml b/taskcluster/ci/toolchain/node.yml
new file mode 100644
index 0000000000..bd66a54e9e
--- /dev/null
+++ b/taskcluster/ci/toolchain/node.yml
@@ -0,0 +1,92 @@
+# 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-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: repack-node.sh
+ toolchain-artifact: public/build/node.tar.zst
+
+linux64-node-12:
+ treeherder:
+ symbol: TL(node-12)
+ fetches:
+ fetch:
+ - nodejs-12-linux64
+
+linux64-node-16:
+ treeherder:
+ symbol: TL(node-16)
+ run:
+ toolchain-alias:
+ - linux64-node
+ fetches:
+ fetch:
+ - nodejs-16-linux64
+
+macosx64-node-12:
+ treeherder:
+ symbol: TM(node-12)
+ fetches:
+ fetch:
+ - nodejs-12-macosx64
+
+macosx64-node-16:
+ treeherder:
+ symbol: TM(node-16)
+ run:
+ toolchain-alias:
+ - macosx64-node
+ fetches:
+ fetch:
+ - nodejs-16-macosx64
+
+macosx64-aarch64-node-16:
+ treeherder:
+ symbol: TM(node-16-arm64)
+ run:
+ toolchain-alias:
+ - macosx64-aarch64-node
+ fetches:
+ fetch:
+ - nodejs-16-macosx64-arm64
+
+win64-node-12:
+ treeherder:
+ symbol: TW64(node-12)
+ fetches:
+ fetch:
+ - nodejs-12-win64
+
+win64-node-16:
+ treeherder:
+ symbol: TW64(node-16)
+ run:
+ toolchain-alias:
+ - win64-node
+ fetches:
+ fetch:
+ - nodejs-16-win64
+
+win32-node-12:
+ treeherder:
+ symbol: TW32(node-12)
+ fetches:
+ fetch:
+ - nodejs-12-win32
+
+win32-node-16:
+ treeherder:
+ symbol: TW32(node-16)
+ run:
+ toolchain-alias:
+ - win32-node
+ fetches:
+ fetch:
+ - nodejs-16-win32
diff --git a/taskcluster/ci/toolchain/pkgconf.yml b/taskcluster/ci/toolchain/pkgconf.yml
new file mode 100644
index 0000000000..10fbd2883c
--- /dev/null
+++ b/taskcluster/ci/toolchain/pkgconf.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/.
+---
+job-defaults:
+ attributes:
+ local-toolchain: true
+ description: "pkgconf toolchain build"
+ worker:
+ max-run-time: 1800
+ worker-type: b-linux-gcp
+ run:
+ script: build-pkgconf.sh
+ toolchain-artifact: public/build/pkgconf.tar.zst
+ fetches:
+ fetch:
+ - pkgconf
+
+linux64-pkgconf:
+ treeherder:
+ symbol: TL(pkgconf)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-pkgconf:
+ treeherder:
+ symbol: TM(pkgconf)
+ run:
+ arguments: ['x86_64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+macosx64-aarch64-pkgconf:
+ treeherder:
+ symbol: TM(pkgconf-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+win64-pkgconf:
+ treeherder:
+ symbol: TW64(pkgconf)
+ run:
+ arguments: ['x86_64-pc-windows-gnu']
+ fetches:
+ toolchain:
+ - linux64-clang-mingw-x64
diff --git a/taskcluster/ci/toolchain/resourcemonitor.yml b/taskcluster/ci/toolchain/resourcemonitor.yml
new file mode 100644
index 0000000000..f4ef9a41c4
--- /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-gcp
+ 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.zst
+
+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..f35cc15067
--- /dev/null
+++ b/taskcluster/ci/toolchain/rust-size.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:
+ description: "rust-size toolchain build"
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ script: build-rust-based-toolchain.sh
+ fetches:
+ fetch:
+ - rust-size
+
+linux64-rust-size:
+ treeherder:
+ symbol: TL(rust-size)
+ run:
+ arguments: ['x86_64-unknown-linux-gnu']
+ toolchain-artifact: public/build/rust-size.tar.zst
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+win64-rust-size:
+ treeherder:
+ symbol: TW64(rust-size)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ toolchain-artifact: public/build/rust-size.tar.zst
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml
new file mode 100644
index 0000000000..51199af2e7
--- /dev/null
+++ b/taskcluster/ci/toolchain/rust.yml
@@ -0,0 +1,266 @@
+# 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-gcp
+ worker:
+ max-run-time: 7200
+ run:
+ script: repack_rust.py
+ toolchain-artifact: public/build/rustc.tar.zst
+
+linux64-rust-1.65:
+ treeherder:
+ symbol: TL(rust-1.65)
+ run:
+ arguments: [
+ '--channel', '1.65.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'wasm32-wasi',
+ ]
+ toolchain-alias:
+ - linux64-rust-base
+ - linux64-rust-toolchain
+
+linux64-rust-1.66:
+ treeherder:
+ symbol: TL(rust)
+ run:
+ arguments: [
+ '--channel', '1.66.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'aarch64-unknown-linux-gnu',
+ '--target', 'wasm32-wasi',
+ '--compiler-builtins-hack',
+ ]
+ toolchain-alias: linux64-rust
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+
+linux64-rust-beta:
+ treeherder:
+ symbol: TL(rust-beta)
+ run:
+ arguments: [
+ '--channel', 'beta-2022-12-14',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'aarch64-unknown-linux-gnu',
+ '--target', 'wasm32-wasi',
+ '--compiler-builtins-hack',
+ ]
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+
+# A patched rust toolchain that allows us to use sanitizers in our vendored
+# build environment. See the rust fetch's comments for more details.
+linux64-rust-dev:
+ description: "build rust from source"
+ worker-type: b-linux-large-gcp
+ treeherder:
+ symbol: TL(rust-dev)
+ worker:
+ env:
+ # Work around https://github.com/rust-lang/rust/issues/105967
+ RUSTFLAGS_BOOTSTRAP: '-Clink-arg=-Wl,--undefined-version'
+ RUSTFLAGS_NOT_BOOTSTRAP: '-Clink-arg=-Wl,--undefined-version'
+ run:
+ arguments: [
+ '--patch', 'rust-vendor-std.patch',
+ '--patch', 'src/tools/cargo:cargo-vendor-std.patch',
+ '--patch', 'workaround-bug1797441.patch',
+ '--channel', 'dev',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ ]
+ fetches:
+ fetch:
+ - rust-1.66.0
+ toolchain:
+ - linux64-clang-toolchain
+
+linux64-rust-cross-1.66:
+ description: "rust repack with macos and windows cross support"
+ treeherder:
+ symbol: TL(rust-cross)
+ run:
+ arguments: [
+ '--channel', '1.66.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'x86_64-apple-darwin',
+ '--target', 'aarch64-apple-darwin',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ '--target', 'aarch64-pc-windows-msvc',
+ '--target', 'armv7-linux-androideabi',
+ '--target', 'thumbv7neon-linux-androideabi',
+ '--target', 'aarch64-linux-android',
+ '--target', 'i686-linux-android',
+ '--target', 'x86_64-linux-android',
+ ]
+ toolchain-alias: linux64-rust-cross
+
+linux64-rust-cross-beta:
+ description: "rust beta repack with macos and windows cross support"
+ treeherder:
+ symbol: TL(rust-cross-beta)
+ run:
+ arguments: [
+ '--channel', 'beta-2022-12-14',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'i686-unknown-linux-gnu',
+ '--target', 'x86_64-apple-darwin',
+ '--target', 'aarch64-apple-darwin',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ '--target', 'aarch64-pc-windows-msvc',
+ '--target', 'armv7-linux-androideabi',
+ '--target', 'thumbv7neon-linux-androideabi',
+ '--target', 'aarch64-linux-android',
+ '--target', 'i686-linux-android',
+ '--target', 'x86_64-linux-android',
+ ]
+
+linux64-rust-static-1.66:
+ description: "rust repack with static linking support"
+ treeherder:
+ symbol: TL(rust-static)
+ run:
+ arguments: [
+ '--channel', '1.66.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'aarch64-unknown-linux-musl',
+ '--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.61:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos-1.61)
+ run:
+ arguments: [
+ '--channel', '1.61.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-toolchain
+
+linux64-rust-macos-1.66:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos)
+ run:
+ arguments: [
+ '--channel', '1.66.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.66:
+ description: "rust repack with android-cross support"
+ treeherder:
+ symbol: TL(rust-android)
+ run:
+ arguments: [
+ '--channel', '1.66.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-toolchain
+
+linux64-rust-windows-1.61:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win-1.61)
+ run:
+ arguments: [
+ '--channel', '1.61.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-toolchain
+
+linux64-rust-windows-1.66:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win)
+ run:
+ arguments: [
+ '--channel', '1.66.0',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-pc-windows-msvc',
+ '--target', 'i686-pc-windows-msvc',
+ '--target', 'aarch64-pc-windows-msvc',
+ ]
+ toolchain-alias: linux64-rust-windows
+
+win64-rust-1.66:
+ treeherder:
+ symbol: TW64(rust)
+ run:
+ arguments: [
+ '--channel', '1.66.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.66:
+ treeherder:
+ symbol: TM(rust)
+ run:
+ arguments: [
+ '--channel', '1.66.0',
+ '--host', 'x86_64-apple-darwin',
+ '--target', 'x86_64-apple-darwin',
+ ]
+ toolchain-alias: macosx64-rust
+
+mingw32-rust-1.66:
+ treeherder:
+ symbol: TMW(rust)
+ run:
+ arguments: [
+ '--channel', '1.66.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..2a860584fa
--- /dev/null
+++ b/taskcluster/ci/toolchain/sccache.yml
@@ -0,0 +1,88 @@
+# 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)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ using: toolchain-script
+ script: build-rust-based-toolchain.sh
+ toolchain-artifact: public/build/sccache.tar.zst
+ fetches:
+ fetch:
+ - sccache
+
+linux64-sccache:
+ treeherder:
+ symbol: TL(sccache)
+ run:
+ arguments:
+ - x86_64-unknown-linux-gnu
+ - all
+ - dist-server
+ - openssl/vendored
+ - native-zlib
+ fetches:
+ toolchain:
+ - linux64-rust-toolchain
+ - linux64-clang-toolchain
+ - sysroot-x86_64-linux-gnu
+
+macosx64-sccache:
+ treeherder:
+ symbol: TM(sccache)
+ run:
+ arguments:
+ - x86_64-apple-darwin
+ - all
+ - native-zlib
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+macosx64-aarch64-sccache:
+ treeherder:
+ symbol: TM(sccache-aarch64)
+ worker:
+ max-run-time: 1800
+ run:
+ arguments:
+ - aarch64-apple-darwin
+ - all
+ - native-zlib
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - linux64-cctools-port
+ - macosx64-sdk
+
+win64-sccache:
+ treeherder:
+ symbol: TW64(sccache)
+ worker:
+ env:
+ # Blake3 assembly can't be cross-compiled. The intrinsics version should be good enough.
+ CARGO_FEATURE_PREFER_INTRINSICS: '1'
+ run:
+ arguments:
+ - x86_64-pc-windows-msvc
+ - dist-client
+ - s3
+ - gcs
+ - native-zlib
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - win64-vs2017
diff --git a/taskcluster/ci/toolchain/sysroot.yml b/taskcluster/ci/toolchain/sysroot.yml
new file mode 100644
index 0000000000..31e92835b1
--- /dev/null
+++ b/taskcluster/ci/toolchain/sysroot.yml
@@ -0,0 +1,160 @@
+# 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-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ using: toolchain-script
+ script: build-sysroot.sh
+ toolchain-artifact: public/build/sysroot.tar.zst
+
+sysroot-i686-linux-gnu:
+ description: "Sysroot for linux32 builds"
+ attributes:
+ local-toolchain: true
+ worker:
+ env:
+ PACKAGES_TASKS: {task-reference: '<gcc-7>'}
+ treeherder:
+ symbol: TL(sysroot32)
+ dependencies:
+ gcc-7: packages-deb8-32-gcc-7
+ run:
+ toolchain-artifact: public/build/sysroot-i686-linux-gnu.tar.zst
+ arguments:
+ - i386
+
+sysroot-x86_64-linux-gnu:
+ description: "Sysroot for linux64 builds"
+ attributes:
+ local-toolchain: true
+ worker:
+ env:
+ PACKAGES_TASKS: {task-reference: '<gcc-7>'}
+ treeherder:
+ symbol: TL(sysroot64)
+ dependencies:
+ gcc-7: packages-deb8-gcc-7
+ run:
+ toolchain-artifact: public/build/sysroot-x86_64-linux-gnu.tar.zst
+ arguments:
+ - amd64
+
+sysroot-x86_64-linux-gnu-x11:
+ description: "Sysroot for linux64 builds (X11-only)"
+ attributes:
+ local-toolchain: true
+ worker:
+ env:
+ PACKAGES_TASKS: {task-reference: '<gcc-7> <gtk3>'}
+ treeherder:
+ symbol: TL(sysroot64-x11)
+ dependencies:
+ gcc-7: packages-deb8-gcc-7
+ gtk3: packages-deb8-gtk3
+ run:
+ toolchain-artifact: public/build/sysroot-x86_64-linux-gnu.tar.zst
+ arguments:
+ - amd64
+
+sysroot-wasm32-wasi-clang-15:
+ description: "Sysroot for wasi"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(sysroot-wasi-15)
+ run:
+ script: build-sysroot-wasi.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: sysroot-wasm32-wasi
+ toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-15
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-15-stage1
+ - wasm32-wasi-compiler-rt-15
+
+sysroot-wasm32-wasi-clang-trunk:
+ description: "Sysroot for wasi"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(sysroot-wasi-trunk)
+ run:
+ script: build-sysroot-wasi.sh
+ toolchain-alias:
+ by-project:
+ toolchains: sysroot-wasm32-wasi
+ default: null
+ toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - wasm32-wasi-compiler-rt-trunk
+
+sysroot-aarch64-linux-gnu:
+ description: "Sysroot for linux64 aarch64 builds"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(sysroot-aarch64)
+ run:
+ toolchain-artifact: public/build/sysroot-aarch64-linux-gnu.tar.zst
+ arguments:
+ - arm64
+
+linux32-toolchain-sysroot:
+ description: "Sysroot for linux32 toolchain builds"
+ worker:
+ env:
+ PACKAGES_TASKS: {task-reference: '<gcc-7>'}
+ treeherder:
+ symbol: TL(sysroot32-toolchain)
+ dependencies:
+ gcc-7: packages-deb8-32-gcc-7
+ run:
+ arguments:
+ - i386
+ # For clang
+ - binutils-dev
+ - libxml2-dev
+ # For minidump-stackwalk
+ - libcurl4-openssl-dev
+ - libssl-dev
+ - libbz2-dev
+ # For msix-package
+ - libicu-dev
+
+linux64-toolchain-sysroot:
+ description: "Sysroot for linux64 toolchain builds"
+ worker:
+ env:
+ PACKAGES_TASKS: {task-reference: '<gcc-7>'}
+ treeherder:
+ symbol: TL(sysroot64-toolchain)
+ dependencies:
+ gcc-7: packages-deb8-gcc-7
+ run:
+ arguments:
+ - amd64
+ # For clang
+ - binutils-dev
+ - gcc-multilib
+ - lib32stdc++-7-dev
+ - libxml2-dev
+ # For minidump-stackwalk
+ - libcurl4-openssl-dev
+ - libssl-dev
+ - libbz2-dev
+ # For msix-package
+ - libicu-dev
diff --git a/taskcluster/ci/updatebot/kind.yml b/taskcluster/ci/updatebot/kind.yml
new file mode 100644
index 0000000000..1cbdbaaa77
--- /dev/null
+++ b/taskcluster/ci/updatebot/kind.yml
@@ -0,0 +1,92 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ cron:
+ description: Cron Job for Updatebot
+ run-on-projects: []
+ treeherder:
+ kind: other
+ platform: updatebot/all
+ symbol: cron
+ tier: 1
+ worker-type: b-linux-gcp
+ 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 /builds/worker/checkouts/gecko /builds/worker/updatebot
+ notifications:
+ subject: 'updatebot cron failed'
+ message: 'updatebot cron failed'
+ status-types:
+ - on-failed
+ - on-exception
+ emails: ["tom@mozilla.com", "jewilde@mozilla.com"]
+ fetches:
+ toolchain:
+ - linux64-rust
+ - linux64-cargo-vet
+
+ cron-win:
+ description: Cron Job for Updatebot (Windows)
+ run-on-projects: []
+ treeherder:
+ kind: other
+ platform: updatebot/all
+ symbol: w-cron
+ tier: 1
+ worker-type: b-win2012
+ worker:
+ max-run-time: 3600
+ taskcluster-proxy: true
+ # begin _GENERATE_DEPOT_TOOLS_BINARIES_
+ # artifacts:
+ # - type: directory
+ # name: public/depot_tools.zip
+ # path: build\src\obj-build\depot_tools
+ # end _GENERATE_DEPOT_TOOLS_BINARIES_
+ env:
+ TOOLTOOL_MANIFEST: "taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest"
+ MSYSTEM: "MINGW64"
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: ./taskcluster/docker/updatebot/windows-setup.sh
+ tooltool-downloads: internal
+ 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/*
+ fetches:
+ fetch:
+ - cloud-sql-proxy-1.25.0
+ - php-windows-7.4.24
+ - arcanist
+ - depot_tools
diff --git a/taskcluster/ci/updatebot/moz.build b/taskcluster/ci/updatebot/moz.build
new file mode 100644
index 0000000000..315dc32600
--- /dev/null
+++ b/taskcluster/ci/updatebot/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Developer Infrastructure", "Mach Vendor & Updatebot")
diff --git a/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest b/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest
new file mode 100644
index 0000000000..f284d80914
--- /dev/null
+++ b/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest
@@ -0,0 +1,29 @@
+[
+ {
+ "version": "vcruntime140.dll from Microsoft Visual C++ Redistributable for Visual Studio 2019 ver 14.29.30133.0",
+ "size": 97160,
+ "visibility": "internal",
+ "digest": "aa6afd6bea27f554e3646152d8c4f96f7bcaaa4933f8b7c04346e410f93f23cfa6d29362fd5d51ccbb8b6223e094cd89e351f072ad0517553703f5bf9de28778",
+ "algorithm": "sha512",
+ "filename": "vcruntime140.dll",
+ "unpack": false
+ },
+ {
+ "version": "Visual Studio Community 2019, Windows SDK 10.0.19041.0, and a few system dlls Lobotmized for Angle Update",
+ "filename": "vs-sdk-and-windir-shim.zip",
+ "size": 463564917,
+ "algorithm": "sha512",
+ "digest": "20d93b0014ca44a666ca2b5cc570127f24378454889ff0a036df72213cd18140185d2c2e61df40bf1e4c0d9d2dc83a7796af9d2a13252de3c85faad068291945",
+ "visibility": "internal",
+ "unpack": true
+ },
+ {
+ "version": "Windows binaries for depot_tools retrieved with depot_tools revision 7b3351443198f4e7d068999b169385b55a43679a on 2021-12-18",
+ "filename": "depot_tools-preloaded-binaries-7b3351443198f4e7d068999b169385b55a43679a-2021-12-18.zip",
+ "size": 315038144,
+ "algorithm": "sha512",
+ "digest": "250f3f3fcf631c53de1f505c53eb5ba782864fa92111eef0d710a1e7d0ad3da66db2fb8908d7c6d83e149674e976984d679f9a641eb9bea0b5c3d7b4f236920d",
+ "visibility": "internal",
+ "unpack": true
+ }
+]
diff --git a/taskcluster/ci/upload-generated-sources-dummy/kind.yml b/taskcluster/ci/upload-generated-sources-dummy/kind.yml
new file mode 100644
index 0000000000..167d478f90
--- /dev/null
+++ b/taskcluster/ci/upload-generated-sources-dummy/kind.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/.
+---
+loader: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.mac_dummy:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+only-for-build-platforms:
+ macosx64-shippable/opt
+ macosx64-devedition/opt
+
+kind-dependencies:
+ - build
+ - upload-generated-sources
+
+job-template:
+ description: Dummy task to pull in mac x64 and aarch64 upload-generated-symbols tasks
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/upload-generated-sources/kind.yml b/taskcluster/ci/upload-generated-sources/kind.yml
new file mode 100644
index 0000000000..9188588c7a
--- /dev/null
+++ b/taskcluster/ci/upload-generated-sources/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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.upload_generated_sources:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - nightly
+ - shippable
+ - upload-generated-sources
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+
+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 --virtualenv upload-generated-sources 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-dummy/kind.yml b/taskcluster/ci/upload-symbols-dummy/kind.yml
new file mode 100644
index 0000000000..3fc3f7c0ad
--- /dev/null
+++ b/taskcluster/ci/upload-symbols-dummy/kind.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/.
+---
+loader: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.mac_dummy:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+only-for-build-platforms:
+ macosx64-shippable/opt
+ macosx64-devedition/opt
+
+kind-dependencies:
+ - build
+ - upload-symbols
+
+job-template:
+ description: Dummy task to pull in mac x64 and aarch64 upload-symbols tasks
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/ci/upload-symbols/kind.yml
new file mode 100644
index 0000000000..1b912247f4
--- /dev/null
+++ b/taskcluster/ci/upload-symbols/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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - gecko_taskgraph.transforms.upload_symbols:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_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
+ - linux64-aarch64-geckodriver/opt
+ - macosx64-geckodriver/opt
+ - macosx64-aarch64-geckodriver/opt
+ - win32-geckodriver/opt
+ - win64-geckodriver/opt
+ - win64-aarch64-geckodriver/opt
+
+job-template:
+ description: Upload Symbols
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: "debian11-base"}
+ max-run-time: 1800
+ 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
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ using: mach
+ mach: {artifact-reference: "python toolkit/crashreporter/tools/upload_symbols.py <build/public/cidata/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..37e255ed9e
--- /dev/null
+++ b/taskcluster/ci/valgrind/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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+
+jobs:
+ linux64-valgrind-qr/opt-swr:
+ description: "Linux64 Valgrind Opt WebRender"
+ index:
+ product: firefox
+ job-name: linux64-valgrind-qr/opt-swr
+ treeherder:
+ platform: linux64-qr/opt
+ symbol: V-swr
+ kind: build
+ tier: 1
+ worker-type: t-linux-kvm
+ worker:
+ docker-image: {in-tree: valgrind-build}
+ max-run-time: 72000
+ env:
+ NEED_XVFB: "true"
+ 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
+ extra-config:
+ extra_prefs: [gfx.webrender.software=true]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/webrender/kind.yml b/taskcluster/ci/webrender/kind.yml
new file mode 100644
index 0000000000..2c1f1c5e5a
--- /dev/null
+++ b/taskcluster/ci/webrender/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ run-on-projects: ['integration', 'release']
+ 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-gcp
+ 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-gcp
+ 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-gcp
+ 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-gcp
+ worker:
+ docker-image: {in-tree: webrender}
+ 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-14: toolchain-macosx64-clang-14-raw
+ fetches:
+ toolchain:
+ - linux64-rust-macos
+ - linux64-cctools-port
+ - linux64-clang-14
+ - macosx64-sdk
+ - wrench-deps
+ macosx64-clang-14:
+ - artifact: clang.tar.zst
+ dest: clang-mac
+ run:
+ using: run-task
+ 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/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-1015-r8
+ 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: macosx1015-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-gcp
+ worker:
+ docker-image: {in-tree: webrender}
+ 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
+ - macosx64-sdk
+ - wrench-deps
+ run:
+ using: run-task
+ 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/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-1015-r8
+ 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: macosx1015-64-qr/debug
+ symbol: WR(cargotest)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+
+ windows:
+ description: Runs WebRender CI tests on a Windows worker
+ worker-type: win10-64-2004-ssd
+ worker:
+ max-run-time: 5400
+ env:
+ NODE_OPTIONS: '--max_old_space_size=4096'
+ fetches:
+ toolchain:
+ - win64-rust
+ - win64-vs2017
+ - wrench-deps
+ run:
+ using: run-task
+ use-caches: false
+ command: '$GECKO_PATH/taskcluster/scripts/misc/wrench-windows-tests.sh'
+ treeherder:
+ platform: windows10-64-2004-qr/release
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'build/win64/mozconfig.vs2017'
+ - 'gfx/wr/**'
+ - 'taskcluster/scripts/misc/wrench-windows-tests.sh'
+
+ wrench-android-debug:
+ description: Debug build of wrench for Android
+ attributes:
+ build_platform: android
+ worker-type: b-linux-gcp
+ 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/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
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - linux64-jdk
+ - 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
+ attributes:
+ build_platform: android
+ worker-type: b-linux-gcp
+ 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/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
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - linux64-jdk
+ - 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
+ attributes:
+ build_platform: android
+ worker-type: t-linux-kvm # 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
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - linux64-jdk
+ 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
+ attributes:
+ build_platform: android
+ worker-type: t-linux-kvm # 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
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - linux64-jdk
+ 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
+ attributes:
+ build_platform: android
+ 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-arm/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 &&
+ python3 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-p2-8-0-arm7/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
+ attributes:
+ build_platform: android
+ 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-arm/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 &&
+ python3 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-p2-8-0-arm7/opt
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+ - 'testing/mozbase/mozdevice/**'
+
+ android-hw-a51-debug:
+ description: Run debug wrench reftests on Android Samsung Galaxy A51
+ attributes:
+ build_platform: android
+ worker-type: t-bitbar-gw-perf-a51
+ 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-arm/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 &&
+ python3 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-a51-11-0-arm7/debug
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+ - 'testing/mozbase/mozdevice/**'
+
+ android-hw-a51-opt:
+ description: Run opt wrench reftests on Android Samsung Galaxy A51
+ attributes:
+ build_platform: android
+ worker-type: t-bitbar-gw-perf-a51
+ 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-arm/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 &&
+ python3 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-a51-11-0-arm7/opt
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'gfx/wr/**'
+ - 'testing/mozharness/scripts/android_*.py'
+ - 'testing/mozharness/configs/android/*.py'
+ - 'testing/mozbase/mozdevice/**'