summaryrefslogtreecommitdiffstats
path: root/taskcluster/ci
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/ci')
-rw-r--r--taskcluster/ci/addon/kind.yml44
-rw-r--r--taskcluster/ci/are-we-esmified-yet/kind.yml42
-rw-r--r--taskcluster/ci/artifact-build/kind.yml105
-rw-r--r--taskcluster/ci/attribution-l10n/kind.yml187
-rw-r--r--taskcluster/ci/attribution/kind.yml176
-rw-r--r--taskcluster/ci/balrog/kind.yml35
-rw-r--r--taskcluster/ci/beetmover-apt/kind.yml29
-rw-r--r--taskcluster/ci/beetmover-checksums/kind.yml30
-rw-r--r--taskcluster/ci/beetmover-geckoview/kind.yml68
-rw-r--r--taskcluster/ci/beetmover-repackage/kind.yml65
-rw-r--r--taskcluster/ci/beetmover-source/kind.yml23
-rw-r--r--taskcluster/ci/bootstrap/kind.yml103
-rw-r--r--taskcluster/ci/bouncer-locations/kind.yml52
-rw-r--r--taskcluster/ci/build-fat-aar/kind.yml200
-rw-r--r--taskcluster/ci/build-mac-notarization/kind.yml34
-rw-r--r--taskcluster/ci/build-mac-signing/kind.yml34
-rw-r--r--taskcluster/ci/build-signing/kind.yml34
-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.yml644
-rw-r--r--taskcluster/ci/build/kind.yml91
-rw-r--r--taskcluster/ci/build/linux-base-toolchains.yml173
-rw-r--r--taskcluster/ci/build/linux.yml1799
-rw-r--r--taskcluster/ci/build/macosx-native.yml145
-rw-r--r--taskcluster/ci/build/macosx.yml943
-rw-r--r--taskcluster/ci/build/windows-mingw.yml173
-rw-r--r--taskcluster/ci/build/windows.yml1583
-rw-r--r--taskcluster/ci/code-review/kind.yml45
-rw-r--r--taskcluster/ci/condprof/kind.yml136
-rw-r--r--taskcluster/ci/config.yml879
-rw-r--r--taskcluster/ci/cron-bouncer-check/kind.yml82
-rw-r--r--taskcluster/ci/diffoscope/artifacts.yml52
-rw-r--r--taskcluster/ci/diffoscope/kind.yml61
-rw-r--r--taskcluster/ci/diffoscope/reproducible.yml29
-rw-r--r--taskcluster/ci/docker-image/kind.yml247
-rw-r--r--taskcluster/ci/fetch/benchmarks.yml19
-rw-r--r--taskcluster/ci/fetch/browsertime.yml180
-rw-r--r--taskcluster/ci/fetch/chromium-fetch.yml38
-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.yml714
-rw-r--r--taskcluster/ci/fetch/updatebot.yml33
-rw-r--r--taskcluster/ci/fuzzing/kind.yml69
-rw-r--r--taskcluster/ci/fxrecord/kind.yml46
-rw-r--r--taskcluster/ci/geckodriver-mac-notarization/kind.yml37
-rw-r--r--taskcluster/ci/geckodriver-signing/kind.yml20
-rw-r--r--taskcluster/ci/generate-profile/kind.yml324
-rw-r--r--taskcluster/ci/github-sync/kind.yml53
-rw-r--r--taskcluster/ci/hazard/kind.yml83
-rw-r--r--taskcluster/ci/instrumented-build/kind.yml409
-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.yml34
-rw-r--r--taskcluster/ci/mar-signing-l10n/kind.yml39
-rw-r--r--taskcluster/ci/mar-signing/kind.yml40
-rw-r--r--taskcluster/ci/maybe-release/kind.yml45
-rw-r--r--taskcluster/ci/merge-automation/kind.yml72
-rw-r--r--taskcluster/ci/openh264-plugin/kind.yml226
-rw-r--r--taskcluster/ci/openh264-signing/kind.yml19
-rw-r--r--taskcluster/ci/packages/debian.yml126
-rw-r--r--taskcluster/ci/packages/kind.yml25
-rw-r--r--taskcluster/ci/packages/ubuntu.yml156
-rw-r--r--taskcluster/ci/partials-signing/kind.yml24
-rw-r--r--taskcluster/ci/partials/kind.yml39
-rw-r--r--taskcluster/ci/perftest/android.yml338
-rw-r--r--taskcluster/ci/perftest/kind.yml48
-rw-r--r--taskcluster/ci/perftest/linux.yml384
-rw-r--r--taskcluster/ci/perftest/macosx.yml287
-rw-r--r--taskcluster/ci/perftest/windows.yml235
-rw-r--r--taskcluster/ci/post-balrog-dummy/kind.yml22
-rw-r--r--taskcluster/ci/post-beetmover-checksums-dummy/kind.yml31
-rw-r--r--taskcluster/ci/post-beetmover-dummy/kind.yml23
-rw-r--r--taskcluster/ci/post-langpack-dummy/kind.yml29
-rw-r--r--taskcluster/ci/post-update-verify-dummy/kind.yml22
-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.yml33
-rw-r--r--taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml23
-rw-r--r--taskcluster/ci/release-beetmover-signed-langpacks/kind.yml40
-rw-r--r--taskcluster/ci/release-beetmover-source-checksums/kind.yml23
-rw-r--r--taskcluster/ci/release-bouncer-aliases/kind.yml95
-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.yml24
-rw-r--r--taskcluster/ci/release-eme-free-repack-beetmover/kind.yml26
-rw-r--r--taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml29
-rw-r--r--taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml28
-rw-r--r--taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml24
-rw-r--r--taskcluster/ci/release-eme-free-repack-repackage/kind.yml60
-rw-r--r--taskcluster/ci/release-eme-free-repack/kind.yml81
-rw-r--r--taskcluster/ci/release-final-verify/kind.yml47
-rw-r--r--taskcluster/ci/release-flatpak-push/kind.yml42
-rw-r--r--taskcluster/ci/release-flatpak-repackage/kind.yml66
-rw-r--r--taskcluster/ci/release-generate-checksums-beetmover/kind.yml21
-rw-r--r--taskcluster/ci/release-generate-checksums-signing/kind.yml18
-rw-r--r--taskcluster/ci/release-generate-checksums/kind.yml86
-rw-r--r--taskcluster/ci/release-mark-as-shipped/kind.yml40
-rw-r--r--taskcluster/ci/release-msix-push/kind.yml45
-rw-r--r--taskcluster/ci/release-notify-av-announce/kind.yml40
-rw-r--r--taskcluster/ci/release-notify-promote/kind.yml36
-rw-r--r--taskcluster/ci/release-notify-push/kind.yml34
-rw-r--r--taskcluster/ci/release-notify-ship/kind.yml41
-rw-r--r--taskcluster/ci/release-notify-started/kind.yml32
-rw-r--r--taskcluster/ci/release-partner-attribution-beetmover/kind.yml22
-rw-r--r--taskcluster/ci/release-partner-attribution/kind.yml40
-rw-r--r--taskcluster/ci/release-partner-repack-beetmover/kind.yml30
-rw-r--r--taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml41
-rw-r--r--taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml30
-rw-r--r--taskcluster/ci/release-partner-repack-mac-notarization/kind.yml29
-rw-r--r--taskcluster/ci/release-partner-repack-mac-signing/kind.yml29
-rw-r--r--taskcluster/ci/release-partner-repack-repackage-signing/kind.yml29
-rw-r--r--taskcluster/ci/release-partner-repack-repackage/kind.yml61
-rw-r--r--taskcluster/ci/release-partner-repack/kind.yml87
-rw-r--r--taskcluster/ci/release-push-langpacks/kind.yml52
-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.yml38
-rw-r--r--taskcluster/ci/release-secondary-notify-ship/kind.yml34
-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.yml20
-rw-r--r--taskcluster/ci/release-source-signing/kind.yml21
-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-l10n/kind.yml43
-rw-r--r--taskcluster/ci/repackage-deb/kind.yml53
-rw-r--r--taskcluster/ci/repackage-l10n/kind.yml86
-rw-r--r--taskcluster/ci/repackage-msi/kind.yml49
-rw-r--r--taskcluster/ci/repackage-msix/kind.yml107
-rw-r--r--taskcluster/ci/repackage-shippable-l10n-msix/kind.yml109
-rw-r--r--taskcluster/ci/repackage-signing-l10n/kind.yml31
-rw-r--r--taskcluster/ci/repackage-signing-msi/kind.yml27
-rw-r--r--taskcluster/ci/repackage-signing-msix/kind.yml19
-rw-r--r--taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml18
-rw-r--r--taskcluster/ci/repackage-signing/kind.yml29
-rw-r--r--taskcluster/ci/repackage/kind.yml99
-rw-r--r--taskcluster/ci/repo-update/kind.yml77
-rw-r--r--taskcluster/ci/scriptworker-canary/kind.yml33
-rw-r--r--taskcluster/ci/searchfox/kind.yml183
-rw-r--r--taskcluster/ci/sentry/kind.yml34
-rw-r--r--taskcluster/ci/shippable-l10n-mac-notarization/kind.yml29
-rw-r--r--taskcluster/ci/shippable-l10n-mac-signing/kind.yml31
-rw-r--r--taskcluster/ci/shippable-l10n-signing/kind.yml31
-rw-r--r--taskcluster/ci/shippable-l10n/kind.yml199
-rw-r--r--taskcluster/ci/snap-upstream-build/kind.yml218
-rw-r--r--taskcluster/ci/snap-upstream-test/kind.yml73
-rw-r--r--taskcluster/ci/source-test/clang.yml117
-rw-r--r--taskcluster/ci/source-test/cram.yml21
-rw-r--r--taskcluster/ci/source-test/doc.yml75
-rw-r--r--taskcluster/ci/source-test/file-metadata.yml126
-rw-r--r--taskcluster/ci/source-test/jsshell.yml87
-rw-r--r--taskcluster/ci/source-test/kind.yml45
-rw-r--r--taskcluster/ci/source-test/mozlint-android.yml106
-rw-r--r--taskcluster/ci/source-test/mozlint.yml609
-rw-r--r--taskcluster/ci/source-test/node.yml186
-rw-r--r--taskcluster/ci/source-test/puppeteer.yml52
-rw-r--r--taskcluster/ci/source-test/python.yml636
-rw-r--r--taskcluster/ci/source-test/shadow-scheduler.yml178
-rw-r--r--taskcluster/ci/source-test/taskgraph.yml37
-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.yml606
-rw-r--r--taskcluster/ci/spidermonkey/windows.yml124
-rw-r--r--taskcluster/ci/startup-test/kind.yml129
-rw-r--r--taskcluster/ci/static-analysis-autotest/kind.yml101
-rw-r--r--taskcluster/ci/system-symbols-reprocess/kind.yml46
-rw-r--r--taskcluster/ci/system-symbols-upload/kind.yml34
-rw-r--r--taskcluster/ci/system-symbols/kind.yml320
-rw-r--r--taskcluster/ci/test/awsy.yml75
-rw-r--r--taskcluster/ci/test/browsertime-desktop.yml918
-rw-r--r--taskcluster/ci/test/browsertime-mobile.yml456
-rw-r--r--taskcluster/ci/test/compiled.yml135
-rw-r--r--taskcluster/ci/test/firefox-ui.yml27
-rw-r--r--taskcluster/ci/test/kind.yml88
-rw-r--r--taskcluster/ci/test/marionette.yml54
-rw-r--r--taskcluster/ci/test/misc.yml269
-rw-r--r--taskcluster/ci/test/mochitest.yml1171
-rw-r--r--taskcluster/ci/test/reftest.yml248
-rw-r--r--taskcluster/ci/test/talos.yml777
-rw-r--r--taskcluster/ci/test/test-platforms.yml505
-rw-r--r--taskcluster/ci/test/test-sets.yml499
-rw-r--r--taskcluster/ci/test/variants.yml324
-rw-r--r--taskcluster/ci/test/web-platform.yml598
-rw-r--r--taskcluster/ci/test/xpcshell.yml177
-rw-r--r--taskcluster/ci/toolchain/android.yml244
-rw-r--r--taskcluster/ci/toolchain/cargo-vet.yml61
-rw-r--r--taskcluster/ci/toolchain/cbindgen.yml65
-rw-r--r--taskcluster/ci/toolchain/clang-tidy.yml127
-rw-r--r--taskcluster/ci/toolchain/clang.yml1278
-rw-r--r--taskcluster/ci/toolchain/compiler-rt.yml705
-rw-r--r--taskcluster/ci/toolchain/dist-toolchains.yml40
-rw-r--r--taskcluster/ci/toolchain/dump-syms.yml62
-rw-r--r--taskcluster/ci/toolchain/fix-stacks.yml72
-rw-r--r--taskcluster/ci/toolchain/gcc.yml79
-rw-r--r--taskcluster/ci/toolchain/geckodriver.yml137
-rw-r--r--taskcluster/ci/toolchain/gn.yml49
-rw-r--r--taskcluster/ci/toolchain/grcov.yml48
-rw-r--r--taskcluster/ci/toolchain/kind.yml54
-rw-r--r--taskcluster/ci/toolchain/libunwind.yml247
-rw-r--r--taskcluster/ci/toolchain/llvm-symbolizer.yml331
-rw-r--r--taskcluster/ci/toolchain/macos-sdk.yml48
-rw-r--r--taskcluster/ci/toolchain/mingw.yml42
-rw-r--r--taskcluster/ci/toolchain/minidump-stackwalk.yml96
-rw-r--r--taskcluster/ci/toolchain/misc.yml605
-rw-r--r--taskcluster/ci/toolchain/nasm.yml87
-rw-r--r--taskcluster/ci/toolchain/node.yml114
-rw-r--r--taskcluster/ci/toolchain/pkgconf.yml56
-rw-r--r--taskcluster/ci/toolchain/python.yml97
-rw-r--r--taskcluster/ci/toolchain/resourcemonitor.yml44
-rw-r--r--taskcluster/ci/toolchain/rust-size.yml38
-rw-r--r--taskcluster/ci/toolchain/rust.yml219
-rw-r--r--taskcluster/ci/toolchain/sccache.yml88
-rw-r--r--taskcluster/ci/toolchain/sysroot.yml206
-rw-r--r--taskcluster/ci/trigger-comm-central/kind.yml43
-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.yml26
-rw-r--r--taskcluster/ci/upload-generated-sources/kind.yml42
-rw-r--r--taskcluster/ci/upload-symbols-dummy/kind.yml27
-rw-r--r--taskcluster/ci/upload-symbols/kind.yml53
-rw-r--r--taskcluster/ci/valgrind/kind.yml65
-rw-r--r--taskcluster/ci/webrender/kind.yml634
237 files changed, 34321 insertions, 0 deletions
diff --git a/taskcluster/ci/addon/kind.yml b/taskcluster/ci/addon/kind.yml
new file mode 100644
index 0000000000..84d616581b
--- /dev/null
+++ b/taskcluster/ci/addon/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ # non-system python
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ use-system-python: false
+
+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: debian12-base}
+ 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..aa15674935
--- /dev/null
+++ b/taskcluster/ci/artifact-build/kind.yml
@@ -0,0 +1,105 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - 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
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ 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
+ USE_ARTIFACT: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ keep-artifacts: false
+ use-system-python: false
+
+jobs:
+ linux64-artifact/opt:
+ description: "Linux64 Opt Artifact Build"
+ index:
+ job-name: linux64-artifact-opt
+ treeherder:
+ platform: linux64/opt
+ worker:
+ env:
+ MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'}
+ run:
+ config:
+ - builds/releng_base_linux_64_builds.py
+ dependencies:
+ linux64-opt: build-linux64/opt
+ fetches:
+ toolchain:
+ - linux64-node
+
+ macosx64-artifact/opt:
+ description: "MacOS X x64 Opt Artifact Build"
+ index:
+ job-name: macosx64-artifact-opt
+ treeherder:
+ platform: osx-cross/opt
+ worker:
+ env:
+ MOZ_ARTIFACT_TASK: {task-reference: '<macosx64-opt>'}
+ run:
+ config:
+ - builds/releng_base_mac_64_cross_builds.py
+ dependencies:
+ macosx64-opt: build-macosx64/opt
+ fetches:
+ toolchain:
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-node
+
+ win64-artifact/opt:
+ description: "Win64 Opt Artifact Build"
+ index:
+ job-name: win64-artifact-opt
+ treeherder:
+ platform: windows2012-64/opt
+ worker:
+ env:
+ MOZ_ARTIFACT_TASK: {task-reference: '<win64-opt>'}
+ run:
+ config:
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ mozconfig_platform: win64
+ dependencies:
+ win64-opt: build-win64/opt
+ fetches:
+ toolchain:
+ - linux64-node
+ - linux64-wine
+ - nsis
+ fetch:
+ - upx-3.95-win
diff --git a/taskcluster/ci/attribution-l10n/kind.yml b/taskcluster/ci/attribution-l10n/kind.yml
new file mode 100644
index 0000000000..7042411fa2
--- /dev/null
+++ b/taskcluster/ci/attribution-l10n/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
+
+transforms:
+ - gecko_taskgraph.transforms.attribution:resolve_keyed_by_transforms
+ - gecko_taskgraph.transforms.split_by_locale:transforms
+ - taskgraph.transforms.task_context
+ - gecko_taskgraph.transforms.attribution:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ # Windows
+ - repackage-signing-l10n
+ # Mac
+ - repackage-l10n
+
+job-defaults:
+ description: Attribute release builds
+ shipping-phase: promote
+ # never run as part of CI
+ run-on-projects: []
+ worker-type: b-linux-gcp
+ locales-file: browser/locales/l10n-changesets.json
+ properties-with-locale:
+ by-build-platform:
+ win.*:
+ - label
+ - dependencies.repackage-signing-l10n
+ - treeherder.symbol
+ - fetches.repackage-signing-l10n
+ mac.*:
+ - label
+ - dependencies.repackage-l10n
+ - treeherder.symbol
+ - fetches.repackage-l10n
+ attributes:
+ build_type: opt
+ release_artifacts:
+ by-build-platform:
+ win.*:
+ - public/build/target.installer.exe
+ mac.*:
+ - public/build/target.dmg
+ treeherder:
+ symbol: Attr-L10n({locale})
+ kind: other
+ tier: 1
+ fetches:
+ by-build-platform:
+ win.*:
+ repackage-signing-l10n:
+ - "{locale}/target.installer.exe"
+ mac.*:
+ repackage-l10n:
+ - "{locale}/target.dmg"
+ toolchain:
+ - "linux64-libdmg"
+ task-context:
+ from-file: browser/installer/attribution.yml
+ substitution-fields:
+ - run.command
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts
+ docker-image:
+ in-tree: "partner-repack"
+ chain-of-trust: true
+ # Each task only processes one installer...this should be quick.
+ max-run-time: 600
+ run:
+ using: run-task
+ cwd: "{checkout}"
+ command:
+ by-build-platform:
+ win.*:
+ - ./mach
+ - python
+ - python/mozrelease/mozrelease/attribute_builds.py
+ - --attribution
+ - dlsource={attribution_code[json][dlsource]}
+ - --output
+ - /builds/worker/artifacts
+ # All jobs require attribution of target.installer.exe. Some may require
+ # attribution of other files, which they can append themselves.
+ - --input
+ - /builds/worker/fetches/target.installer.exe
+ mac.*:
+ - mkdir -p /builds/worker/artifacts &&
+ - /builds/worker/fetches/dmg/dmg
+ - attribute
+ - /builds/worker/fetches/target.dmg
+ - /builds/worker/artifacts/target.dmg
+ - __MOZCUSTOM__
+ - __MOZCUSTOM__dlsource%3D{attribution_code[json][dlsource]}
+ use-system-python: false
+
+jobs:
+ win32-devedition/opt:
+ label: attribution-win32-{locale}-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: win32-devedition
+ treeherder:
+ platform: win32-devedition/opt
+ dependencies:
+ repackage-signing-l10n: repackage-signing-l10n-{locale}-win32-devedition/opt
+
+ win32-shippable/opt:
+ label: attribution-win32-{locale}-shippable/opt
+ shipping-product: firefox
+ locale-file-platform: win32
+ attributes:
+ build_platform: win32-shippable
+ treeherder:
+ platform: win32-shippable/opt
+ dependencies:
+ repackage-signing-l10n: repackage-signing-l10n-{locale}-win32-shippable/opt
+
+ win64-devedition/opt:
+ label: attribution-win64-{locale}-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: win64-devedition
+ treeherder:
+ platform: win64-devedition/opt
+ dependencies:
+ repackage-signing-l10n: repackage-signing-l10n-{locale}-win64-devedition/opt
+
+ win64-shippable/opt:
+ label: attribution-win64-{locale}-shippable/opt
+ shipping-product: firefox
+ locale-file-platform: win64
+ attributes:
+ build_platform: win64-shippable
+ treeherder:
+ platform: win64-shippable/opt
+ dependencies:
+ repackage-signing-l10n: repackage-signing-l10n-{locale}-win64-shippable/opt
+
+ win64-aarch64-shippable/opt:
+ label: attribution-win64-aarch64-{locale}-shippable/opt
+ shipping-product: firefox
+ locale-file-platform: win64-aarch64
+ attributes:
+ build_platform: win64-aarch64-shippable
+ treeherder:
+ platform: win64-aarch64-shippable/opt
+ dependencies:
+ repackage-signing-l10n: repackage-signing-l10n-{locale}-win64-aarch64-shippable/opt
+
+ win64-aarch64-devedition/opt:
+ label: attribution-win64-aarch64-{locale}-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: win64-aarch64-devedition
+ treeherder:
+ platform: win64-aarch64-devedition/opt
+ dependencies:
+ repackage-signing-l10n: repackage-signing-l10n-{locale}-win64-aarch64-devedition/opt
+
+ macosx64-devedition/opt:
+ label: attribution-macosx64-{locale}-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: macosx64-devedition
+ treeherder:
+ platform: macosx64-devedition/opt
+ dependencies:
+ repackage-l10n: repackage-l10n-{locale}-macosx64-devedition/opt
+
+ macosx64-shippable/opt:
+ label: attribution-macosx64-{locale}-shippable/opt
+ locale-file-platform: macosx64
+ shipping-product: firefox
+ attributes:
+ build_platform: macosx64-shippable
+ treeherder:
+ platform: macosx64-shippable/opt
+ dependencies:
+ repackage-l10n: repackage-l10n-{locale}-macosx64-shippable/opt
diff --git a/taskcluster/ci/attribution/kind.yml b/taskcluster/ci/attribution/kind.yml
new file mode 100644
index 0000000000..6a13ee5096
--- /dev/null
+++ b/taskcluster/ci/attribution/kind.yml
@@ -0,0 +1,176 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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.attribution:resolve_keyed_by_transforms
+ - taskgraph.transforms.task_context
+ - gecko_taskgraph.transforms.attribution:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ # Windows
+ - repackage-signing
+ # Mac
+ - repackage
+
+job-defaults:
+ description: Attribute release builds
+ shipping-phase: promote
+ # never run as part of CI
+ run-on-projects: []
+ worker-type: b-linux-gcp
+ fetches:
+ by-build-platform:
+ win.*:
+ repackage-signing:
+ - target.installer.exe
+ mac.*:
+ repackage:
+ - target.dmg
+ toolchain:
+ - linux64-libdmg
+ attributes:
+ release_artifacts:
+ by-build-platform:
+ win.*:
+ - public/build/target.installer.exe
+ mac.*:
+ - public/build/target.dmg
+ treeherder:
+ symbol: Attr
+ kind: other
+ tier: 1
+ task-context:
+ from-file: browser/installer/attribution.yml
+ substitution-fields:
+ - run.command
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts
+ docker-image:
+ in-tree: "partner-repack"
+ chain-of-trust: true
+ # Each task only processes one installer...this should be quick.
+ max-run-time: 600
+ run:
+ using: run-task
+ cwd: "{checkout}"
+ command:
+ by-build-platform:
+ win.*:
+ - ./mach
+ - python
+ - python/mozrelease/mozrelease/attribute_builds.py
+ - --attribution
+ - dlsource={attribution_code[json][dlsource]}
+ - --output
+ - /builds/worker/artifacts
+ # All jobs require attribution of target.installer.exe. Some may require
+ # attribution of other files, which they can append themselves.
+ - --input
+ - /builds/worker/fetches/target.installer.exe
+ mac.*:
+ - mkdir -p /builds/worker/artifacts &&
+ - /builds/worker/fetches/dmg/dmg
+ - attribute
+ - /builds/worker/fetches/target.dmg
+ - /builds/worker/artifacts/target.dmg
+ - __MOZCUSTOM__
+ - __MOZCUSTOM__dlsource%3D{attribution_code[json][dlsource]}
+ use-system-python: false
+
+jobs:
+ win32-devedition/opt:
+ label: attribution-win32-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: win32-devedition
+ build_type: opt
+ treeherder:
+ platform: win32-devedition/opt
+ dependencies:
+ repackage-signing: repackage-signing-win32-devedition/opt
+
+ win32-shippable/opt:
+ label: attribution-win32-shippable/opt
+ shipping-product: firefox
+ attributes:
+ build_platform: win32-shippable
+ build_type: opt
+ treeherder:
+ platform: win32-shippable/opt
+ dependencies:
+ repackage-signing: repackage-signing-win32-shippable/opt
+
+ win64-devedition/opt:
+ label: attribution-win64-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: win64-devedition
+ build_type: opt
+ treeherder:
+ platform: win64-devedition/opt
+ dependencies:
+ repackage-signing: repackage-signing-win64-devedition/opt
+
+ win64-shippable/opt:
+ label: attribution-win64-shippable/opt
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-shippable
+ build_type: opt
+ treeherder:
+ platform: win64-shippable/opt
+ dependencies:
+ repackage-signing: repackage-signing-win64-shippable/opt
+
+ win64-aarch64-shippable/opt:
+ label: attribution-win64-aarch64-shippable/opt
+ shipping-product: firefox
+ attributes:
+ build_platform: win64-aarch64-shippable
+ build_type: opt
+ treeherder:
+ platform: win64-aarch64-shippable/opt
+ dependencies:
+ repackage-signing: repackage-signing-win64-aarch64-shippable/opt
+
+ win64-aarch64-devedition/opt:
+ label: attribution-win64-aarch64-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: win64-aarch64-devedition
+ build_type: opt
+ treeherder:
+ platform: win64-aarch64-devedition/opt
+ dependencies:
+ repackage-signing: repackage-signing-win64-aarch64-devedition/opt
+
+ macosx64-devedition/opt:
+ label: attribution-macosx64-devedition/opt
+ shipping-product: devedition
+ attributes:
+ build_platform: macosx64-devedition
+ build_type: opt
+ treeherder:
+ platform: macosx64-devedition/opt
+ dependencies:
+ repackage: repackage-macosx64-devedition/opt
+
+ macosx64-shippable/opt:
+ label: attribution-macosx64-shippable/opt
+ shipping-product: firefox
+ attributes:
+ build_platform: macosx64-shippable
+ build_type: opt
+ treeherder:
+ platform: macosx64-shippable/opt
+ dependencies:
+ repackage: repackage-macosx64-shippable/opt
diff --git a/taskcluster/ci/balrog/kind.yml b/taskcluster/ci/balrog/kind.yml
new file mode 100644
index 0000000000..324ef2c521
--- /dev/null
+++ b/taskcluster/ci/balrog/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.balrog_submit
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ balrog:
+ from-deps:
+ group-by: single-with-filters
+ update-no-wnp:
+ by-release-type:
+ nightly.*: false
+ default: true
diff --git a/taskcluster/ci/beetmover-apt/kind.yml b/taskcluster/ci/beetmover-apt/kind.yml
new file mode 100644
index 0000000000..9eb65f8858
--- /dev/null
+++ b/taskcluster/ci/beetmover-apt/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.beetmover_apt
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+
+jobs:
+ beetmover-apt:
+ from-deps:
+ group-by: single-with-filters
+ run-on-releases:
+ - nightly
+ - beta
+ - release
diff --git a/taskcluster/ci/beetmover-checksums/kind.yml b/taskcluster/ci/beetmover-checksums/kind.yml
new file mode 100644
index 0000000000..7ecf79ea58
--- /dev/null
+++ b/taskcluster/ci/beetmover-checksums/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_checksums
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+jobs:
+ beetmover-checksums:
+ from-deps:
+ group-by: single-with-filters
+ 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..109b42eb6a
--- /dev/null
+++ b/taskcluster/ci/beetmover-geckoview/kind.yml
@@ -0,0 +1,68 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_geckoview
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-signing
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+not-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-nightlyasrelease/opt
+ - macosx64-shippable/opt
+ - macosx64-nightlyasrelease/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - win64-nightlyasrelease/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
+
+jobs:
+ beetmover-geckoview:
+ from-deps:
+ group-by: single-with-filters
+ 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..8746bb5b44
--- /dev/null
+++ b/taskcluster/ci/beetmover-repackage/kind.yml
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_repackage_l10n
+ - gecko_taskgraph.transforms.beetmover_repackage
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ # Primary dependencies
+ - repackage
+ - repackage-l10n
+ # Other dependencies
+ - build
+ - build-signing
+ - build-mac-signing
+ - build-mac-notarization
+ - repackage-signing
+ - shippable-l10n
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+ - repackage-signing-l10n
+ - partials
+ - partials-signing
+ - repackage-signing-msi
+ - repackage-signing-shippable-l10n-msix
+ - mar-signing
+ - mar-signing-l10n
+ - attribution
+ - attribution-l10n
+ - repackage-deb
+ - repackage-deb-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
+
+jobs:
+ beetmover-repackage:
+ from-deps:
+ group-by: single-locale
+ 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..cd86d812b5
--- /dev/null
+++ b/taskcluster/ci/beetmover-source/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover
+ - gecko_taskgraph.transforms.beetmover_source
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-source-signing
+
+jobs:
+ beetmover-source:
+ from-deps:
+ group-by: single-with-filters
+ 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..0ce8f8f68a
--- /dev/null
+++ b/taskcluster/ci/bootstrap/kind.yml
@@ -0,0 +1,103 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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:
+ 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
+ debian13:
+ image: debian:trixie
+ 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
+ ubuntu2304:
+ image: ubuntu:lunar
+ pre-commands:
+ - apt-get update
+ - apt-get install -y --no-install-recommends curl mercurial python3-pip
+ ubuntu2310:
+ image: ubuntu:mantic
+ pre-commands:
+ - apt-get update
+ # For some reason, this is required, now.
+ - export DEBIAN_FRONTEND=noninteractive
+ - 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
+ fedora38:
+ image: fedora:38
+ pre-commands:
+ - dnf install -y mercurial python3-pip
+ fedora39:
+ image: fedora:39
+ pre-commands:
+ - dnf install -y mercurial python3-pip
+ rockylinux8:
+ image: rockylinux:8
+ pre-commands:
+ - dnf install -y mercurial python38-pip
+ rockylinux9:
+ image: rockylinux:9
+ pre-commands:
+ # Mercurial is in EPEL. https://wiki.rockylinux.org/rocky/repo/#notes-on-epel
+ - dnf install -y epel-release
+ - dnf install -y mercurial python3-pip
+ opensuse-leap:
+ image: opensuse/leap
+ pre-commands:
+ - zypper install -y curl mercurial python311-pip python311-curses gzip
+ # We can't replace /usr/bin/python3 because mercurial uses that, so
+ # we override it via /usr/local/bin.
+ - ln -s /usr/bin/python3.11 /usr/local/bin/python3
+ # Make the shell forget about where it found python3 in the past.
+ - hash -r python3
+ 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 -Syu --noconfirm mercurial python-pip
+ voidlinux:
+ image: voidlinux/voidlinux
+ pre-commands:
+ - sed -i s/alpha.de.repo.voidlinux.org/repo-default.voidlinux.org/g /usr/share/xbps.d/*
+ - xbps-install -Suyv xbps
+ - xbps-install -Suyv curl mercurial python3-pip
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..3d45e76d79
--- /dev/null
+++ b/taskcluster/ci/build-fat-aar/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:
+ - 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
+ use-system-python: false
+ 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/target.maven.tar.xz
+ path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
+ type: file
+ - 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:
+ by-project:
+ try: nightly-try
+ default: nightly
+ nightly-larch: nightly-larch
+ nightly-oak: nightly-oak
+ nightly-pine: nightly-pine
+ beta:
+ by-shipping-product:
+ devedition: aurora
+ default: beta
+ release.*: release
+ esr.*: esr
+ 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
+
+ android-geckoview-fat-aar/opt:
+ description: "Android GeckoView multi-architecture fat AAR Opt"
+ attributes:
+ maven_packages:
+ - geckoview
+ index:
+ job-name: android-geckoview-fat-aar-opt
+ treeherder:
+ platform: android-5-0-geckoview-fat-aar/opt
+ symbol: Bgv
+ dependencies:
+ android-x86-opt: build-android-x86/opt
+ android-x86_64-opt: build-android-x86_64/opt
+ android-arm-opt: build-android-arm/opt
+ android-aarch64-opt: build-android-aarch64/opt
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-opt
+ USE_ARTIFACT: '1'
+ MOZ_ARTIFACT_TASK: {task-reference: '<android-arm-opt>'}
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: arm
+ fetches:
+ toolchain:
+ - linux64-sccache
+ - android-gradle-dependencies
diff --git a/taskcluster/ci/build-mac-notarization/kind.yml b/taskcluster/ci/build-mac-notarization/kind.yml
new file mode 100644
index 0000000000..8d049b3695
--- /dev/null
+++ b/taskcluster/ci/build-mac-notarization/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.mac_notarization
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-mac-signing
+
+only-for-attributes:
+ - shippable
+
+jobs:
+ build-mac-notarization:
+ from-deps:
+ group-by: single-with-filters
+ copy-attributes: true
+ treeherder:
+ symbol: BMN
+ upstream-artifacts:
+ - taskType: signing
+ paths:
+ - public/build/target.tar.gz
+ - public/build/target.pkg
+ formats: ["apple_notarization"]
+ taskId:
+ task-reference: <build-mac-signing>
diff --git a/taskcluster/ci/build-mac-signing/kind.yml b/taskcluster/ci/build-mac-signing/kind.yml
new file mode 100644
index 0000000000..d90813cd96
--- /dev/null
+++ b/taskcluster/ci/build-mac-signing/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.build_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.hardened_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - enable-build-signing
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+ - macosx64/opt
+ - macosx64/debug
+ - macosx64-aarch64/debug
+
+jobs:
+ build-mac-signing:
+ from-deps:
+ group-by: single-with-filters
+ treeherder:
+ symbol: BMS
+ enable-signing-routes: false
diff --git a/taskcluster/ci/build-signing/kind.yml b/taskcluster/ci/build-signing/kind.yml
new file mode 100644
index 0000000000..7e4bbab419
--- /dev/null
+++ b/taskcluster/ci/build-signing/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:
+ - taskgraph.transforms.from_deps:transforms
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.upstream_artifact_task
+ - gecko_taskgraph.transforms.build_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+ - build-fat-aar
+
+only-for-attributes:
+ - nightly
+ - shippable
+ - enable-build-signing
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+ - macosx64/opt
+ - macosx64/debug
+ - macosx64-aarch64/debug
+
+jobs:
+ build-signing:
+ from-deps:
+ group-by: platform
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..7c37b2680f
--- /dev/null
+++ b/taskcluster/ci/build/android.yml
@@ -0,0 +1,644 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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/target.maven.tar.xz
+ path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
+ type: file
+ - 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"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ 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-aarch64-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-aarch64-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..886f1ef433
--- /dev/null
+++ b/taskcluster/ci/build/kind.yml
@@ -0,0 +1,91 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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
+ use-system-python: false
+ 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:
+ by-project:
+ try: nightly-try
+ default: nightly
+ nightly-larch: nightly-larch
+ nightly-oak: nightly-oak
+ nightly-pine: nightly-pine
+ beta:
+ by-shipping-product:
+ devedition: aurora
+ default: beta
+ release.*: release
+ esr.*: esr
+ 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-larch: firefox-nightly-larch
+ nightly-oak: firefox-nightly-oak
+ nightly-pine: firefox-nightly-pine
+ 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-larch: firefox-nightly-larch
+ nightly-oak: firefox-nightly-oak
+ nightly-pine: firefox-nightly-pine
+ 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..1cde0b229f
--- /dev/null
+++ b/taskcluster/ci/build/linux-base-toolchains.yml
@@ -0,0 +1,173 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ run:
+ extra-config:
+ extra_mozconfig_content:
+ # Builds on automation don't normally build geckodriver,
+ # but to ensure we also successfully build geckodriver with
+ # the MSRV, force it to be built.
+ - ac_add_options --enable-geckodriver
+
+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-base
+ - linux64-gcc-base
+ - 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
+ - sysroot-wasm32-wasi-clang-8.0
+
+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-base
+ - linux64-gcc-base
+ - 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
+ - sysroot-wasm32-wasi-clang-8.0
+
+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-binutils-2.31.1
+ - linux64-clang-base
+ - linux64-rust-base
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm-2.14.02
+ - linux64-node-12
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi-clang-8.0
+
+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-binutils-2.31.1
+ - linux64-clang-base
+ - linux64-rust-base
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm-2.14.02
+ - linux64-node-12
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi-clang-8.0
diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml
new file mode 100644
index 0000000000..73301313d6
--- /dev/null
+++ b/taskcluster/ci/build/linux.yml
@@ -0,0 +1,1799 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-non-unified/plain:
+ description: "Linux64 Plain Hybrid"
+ index:
+ product: firefox
+ job-name: linux64-non-unified-plain
+ treeherder:
+ platform: linux64/plain
+ symbol: Bp-nu
+ tier: 1
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: non-unified
+ 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: non-unified
+ 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-xlarge-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'
+ max_build_output_timeout: 3600
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ mozconfig-variant: devedition
+ run-on-projects: ['mozilla-beta']
+ 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
+
+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-esr115'
+ 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-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-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-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-xlarge-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
+ extra-config:
+ max_build_output_timeout: 3600
+ 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-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++
+ AFL_LLVM_INSTRUMENT: llvmnative
+ AFL_LLVM_NO_RPATH: "1"
+ 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-nyx-ccov/opt:
+ description: "Linux64 Fuzzing Opt ASAN NYX w/ Coverage"
+ index:
+ product: firefox
+ job-name: linux64-ccov-fuzzing-asan-nyx-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/asan
+ symbol: Bncf
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-ccov-nyx
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ AFL_CC: /builds/worker/fetches/clang/bin/clang
+ AFL_CXX: /builds/worker/fetches/clang/bin/clang++
+ AFL_LLVM_INSTRUMENT: llvmcodecov
+ AFL_LLVM_NO_RPATH: "1"
+ 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
+ run-on-projects: ['mozilla-central']
+ 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-xlarge-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
+ extra-config:
+ max_build_output_timeout: 3600
+ 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-xlarge-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
+ extra-config:
+ max_build_output_timeout: 3600
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ 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
+
+linux64-nightlyasrelease/opt:
+ description: "Linux64 Nightly-As-Release"
+ use-pgo: linux64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ index:
+ product: firefox
+ job-name: linux64-nightlyasrelease-opt
+ treeherder:
+ platform: linux64-nightlyasrelease/opt
+ symbol: Bpgo(Bnar)
+ run-on-projects: [trunk-only]
+ worker-type: b-linux-xlarge-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"
+ PERFHERDER_EXTRA_OPTIONS: nightly-as-release
+ 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:
+ max_build_output_timeout: 3600
+ script: "mozharness/scripts/fx_desktop_build.py"
+ mozconfig-variant: nightly-as-release
+ secrets: true
+ 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
+
+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:
+ extra_mozconfig_content:
+ - ac_add_options --target=aarch64
+ - unset MOZ_STDCXX_COMPAT
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ run-on-projects: ['integration']
+ fetches:
+ toolchain:
+ - 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..0b148f01d5
--- /dev/null
+++ b/taskcluster/ci/build/macosx.yml
@@ -0,0 +1,943 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-aarch64/debug:
+ description: "MacOS X Aarch64 Cross-compile"
+ index:
+ job-name: macosx64-aarch64-debug
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross-aarch64/debug
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 5400
+ 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
+ custom-build-variant-cfg: cross-debug
+ mozconfig-variant: debug
+ extra-config:
+ extra_mozconfig_content:
+ - ac_add_options --target=aarch64-apple-darwin
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-non-unified/plain:
+ description: "MacOS X x64 Hybrid Cross-compile"
+ index:
+ job-name: macosx64-non-unified
+ treeherder:
+ platform: osx-cross/plain
+ symbol: Bp-nu
+ tier: 1
+ worker:
+ max-run-time: 5400
+ env:
+ PERFHERDER_EXTRA_OPTIONS: non-unified
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ mozconfig-variant: non-unified
+ extra-config:
+ disable_package_metrics: true
+ use-sccache: true
+ run-on-projects: ['integration']
+ fetches:
+ toolchain:
+ - 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-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-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-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-aarch64/asan
+ symbol: Bof
+ 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-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-aarch64/debug
+ symbol: Bf
+ 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-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)"
+ 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)"
+ 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"
+ 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-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-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-x64-add-on-devel/opt:
+ description: "MacOS X x64 add-on-devel"
+ index:
+ job-name: macosx64-x64-add-on-devel
+ treeherder:
+ platform: osx-cross-add-on-devel/opt
+ symbol: Bx
+ tier: 2
+ worker:
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: x64
+ 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-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-aarch64-add-on-devel/opt:
+ description: "MacOS X Aarch64 add-on-devel"
+ index:
+ job-name: macosx64-aarch64-add-on-devel
+ treeherder:
+ platform: osx-cross-aarch64-add-on-devel/opt
+ symbol: B
+ 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: add-on-devel
+ mozconfig-variant: add-on-devel
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-add-on-devel/opt:
+ description: "MacOS X 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: 1800
+ run:
+ job-script: taskcluster/scripts/misc/unify.sh
+ config:
+ - builds/releng_base_firefox.py
+ run-on-projects: ['mozilla-beta', 'mozilla-release']
+ dependencies:
+ macosx64-x64-add-on-devel-opt: build-macosx64-x64-add-on-devel/opt
+ macosx64-aarch64-add-on-devel-opt: build-macosx64-aarch64-add-on-devel/opt
+ fetches:
+ macosx64-x64-add-on-devel-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.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-add-on-devel-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: aarch64
+ - artifact: target.crashreporter-symbols.zip
+ dest: aarch64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: aarch64/jsshell
+ toolchain:
+ - linux64-cctools-port
+
+macosx64-nightlyasrelease/opt:
+ description: "MacOS X Nightly-As-Release"
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ upload-generated-sources: true
+ index:
+ job-name: macosx64-nightlyasrelease-opt
+ treeherder:
+ platform: osx-nightlyasrelease/opt
+ symbol: Bpgo(Bnar)
+ tier: 1
+ run-on-projects: [trunk-only]
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: nightly-as-release
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ mozconfig-variant: nightly-as-release
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+
+macosx64-x64-shippable/opt:
+ description: "MacOS X x64 Cross-compile"
+ use-pgo: macosx64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ 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"
+ use-pgo: macosx64-aarch64-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"
+ 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-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..09c3ee0022
--- /dev/null
+++ b/taskcluster/ci/build/windows-mingw.yml
@@ -0,0 +1,173 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ fetches:
+ toolchain:
+ - windows-rs
+
+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-esr115'
+ 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-esr115'
+ 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-esr115'
+ 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-esr115'
+ 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..cde5e216da
--- /dev/null
+++ b/taskcluster/ci/build/windows.yml
@@ -0,0 +1,1583 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ fetches:
+ toolchain:
+ - windows-rs
+
+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
+ - vs
+ 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
+ - vs
+ 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
+ - vs
+ 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
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64-non-unified/plain:
+ description: "Win64 Hybrid Plain"
+ index:
+ product: firefox
+ job-name: win64-non-unified-plain
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: Bp-nu
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: non-unified
+ 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: non-unified
+ 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
+ - vs
+ 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
+ - vs
+ 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-win2022
+ 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
+ - vs
+ - 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
+ - vs
+ 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-win2022
+ 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
+ - vs
+ - 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
+ - vs
+ 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-xlarge-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
+ max_build_output_timeout: 3600
+ 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
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64-nightlyasrelease/opt:
+ description: "Win64 Opt Nightly-As-Release"
+ use-pgo: win64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ index:
+ product: firefox
+ job-name: win64-nightlyasrelease-opt
+ treeherder:
+ platform: win64-nightlyasrelease/opt
+ symbol: Bpgo(Bnar)
+ worker-type: b-linux-xlarge-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "nightly-as-release"
+ 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
+ max_build_output_timeout: 3600
+ mozconfig-variant: nightly-as-release
+ run-on-projects: [trunk-only]
+ 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
+ - vs
+ 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
+ - vs
+ 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
+ - vs
+ 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
+ - vs
+ 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
+ - vs
+ 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-win2022
+ 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']
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - vs
+ 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-win2022
+ 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']
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - vs
+ 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-win2022
+ 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']
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - vs
+ 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-win2022
+ 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']
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-nasm
+ - win64-node
+ - win64-winchecksec
+ - win64-mozmake
+ - win64-dump_syms
+ - vs
+ 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-win2022
+ 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
+ - vs
+ - 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-win2022
+ 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
+ - vs
+ - 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
+ - vs
+ 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
+ - vs
+ 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-xlarge-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
+ max_build_output_timeout: 3600
+ 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
+ - vs
+ 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
+ - vs
+ 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
+ - vs
+ 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-xlarge-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
+ max_build_output_timeout: 3600
+ 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
+ - vs
+ 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
+ - vs
+ 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
+ treeherder:
+ platform: windows2012-aarch64/opt
+ 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
+ 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
+ - vs
+ fetch:
+ - upx-3.95-win
+ optimization:
+ skip-unless-expanded: null
+
+win64-aarch64-shippable/opt:
+ description: "AArch64 Win64 Shippable"
+ use-pgo: win64-shippable/opt
+ index:
+ product: firefox
+ job-name: win64-aarch64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-aarch64-shippable/opt
+ symbol: Bpgo(B)
+ tier: 1
+ run-on-projects: ['release']
+ worker-type: b-linux-xlarge-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-aarch64
+ mozconfig_platform: win64-aarch64
+ max_build_output_timeout: 3600
+ 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
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64-aarch64-devedition/opt:
+ description: "AArch64 Win64 Dev Edition (shippable)"
+ use-pgo: win64-shippable/opt
+ index:
+ product: devedition
+ job-name: win64-aarch64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: devedition
+ treeherder:
+ platform: windows2012-aarch64-devedition/opt
+ symbol: Bpgo(B)
+ tier: 1
+ worker-type: b-linux-xlarge-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-aarch64
+ mozconfig_platform: win64-aarch64
+ max_build_output_timeout: 3600
+ 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
+ - vs
+ 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..b57af6acaf
--- /dev/null
+++ b/taskcluster/ci/code-review/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.code_review:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - source-test
+ - toolchain
+
+job-defaults:
+ use-system-python: false
+
+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: debian12-base
+ 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..75afd4a3e2
--- /dev/null
+++ b/taskcluster/ci/condprof/kind.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/.
+---
+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
+ use-system-python: false
+jobs:
+ windows2012-64-firefox:
+ worker-type: b-win2022
+ 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 -m venv . &&
+ bin/python3 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..73496c538b
--- /dev/null
+++ b/taskcluster/ci/config.yml
@@ -0,0 +1,879 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-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-webext-nofis-fenix': 'Browsertime performance tests on Fenix with extensions and without fission enabled'
+ 'Btime-webext': 'Browsertime performance tests on Firefox with extensions'
+ '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-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s'
+ 'Btime-live': 'Browsertime performance tests on Firefox'
+ 'Btime-live-fenix': 'Browsertime performance tests on Firefox'
+ 'Btime-live-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'
+ 'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release'
+ 'Btime-nofis-CaR': 'Browsertime performance tests on Chromium-as-Release without fission enabled'
+ 'Fetch': 'Fetch and store content'
+ 'Fxfn': 'Firefox functional tests'
+ 'l10n-bump': 'L10n Bumper'
+ 'M': 'Mochitests'
+ 'M-cf': 'Mochitests confirm failure'
+ 'M-condprof': "Mochitests with conditioned profile"
+ 'M-condprof-cf': "Mochitests confirm failure with conditioned profile"
+ 'M-fis-hv': "Mochitests that run on Fission with isolateHighValue isolation strategy (Android-specific)"
+ 'M-fis-hv-cf': "Mochitests confirm failure that run on Fission with isolateHighValue isolation strategy (Android-specific)"
+ 'M-headless': 'Headless Mochitests'
+ 'M-headless-cf': 'Headless Mochitests confirm failure'
+ 'M-headless-spi-nw': 'Headless Mochitests with fission and socketprocess networking.'
+ 'M-headless-spi-nw-cf': 'Headless Mochitests confirm failure with fission and socketprocess networking.'
+ 'M-http3': 'Mochitests with Http/3 server'
+ 'M-http3-cf': 'Mochitests confirm failure with Http/3 server'
+ 'M-http2': 'Mochitests with Http/2 server'
+ 'M-http2-cf': 'Mochitests confirm failure with Http/2 server'
+ 'M-aab': 'Mochitests with AAB test_runner.'
+ 'M-aab-cf': 'Mochitests confirm failure with AAB test_runner.'
+ 'M-aab-nofis': 'Mochitests with AAB test_runner without fission enabled.'
+ 'M-aab-nofis-cf': 'Mochitests confirm failure with AAB test_runner without fission enabled.'
+ 'M-1proc': 'Mochitests without e10s or fission'
+ 'M-1proc-cf': 'Mochitests confirm failure without e10s or fission'
+ 'M-a11y-checks': 'Mochitests with accessibility checks enabled'
+ 'M-a11y-checks-cf': 'Mochitests confirm failure with accessibility checks enabled'
+ 'M-xorig': 'Mochitests with cross-origin and fission enabled'
+ 'M-xorig-cf': 'Mochitests confirm failure with cross-origin and fission enabled'
+ 'M-gli': 'Mochitests with WebGL over IPC'
+ 'M-gli-cf': 'Mochitests confirm failure with WebGL over IPC'
+ 'M-nofis': 'Mochitests without fission enabled'
+ 'M-nofis-cf': 'Mochitests confirm failure without fission enabled'
+ 'M-spi': 'Mochitests with socket process'
+ 'M-spi-cf': 'Mochitests confirm failure with socket process'
+ 'M-spi-nofis': 'Mochitests with socket process without fission enabled'
+ 'M-spi-nofis-cf': 'Mochitests confirm failure with socket process without fission enabled'
+ 'M-spi-nw': 'Mochitests with networking on socket process'
+ 'M-spi-nw-cf': 'Mochitests confirm failure with networking on socket process'
+ 'M-spi-nw-nofis': 'Mochitests with networking on socket process without fission enabled'
+ 'M-spi-nw-nofis-cf': 'Mochitests confirm failure with networking on socket process without fission enabled'
+ 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s'
+ 'M-spi-nw-1proc-cf': 'Mochitests confirm failure with networking on socket process without e10s'
+ 'M-swr': 'Mochitests with software webrender enabled'
+ 'M-swr-cf': 'Mochitests confirm failure with software webrender enabled'
+ 'M-swr-a11y-checks': 'Mochitests with software webrender and accessibility checks enabled'
+ 'M-swr-a11y-checks-cf': 'Mochitests confirm failure with software webrender and accessibility checks enabled'
+ 'M-swr-1proc': 'Mochitests with software webrender enabled without e10s'
+ 'M-swr-1proc-cf': 'Mochitests confirm failure with software webrender enabled without e10s'
+ 'M-swr-nofis': 'Mochitests with software webrender without fission enabled'
+ 'M-swr-nofis-cf': 'Mochitests confirm failure with software webrender without fission enabled'
+ 'M-wmfme': 'Mochitests with Windows Media Foundation media engine enabled'
+ 'M-wmfme-cf': 'Mochitests confirm failure with Windows Media Foundation media engine enabled'
+ 'M-mda-gpu': 'Mochitests Media on GPU worker'
+ 'M-mda-gpu-cf': 'Mochitests confirm failure Media on GPU worker'
+ 'M-f': 'Mochitest failures'
+ 'M-f-swr': 'Mochitest failures software webrender'
+ 'M-f-cf': 'Mochitest failures w/confirm failure'
+ 'M-f-swr-cf': 'Mochitest failures software webrender w/confirm failure'
+ 'M-dt-no-eft-nofis': 'DevTools Mochitests with EFT disabled without fission enabled'
+ 'M-dt-no-eft-nofis-cf': 'DevTools Mochitests confirm failure with EFT disabled without fission enabled'
+ 'M-msix': 'Mochitests from MSIX builds'
+ 'M-msix-cf': 'Mochitests confirm failure 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'
+ 'Pup': "Puppeteer tests"
+ 'R': 'Reftests'
+ 'R-cf': 'Reftests confirm failure'
+ 'R-nofis': 'Reftests without fission enabled'
+ 'R-nofis-cf': 'Reftests confirm failure without fission enabled'
+ 'R-swr': 'Reftests with software webrender enabled'
+ 'R-swr-cf': 'Reftests confirm failure with software webrender enabled'
+ 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled'
+ 'R-swr-nofis-cf': 'Reftests confirm failure with software webrender enabled without fission enabled'
+ 'R-wr-dc0': 'Reftests with dcomp disabled'
+ 'R-wr-dc0-cf': 'Reftests confirm failure with dcomp disabled'
+ 'R-wr-dc1-p': 'Reftests with dcomp present but not overlays'
+ 'R-wr-dc1-p-cf': 'Reftests confirm failure with dcomp present but not overlays'
+ 'R-wr-dc2-o': 'Reftests with dcomp overlays but not compositing'
+ 'R-wr-dc2-o-cf': 'Reftests confirm failure with dcomp overlays but not compositing'
+ 'R-wr-dc3-c': 'Reftests with dcomp compositing'
+ 'R-wr-dc3-c-cf': 'Reftests confirm failure with dcomp compositing'
+ 'Rap': 'Raptor performance tests on Firefox'
+ 'Rap-live': 'Raptor performance tests on Firefox with live sites'
+ 'Rap-Prof': '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'
+ 'T': 'Talos performance tests'
+ 'T-gli': 'Talos performance tests with WebGL over IPC'
+ 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling'
+ 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling'
+ 'T-swr': 'Talos performance tests with software webrender enabled'
+ 'tt': 'Telemetry tests'
+ 'tt-nofis': 'Telemetry tests without fission enabled'
+ 'SY': 'Are we slim yet tests by TaskCluster'
+ 'W': 'Web platform tests'
+ 'W-cf': 'Web platform tests confirm failure'
+ 'W-nofis': 'Web platform tests without fission enabled'
+ 'W-nofis-cf': 'Web platform tests confirm failure without fission enabled'
+ 'W-headless': 'Headless web platform tests'
+ 'W-headless-cf': 'Headless web platform tests confirm failure'
+ 'W-swr-nofis': 'Web platform tests with software webrender enabled without fission enabled'
+ 'W-swr-nofis-cf': 'Web platform tests confirm failure with software webrender enabled without fission enabled'
+ 'W-swr': 'Web platform tests with software webrender enabled'
+ 'W-swr-cf': 'Web platform tests confirm falure with software webrender enabled'
+ 'W-b': 'Web platform tests (backlog)'
+ 'W-b-nofis': 'Web platform tests (backlog) without fission enabled'
+ 'W-pb': 'Web platform tests with private browsing enabled'
+ 'X': 'Xpcshell tests'
+ 'X-cf': 'Xpcshell tests confirm failure'
+ 'X-condprof': 'Xpcshell tests with a conditioned profile'
+ 'X-condprof-cf': 'Xpcshell tests confirm failure with a conditioned profile'
+ 'X-nofis': 'Xpcshell tests without fission enabled'
+ 'X-nofis-cf': 'Xpcshell tests confirm failure without fission enabled'
+ 'X-spi-nw': 'Xpcshell tests with networking on socket process'
+ 'X-spi-nw-cf': 'Xpcshell tests confirm failure with networking on socket process'
+ 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled'
+ 'X-spi-nw-nofis-cf': 'Xpcshell tests confirm failure 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'
+ 'X-msix-cf': 'Xpcshell tests confirm failure on msix packages'
+ 'L10n': 'Localised Repacks'
+ 'L10n-Rpk': 'Localized Repackaged Repacks'
+ 'deb-L10n': 'Localized Debian Repacks'
+ 'BM': 'Beetmover'
+ 'BMR': 'Beetmover repackages'
+ 'BM-apt': 'Beetmover .deb packages'
+ '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'
+ 'Deb12': 'Packages for Debian 12'
+ 'Ub18': 'Packages for Ubuntu 18.04'
+ 'Ub20': 'Packages for Ubuntu 20.04'
+ 'Ub22': 'Packages for Ubuntu 22.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'
+ 'UVnext': 'Update verify for esr-next'
+ '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'
+ 'Sel': 'Selenium Snap tests'
+ 'Sentry': 'Sentry synchronization'
+ 'test-info': 'Test manifest skip/fail information'
+ 'condprof': 'Conditioned Profile Builder'
+ 'doc': 'Documentation'
+ 'GhS': 'GitHub Synchronization'
+ 'perftest': 'Performance tests'
+ 'perftest-detect': 'Performance regression detection tooling'
+ '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'
+ 'Attr-L10n': 'Build Attribution'
+
+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'
+ rebuild-kinds:
+ - docker-image
+ - fetch
+ - packages
+ - toolchain
+ 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-mac-signing
+ - release-partner-repack-mac-notarization
+ - 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-esr115'
+ to-branch: 'esr115'
+ 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.sys.mjs"
+ - '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-esr115:
+ 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-esr115'
+ to-branch: 'esr115'
+
+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'
+ b-win2022:
+ provisioner: '{trust-domain}-{level}'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ 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}'
+ addon:
+ provisioner: scriptworker-k8s
+ implementation: push-addons
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-addon'
+ staging: '{trust-domain}-1-addon'
+ 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'
+ shipit:
+ provisioner: scriptworker-k8s
+ implementation: shipit
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-shipit'
+ staging: '{trust-domain}-1-shipit'
+ 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-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-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-linux-wayland:
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: linux
+ worker-type: 't-linux-vm-2204-wayland'
+ 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-1400-m2:
+ 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'
+ b-osx-arm64:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type:
+ by-level:
+ '3': 'gecko-3-b-osx-arm64'
+ default: 'gecko-1-b-osx-arm64'
+ 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}'
+ win11-64-2009(-hw-ref):
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ win10-64-2009(|-gpu|-ssd|-source|-ssd-gpu):
+ provisioner: 'gecko-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win11-64(|-gpu-s|-source):
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ win11-64-2009(|-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-entitlements:
+ by-platform:
+ macosx64.*:
+ by-release-level:
+ production: security/mac/hardenedruntime/v1/production/browser.xml
+ default: security/mac/hardenedruntime/v1/developer/browser.xml
+ default: ''
+ mac-requirements:
+ by-platform:
+ macosx64.*: build/package/mac_osx/requirements.plist
+ default: ''
+
+mac-signing:
+ hardened-sign-config:
+ by-hardened-signing-type:
+ production:
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/production/plugin-container.xml
+ globs:
+ - "/Contents/MacOS/plugin-container.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/production/media-plugin-helper.xml
+ globs:
+ - "/Contents/MacOS/media-plugin-helper.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ # These files are signed wihtout entitlements
+ globs:
+ - "/Contents/MacOS/crashreporter.app"
+ - "/Contents/MacOS/updater.app"
+ - "/Contents/Library/LaunchServices/org.mozilla.updater"
+ - "/Contents/MacOS/XUL"
+ - "/Contents/MacOS/pingsender"
+ - "/Contents/MacOS/minidump-analyzer"
+ - "/Contents/MacOS/*.dylib"
+ - "/Contents/Resources/gmp-clearkey/*/*.dylib"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements:
+ by-build-platform:
+ .*devedition.*: security/mac/hardenedruntime/v2/production/firefoxdeveloperedition.browser.xml
+ default:
+ by-project:
+ mozilla-central: security/mac/hardenedruntime/v2/production/nightly.browser.xml
+ default: security/mac/hardenedruntime/v2/production/firefox.browser.xml
+ globs:
+ - "/" # The .app
+
+ default:
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/plugin-container.xml
+ globs:
+ - "/Contents/MacOS/plugin-container.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/media-plugin-helper.xml
+ globs:
+ - "/Contents/MacOS/media-plugin-helper.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/utility.xml
+ globs:
+ - "/Contents/MacOS/crashreporter.app"
+ - "/Contents/MacOS/updater.app"
+ - "/Contents/Library/LaunchServices/org.mozilla.updater"
+ - "/Contents/MacOS/pingsender"
+ - "/Contents/MacOS/minidump-analyzer"
+
+ - deep: false
+ runtime: true
+ force: true
+ # These files are signed without entitlements
+ globs:
+ - "/Contents/MacOS/XUL"
+ - "/Contents/MacOS/*.dylib"
+ - "/Contents/Resources/gmp-clearkey/*/*.dylib"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/browser.xml
+ globs:
+ - "/" # The .app
+
+expiration-policy:
+ by-project:
+ try:
+ default: 28 days
+ shortest: 7 days
+ short: 14 days
+ medium: 28 days
+ long: 28 days
+ autoland:
+ default: 1 year
+ shortest: 14 days
+ short: 3 months
+ medium: 1 year
+ # To avoid keeping shippable builds for over a year
+ long: 1 year
+ default:
+ default: 3 months
+ shortest: 7 days
+ 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..62d2c80960
--- /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-esr115: 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/artifacts.yml b/taskcluster/ci/diffoscope/artifacts.yml
new file mode 100644
index 0000000000..0e901f50fd
--- /dev/null
+++ b/taskcluster/ci/diffoscope/artifacts.yml
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ # Artifact builds always build with nightly branding, so these checks don't
+ # work on non-trunk branches.
+ run-on-projects: ['trunk']
+ unpack: true
+ fail-on-diff: true
+ pre-diff-commands:
+ # jogfile.json is only created in artifact builds.
+ - rm b/"$RESOURCE_DIR"/jogfile.json
+ # Remove noise from differences in line numbers in preprocessor output
+ # due to #if/#else branches.
+ - sed -i '/^\/\/@line /d' {a,b}/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
+ # bug 1825141 - telemetry.fog.artifact_build isn't stable between
+ # artifact and not-artifact builds, so remove its line if present.
+ - sed -i '/telemetry\.fog\.artifact\_build/d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
+ # artifact builds are not fed with accepted-mar-channel-ids
+ - sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini
+ # Extra diffoscope arguments to account for:
+ # - about:buildconfig being expectedly different.
+ extra-args: >-
+ --exclude b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html
+ # This is necessary to avoid building the dependencies 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
+
+artifact-linux64-validation:
+ symbol: Linux64a
+ new: artifact-build-linux64-artifact/opt
+ original: build-linux64/opt
+
+artifact-macosx64-validation:
+ symbol: Macosx64a
+ new: artifact-build-macosx64-artifact/opt
+ original: build-macosx64/opt
+
+artifact-win64-validation:
+ symbol: Win64a
+ new: artifact-build-win64-artifact/opt
+ original: build-win64/opt
+ # 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 b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html
+ --exclude b/firefox/uninstall/helper.exe
diff --git a/taskcluster/ci/diffoscope/kind.yml b/taskcluster/ci/diffoscope/kind.yml
new file mode 100644
index 0000000000..89b38fc665
--- /dev/null
+++ b/taskcluster/ci/diffoscope/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.transform:loader
+
+kind-dependencies:
+ - artifact-build
+ - 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-from:
+ - artifacts.yml
+ - reproducible.yml
+
+# 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.
+# jobs:
+# 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/diffoscope/reproducible.yml b/taskcluster/ci/diffoscope/reproducible.yml
new file mode 100644
index 0000000000..4f89bfca4e
--- /dev/null
+++ b/taskcluster/ci/diffoscope/reproducible.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/.
+---
+job-defaults:
+ fail-on-diff: true
+ run-on-projects: ['mozilla-central']
+
+reproducible-linux32:
+ symbol: Linux32
+ new: build-linux-reproduced/opt
+ original: build-linux-shippable/opt
+
+reproducible-linux32-generated-files:
+ symbol: Linux32g
+ artifact: target.generated-files.tar.gz
+ new: build-linux-reproduced/opt
+ original: build-linux-shippable/opt
+
+reproducible-linux64:
+ symbol: Linux64
+ new: build-linux64-reproduced/opt
+ original: build-linux64-shippable/opt
+
+reproducible-linux64-generated-files:
+ symbol: Linux64g
+ artifact: target.generated-files.tar.gz
+ new: build-linux64-reproduced/opt
+ original: build-linux64-shippable/opt
diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml
new file mode 100644
index 0000000000..149186fb3b
--- /dev/null
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -0,0 +1,247 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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)
+ parent: ubuntu1804-raw
+ packages:
+ - ub18-mercurial
+ - ub18-python-zstandard
+ - ub18-python-psutil
+ ubuntu1804-test-base:
+ symbol: I(ub18-test-base)
+ parent: ubuntu1804-base
+ packages:
+ - ub18-libc6
+ - ub18-pygobject
+ - ub18-pyatspi
+ - ub18-32-libc6
+ ubuntu1804-test:
+ symbol: I(ub18-test)
+ parent: ubuntu1804-test-base
+ ubuntu1804-build-python:
+ symbol: I(ub18-build-python)
+ parent: ubuntu1804-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
+ ubuntu2204-raw:
+ symbol: I(ub22-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: ubuntu:jammy
+ ubuntu2004-packages:
+ symbol: I(ub20-pkg)
+ definition: debian-packages
+ parent: ubuntu2004-raw
+ ubuntu2204-packages:
+ symbol: I(ub22-pkg)
+ definition: debian-packages
+ parent: ubuntu2204-raw
+ ubuntu2004-base:
+ symbol: I(ub20-base)
+ definition: debian-base
+ parent: ubuntu2004-raw
+ packages:
+ - ub20-mercurial
+ - ub20-python-zstandard
+ ubuntu2204-base:
+ symbol: I(ub22-base)
+ definition: debian-base
+ parent: ubuntu2204-raw
+ packages:
+ - ub22-mercurial
+ - ub22-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
+ 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
+ debian8-i386-packages:
+ symbol: I(deb8-32-pkg)
+ definition: debian-packages
+ parent: debian8-i386-raw
+ custom-v8:
+ symbol: I(custom-v8)
+ parent: debian12-base
+ # Chromium-as-Release
+ custom-car-linux:
+ symbol: I(custom-car-linux)
+ parent: debian12-base
+ # Chromium-as-Release Android
+ custom-car-android:
+ symbol: I(custom-car-android)
+ parent: debian12-base
+ valgrind-build:
+ symbol: I(vb)
+ parent: debian12-amd64-build
+ packages:
+ - deb12-valgrind
+ lint:
+ symbol: I(lnt)
+ parent: debian12-base
+ # Neither the debian12-raw nor the debian12-packages images can have
+ # packages dependencies.
+ debian12-raw:
+ symbol: I(deb12-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: debian:bookworm-20230612
+ DIST: bookworm
+ SNAPSHOT: '20230611T210420Z'
+ debian12-packages:
+ symbol: I(deb12-pkg)
+ definition: debian-packages
+ parent: debian12-raw
+ debian12-base:
+ symbol: I(deb12-base)
+ definition: debian-base
+ parent: debian12-raw
+ packages:
+ - deb12-mercurial
+ - deb12-python-zstandard
+ debian12-amd64-build:
+ symbol: I(deb12)
+ parent: debian12-base
+ definition: debian-build
+ debian12-repackage:
+ symbol: I(deb12-rpk)
+ parent: debian12-base
+ definition: debian-repackage
+ packages:
+ - deb12-mercurial
+ deb12-toolchain-build:
+ symbol: I(deb12-toolchain)
+ parent: debian12-base
+ definition: toolchain-build
+ android-build:
+ symbol: I(agb)
+ parent: debian12-base
+ fetch:
+ symbol: I(fetch)
+ parent: debian12-raw
+ packages:
+ - deb12-python-zstandard
+ static-analysis-build:
+ symbol: I(static-analysis-build)
+ parent: debian12-base
+ gdb-test:
+ symbol: I(gdb)
+ parent: debian12-amd64-build
+ index-task:
+ symbol: I(idx)
+ funsize-update-generator:
+ symbol: I(pg)
+ update-verify:
+ symbol: I(uv)
+ parent: ubuntu2004-base
+ diffoscope:
+ symbol: I(diff)
+ parent: debian12-base
+ partner-repack:
+ symbol: I(PR)
+ parent: debian12-base
+ definition: partner-repack
+ updatebot:
+ symbol: I(3rdp)
+ parent: push-to-try
+ periodic-updates:
+ symbol: I(file)
+ parent: debian12-base
+ firefox-snap:
+ symbol: I(snap)
+ firefox-flatpak:
+ symbol: I(flatpak)
+ webrender:
+ symbol: I(webrender)
+ parent: debian12-base
+ condprof:
+ symbol: I(condprof)
+ parent: ubuntu1804-test
+ github-sync:
+ symbol: I(github-sync)
+ parent: debian12-base
+ sentry:
+ symbol: I(sentry)
+ parent: debian12-base
+ system-symbols-mac:
+ symbol: I(system-symbols-mac)
+ parent: debian12-base
+ system-symbols-win:
+ symbol: I(system-symbols-win)
+ parent: debian12-base
+ system-symbols-win-gfx:
+ symbol: I(system-symbols-win-gfx)
+ parent: debian12-base
+ system-symbols-linux-scraper:
+ symbol: I(system-symbols-linux)
+ parent: debian12-base
+ push-to-try:
+ symbol: I(push-to-try)
+ parent: debian12-base
+ decision:
+ symbol: I(decision)
+ parent: ubuntu2004-base
+ snap-build-core22:
+ symbol: I(snap22-build)
+ parent: ubuntu2204-base
+ definition: snap-coreXX-build
+ args:
+ SNAP_BASE: core22
+ SNAP_LIST: "gnome-42-2204 gtk-common-themes gnome-42-2204-sdk"
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..614ddce593
--- /dev/null
+++ b/taskcluster/ci/fetch/browsertime.yml
@@ -0,0 +1,180 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+win32-chromedriver-120:
+ description: "Win32 chromedriver v120"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_120.tar.zst
+ add-prefix: "120"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/win32/chromedriver-win32.zip
+ sha256: f07b320a3e739c619b9bda0c62169d6173350e7415317125fba76c8b002458ce
+ size: 7360109
+
+linux64-chromedriver-120:
+ description: "Linux64 chromedriver v120"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_120.tar.zst
+ add-prefix: "120"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/linux64/chromedriver-linux64.zip
+ sha256: 3990b819b9b8866784dcd634e284e6e02f2b92f81ba89fb7b6c98061ad2b3c6e
+ size: 8575905
+
+mac64-chromedriver-120:
+ description: "Mac64 chromedriver v120"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_120.tar.zst
+ add-prefix: "120"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/mac-x64/chromedriver-mac-x64.zip
+ sha256: f645302e046e4314477b72244335c60098563d202fc0c9467df7d71b850c21f1
+ size: 9235668
+
+mac-arm-chromedriver-120:
+ description: "Mac64 arm chromedriver v120"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac-arm_120.tar.zst
+ add-prefix: "120"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/mac-arm64/chromedriver-mac-arm64.zip
+ sha256: 141e0abedfe2a1df6c3eb334becdf1993dce8b4fc0f906457606470c6542f236
+ size: 8293703
+
+win32-chromedriver-121:
+ description: "Win32 chromedriver v121"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_121.tar.zst
+ add-prefix: "121"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/win32/chromedriver-win32.zip
+ sha256: a6618777d23e2d65a4938c150df1c7516be6d8e52748f635c7bf1df36e0a143f
+ size: 7989797
+
+
+linux64-chromedriver-121:
+ description: "Linux64 chromedriver v121"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_121.tar.zst
+ add-prefix: "121"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/linux64/chromedriver-linux64.zip
+ sha256: f4a3fe88694cd67484041d01dfc33e9769b9709335e97e3283f11da0e95a73f8
+ size: 8625832
+
+
+mac64-chromedriver-121:
+ description: "Mac64 chromedriver v121"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_121.tar.zst
+ add-prefix: "121"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/mac-x64/chromedriver-mac-x64.zip
+ sha256: c89fa84060d18ed03f3f68de67400051691836b85e8b7d77b386d6239f9b8ced
+ size: 9233941
+
+
+mac-arm-chromedriver-121:
+ description: "Mac-arm chromedriver v121"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac-arm_121.tar.zst
+ add-prefix: "121"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/mac-arm64/chromedriver-mac-arm64.zip
+ sha256: e162f11cebcb7d255daf3f7af2e8f6046389f2b5264c0a991022957af0524afc
+ size: 8318525
+
+win32-chromedriver-122:
+ description: "Win32 chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_122.tar.zst
+ add-prefix: "122"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.18/win32/chrome-win32.zip
+ sha256: 4778e327a30972fa1d39a9aabc60c04e82553b7cafa2f8f768eaec9ee0935eab
+ size: 134566218
+
+linux64-chromedriver-122:
+ description: "Linux64 chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_122.tar.zst
+ add-prefix: "122"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.18/linux64/chrome-linux64.zip
+ sha256: 5514382fc80e092f76a6a7ea85bdfcafacd7e62e1c831a7842f0eca003383c5d
+ size: 149627735
+
+mac64-chromedriver-122:
+ description: "Mac64 chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_122.tar.zst
+ add-prefix: "122"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.18/mac-x64/chrome-mac-x64.zip
+ sha256: 753d2814bb82d723289eea76628e9b043bc36666d7cf285876dc4f19ca811c04
+ size: 155446914
+
+mac-arm-chromedriver-122:
+ description: "Mac64 arm chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac-arm_122.tar.zst
+ add-prefix: "122"
+ url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.18/mac-arm64/chrome-mac-arm64.zip
+ sha256: 1edd4096771669e6c429eff5a459f520defd43afb798fc86d58608d95355be6e
+ size: 146946870
+
+upload-speed-test-file:
+ description: "File used for the upload speed performance test"
+ fetch:
+ type: static-url
+ artifact-name: upload-test-32MB.dat
+ url: https://github.com/mozilla/perf-automation/raw/master/test_files/upload-test-32MB.dat
+ sha256: 72caa47a951e9f37d1e1be2119a64b1fbc6348c4f37d574bee4587e02b8f96a5
+ size: 32000000
+
+firefox-addons:
+ description: "Download a tar archive of real Firefox extensions xpi files available on AMO (used to run perftests with real extensions installed)"
+ fetch:
+ type: static-url
+ artifact-name: firefox-addons.tar.zst
+ add-prefix: firefox-addons/
+ url: https://github.com/mozilla/perf-automation/raw/c9e497eaa86f45538e3509120947215c6f97c95b/test_files/firefox-addons.tar
+ sha256: 20372ff1d58fc33d1568f8922fe66e2e2e01c77663820344d2a364a8ddd68281
+ size: 3584000
diff --git a/taskcluster/ci/fetch/chromium-fetch.yml b/taskcluster/ci/fetch/chromium-fetch.yml
new file mode 100644
index 0000000000..88f7e4fc62
--- /dev/null
+++ b/taskcluster/ci/fetch/chromium-fetch.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:
+ 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
+
+mac-chromium-arm:
+ description: 'MacOSX ARM Chromium Fetch'
+ fetch:
+ platform: mac-arm
+ artifact-name: chromium-mac-arm.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..50ffb065b0
--- /dev/null
+++ b/taskcluster/ci/fetch/toolchains.yml
@@ -0,0 +1,714 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: https://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.41:
+ description: binutils 2.41 source code
+ fetch:
+ type: static-url
+ url: https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz
+ sha256: ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450
+ size: 26765692
+ 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-8.5.0:
+ description: GCC 8.5.0 source code
+ fetch:
+ type: static-url
+ url: https://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.5.0:
+ description: GCC 9.5.0 source code
+ fetch:
+ type: static-url
+ url: https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.xz
+ sha256: 27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f
+ size: 72462752
+ 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.4.0:
+ description: GCC 11.4.0 source code
+ fetch:
+ type: static-url
+ url: https://ftp.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.xz
+ sha256: 3f2db222b007e8a4a23cd5ba56726ef08e8b1f1eb2055ee72c1402cea73a8dd9
+ size: 79837032
+ 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/
+
+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: https://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: https://ftp.gnu.org/gnu/mpc/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 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
+ url: https://github.com/wixtoolset/wix3/releases/download/wix314rtm/wix314-binaries.zip
+ sha256: 13f067f38969faf163d93a804b48ea0576790a202c8f10291f2000f0e356e934
+ size: 41282726
+
+zlib-1.3.1:
+ description: zlib 1.3.1 source code
+ fetch:
+ type: static-url
+ url: https://zlib.net/fossils/zlib-1.3.1.tar.gz
+ sha256: 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
+ size: 1512791
+
+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/8.0/wine-8.0.2.tar.xz
+ sha256: 6ec8fb6f2c72d576cb11f52b2f8d59af64404802154651d122b98466d91dc847
+ size: 29060452
+ 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.26.0:
+ description: cbindgen source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/cbindgen
+ revision: 703b53c06f9fe2dbc0193d67626558cfa84a0f62
+
+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: a0a959bd25370c1c0a00c9ec525e3e78285adbf9
+
+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: 0e7dc7eefefb3a0ba2ef3a432cdc1089ac40740c
+
+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: 322fc39acacd75aca0ff1c0a1ec2a3e91f04011c
+
+sccache:
+ description: sccache source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/sccache
+ # 0.7.6 release
+ revision: 794c987b7843f404b9e50513dae978f807ba0a60
+
+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: 95a2cf4b7260200c4a60f4f1d1127e72799a3541
+
+mingw-w64-trunk:
+ description: mingw-w64 master branch source code
+ attributes:
+ cached_task: false
+ fetch:
+ type: git
+ repo: https://git.code.sf.net/p/mingw-w64/mingw-w64
+ branch: master
+
+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
+ # Until there's a version of cargo-apk published on crates.io that has
+ # https://github.com/rust-windowing/android-ndk-rs/pull/236, we need to use
+ # an unpublished version. Additionally, until we update the NDK version used
+ # in gecko we must use our own patched version. See bug 1615148.
+ repo: https://github.com/jamienicol/android-ndk-rs
+ revision: 595f4e14a78371e3ab59b12f7bd8131f2ec5b4a1
+
+clang-8.0:
+ description: clang 8.0.0 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: d2298e74235598f15594fe2c99bbac870a507c59
+
+clang-14:
+ description: clang 14.0.5 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 4bc1d0b51c8e488d78ab69c8b19cfbcd1f7db6a4
+
+clang-17:
+ description: clang 17.0.6 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 6009708b4367171ccdbf4b5905cb6a803753fe18
+
+clang-18:
+ description: clang 18.1.0-rc2 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: c6c86965d967886ca5a2ed8968c949cd42cdd49a
+
+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.76.0:
+ description: Rust 1.76.0 source code
+ fetch:
+ type: git
+ include-dot-git: true
+ repo: https://github.com/rust-lang/rust/
+ revision: 07dca489ac2d933c78d3c5158e3f43beefeb02ce
+
+wasi-sdk-11:
+ description: wasi-sdk-11 source code
+ fetch:
+ type: git
+ repo: https://github.com/WebAssembly/wasi-sdk
+ revision: ceabbfe181599bca83d81e087a229797e472c09c
+
+wasi-sdk:
+ description: wasi-sdk-20 source code
+ fetch:
+ type: git
+ repo: https://github.com/WebAssembly/wasi-sdk
+ revision: 935fe1acd2fcd7ea4aed2d5ee4527482862b6344
+
+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: b1951e4ccec48a2e97460a7ec40be35aa79e0037
+
+rust-minidump:
+ description: rust-minidump 0.19.1 source code (for minidump-stackwalk)
+ fetch:
+ type: git
+ repo: https://github.com/rust-minidump/rust-minidump/
+ revision: c3de84b061339c686a572fb9f059e7ba3fad38d6
+
+fix-stacks:
+ description: fix-stacks source code
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/fix-stacks/
+ revision: 1fb1bcc8cb4dd65fbe342853954651563a0a88e7
+
+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/luser/rust-makecab/
+ revision: 236cd02baefa754fc7a61b161c71d2aa13a87c2a
+
+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-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-18-macosx64:
+ description: nodejs 18 for x64 macOS
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-x64.tar.xz
+ sha256: 4f60b40071c6a67482b99d22a5265839177b8706a2b13b493396f368f0b42b00
+ size: 22496376
+ 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-18-macosx64-arm64:
+ description: nodejs 18 for arm64 macOS
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64.tar.xz
+ sha256: 857885257c586fb13c93d33d326ca82056ba8b7445ce27cf34dd406add04158e
+ size: 20768464
+ 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-18-win32:
+ description: nodejs 18 for x86 Windows
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-win-x86.zip
+ sha256: 3171148f735954bdca8adccb2200379e61142e0f5a2bdb4ca6432afb0d9951df
+ size: 27504941
+ 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/
+
+nodejs-18-win64:
+ description: nodejs 18 for x64 Windows
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v18.19.0/node-v18.19.0-win-x64.zip
+ sha256: 5311913d45e1fcc3643c58d1e3926eb85437b180f025fe5857413c9f02403645
+ size: 29332158
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+nodejs-18-source:
+ description: nodejs 18 source
+ fetch:
+ type: static-url
+ url: https://nodejs.org/dist/v18.19.0/node-v18.19.0.tar.xz
+ sha256: f52b41af20596a9abd8ed75241837ec43945468221448bbf841361e2091819b6
+ size: 41248748
+ artifact-name: nodejs.tar.zst
+ strip-components: 1
+ add-prefix: node/
+
+gnumake:
+ description: GNU make source
+ fetch:
+ type: static-url
+ url: https://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-plus-plus-4.0:
+ description: AFL++ 4.0x source
+ fetch:
+ type: git
+ repo: https://github.com/AFLplusplus/AFLplusplus
+ revision: 0d164e4c1811c4d05f940f78e90fc56b661fb3b4
+
+cargo-vet:
+ description: cargo-vet source
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/cargo-vet
+ revision: 5bd670061a22074eb5ee9d69feccc5900df00ec3
+
+symbol-scrapers:
+ description: Linux distribution symbol scraper source
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/symbol-scrapers
+ revision: 95ea2e4c5f82469cb394620c8d332e3457466e45
+
+xz-5.4.4:
+ description: xz 5.4.4 source code
+ fetch:
+ type: static-url
+ url: https://tukaani.org/xz/xz-5.4.4.tar.gz
+ sha256: aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8
+ size: 2874706
+ artifact-name: xz-source.tar.zst
+ strip-components: 1
+ add-prefix: xz-source/
+
+cpython-3.8.10:
+ description: cpython 3.8.10 source code
+ fetch:
+ type: static-url
+ url: https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz
+ sha256: b37ac74d2cbad2590e7cd0dd2b3826c29afe89a734090a87bf8c03c45066cb65
+ size: 24720640
+ artifact-name: cpython-source.tar.zst
+ strip-components: 1
+ add-prefix: cpython-source/
+
+cpython-3.8.10.exe:
+ description: cpython 3.8.10 installer
+ fetch:
+ type: static-url
+ url: https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe
+ sha256: 7628244cb53408b50639d2c1287c659f4e29d3dfdb9084b11aed5870c0c6a48a
+ size: 28296784
+ artifact-name: python-3.8.10-amd64.exe
+
+cpython-3.11.7:
+ description: cpython 3.11.7 source code
+ fetch:
+ type: static-url
+ url: https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tgz
+ sha256: 068c05f82262e57641bd93458dfa883128858f5f4997aad7a36fd25b13b29209
+ size: 26601929
+ artifact-name: cpython-source.tar.zst
+ strip-components: 1
+ add-prefix: cpython-source/
+
+cpython-3.11.7.exe:
+ description: cpython 3.11.7 installer
+ fetch:
+ type: static-url
+ url: https://www.python.org/ftp/python/3.11.7/python-3.11.7-amd64.exe
+ sha256: c117c6444494bbe4cc937e8a5a61899d53f7f5c5bc573c5d130304e457d54024
+ size: 26009544
+ artifact-name: python-3.11.7-amd64.exe
+
+windows-rs:
+ description: Source of the windows rust crate
+ fetch:
+ type: static-url
+ url: https://crates.io/api/v1/crates/windows/0.52.0/download
+ sha256: e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be
+ size: 11843715
+ artifact-name: windows-rs.tar.zst
+ strip-components: 1
+ add-prefix: windows-rs/
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..68e212bb9c
--- /dev/null
+++ b/taskcluster/ci/fuzzing/kind.yml
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.source_test:transforms
+ - taskgraph.transforms.task_context
+ - 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: debian12-amd64-build}
+ use-system-python: false
+ treeherder:
+ kind: test
+ tier: 3
+ task-context:
+ from-object: {}
+ substitution-fields: []
+ 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..7ff7816e7e
--- /dev/null
+++ b/taskcluster/ci/fxrecord/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
+
+kind-dependencies:
+ - build
+
+only-for-build-platforms:
+ - win64-shippable/opt
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.fxrecord
+ - gecko_taskgraph.transforms.release_notifications
+ - gecko_taskgraph.transforms.task
+
+jobs:
+ fxrecord:
+ name: notify-fxrecord-failure
+ description: "Desktop Startup Visual Metrics"
+ from-deps:
+ group-by: single-with-filters
+ 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
+ notifications:
+ status-types:
+ - "on-failed"
+ - "on-exception"
+ subject: fxrecord run failed
+ message: fxrecord run failed
+ emails:
+ - "barret@mozilla.com"
+ - "perftest-alerts@mozilla.com"
diff --git a/taskcluster/ci/geckodriver-mac-notarization/kind.yml b/taskcluster/ci/geckodriver-mac-notarization/kind.yml
new file mode 100644
index 0000000000..a90e6faa2e
--- /dev/null
+++ b/taskcluster/ci/geckodriver-mac-notarization/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.mac_notarization
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.geckodriver_mac_notarization
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - geckodriver-signing
+
+only-for-build-platforms:
+ - macosx64-geckodriver/opt
+ - macosx64-aarch64-geckodriver/opt
+
+jobs:
+ geckodriver-mac-notarization:
+ from-deps:
+ group-by: single-with-filters
+ worker-type: linux-signing
+ treeherder:
+ symbol: TM(gd-n)
+ worker:
+ implementation: scriptworker-signing
+ max-run-time: 3600
+ upstream-artifacts:
+ - taskType: signing
+ paths:
+ - public/build/geckodriver.tar.gz
+ formats: ["apple_notarization_geckodriver"]
+ taskId:
+ task-reference: <geckodriver-signing>
diff --git a/taskcluster/ci/geckodriver-signing/kind.yml b/taskcluster/ci/geckodriver-signing/kind.yml
new file mode 100644
index 0000000000..08007495e5
--- /dev/null
+++ b/taskcluster/ci/geckodriver-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.geckodriver_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - toolchain
+
+jobs:
+ geckodriver-signing:
+ from-deps:
+ with-attributes:
+ geckodriver: [true]
diff --git a/taskcluster/ci/generate-profile/kind.yml b/taskcluster/ci/generate-profile/kind.yml
new file mode 100644
index 0000000000..839c5aa7fe
--- /dev/null
+++ b/taskcluster/ci/generate-profile/kind.yml
@@ -0,0 +1,324 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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']
+ use-system-python: false
+
+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"
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ 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"
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ 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-aarch64-shippable/opt:
+ description: "Android 5.0 Aarch64 Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-aarch64-profile
+ treeherder:
+ platform: android-5-0-aarch64/pgo
+ worker-type: b-linux-kvm-gcp
+ worker:
+ chain-of-trust: true
+ max-run-time: 2700
+ kvm: true # for access to /dev/kvm for hw accel in the emulator
+ docker-image: {in-tree: ubuntu1804-test}
+ env:
+ WORKING_DIR: "/builds/worker"
+ MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ 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-aarch64-profile-generation.py
+ - android/android_pgo.py
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - android-sdk-linux
+ - android31-system-image-x86_64-linux
+ - android31-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-win2022
+ 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-win2022
+ 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: macosx1015-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
+
+ macosx64-aarch64-shippable/opt:
+ description: "macosx64 aarch64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: macosx64-aarch64-profile
+ treeherder:
+ platform: macosx1100-64-shippable/opt
+ worker-type: b-osx-arm64
+ 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..569141e8c8
--- /dev/null
+++ b/taskcluster/ci/hazard/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
+
+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: debian12-amd64-build}
+ use-system-python: false
+
+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..0350bc51af
--- /dev/null
+++ b/taskcluster/ci/instrumented-build/kind.yml
@@ -0,0 +1,409 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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
+ use-system-python: false
+ 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-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
+
+ macosx64-aarch64-shippable/opt:
+ description: "MacOS X aarch64 Cross-compile Instrumented"
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: osx-aarch64-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
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ fetches:
+ toolchain:
+ - 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
+ - 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
+
+ android-aarch64-shippable/opt:
+ description: "Android 5.0 AArch64 PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-aarch64
+ shipping-product: fennec
+ treeherder:
+ platform: android-5-0-aarch64/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: aarch64-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
+ - vs
+ - windows-rs
+ 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
+ - vs
+ - windows-rs
+ 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..d1effef2e6
--- /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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.l10n
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - repackage
+ - toolchain
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+jobs:
+ l10n:
+ description: Localization
+ from-deps:
+ group-by: platform
+ 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..711c28c44b
--- /dev/null
+++ b/taskcluster/ci/mar-signing-autograph-stage/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.mar_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - repackage
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+
+jobs:
+ mar-signing-autograph-stage:
+ from-deps:
+ group-by: single-with-filters
+ 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..ad470915ef
--- /dev/null
+++ b/taskcluster/ci/mar-signing-l10n/kind.yml
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.mar_signing
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ mar-signing-l10n:
+ from-deps:
+ group-by: single-with-filters
+ 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..f1337058d0
--- /dev/null
+++ b/taskcluster/ci/mar-signing/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.mar_signing
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ mar-signing:
+ from-deps:
+ group-by: single-with-filters
+ 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..8664e52168
--- /dev/null
+++ b/taskcluster/ci/maybe-release/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.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: 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..8e2b34147e
--- /dev/null
+++ b/taskcluster/ci/merge-automation/kind.yml
@@ -0,0 +1,72 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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: []
+ expiration-policy: long
diff --git a/taskcluster/ci/openh264-plugin/kind.yml b/taskcluster/ci/openh264-plugin/kind.yml
new file mode 100644
index 0000000000..993489e3f6
--- /dev/null
+++ b/taskcluster/ci/openh264-plugin/kind.yml
@@ -0,0 +1,226 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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: '31c4d2e4a037526fd30d4e5c39f60885986cf865'
+ use-system-python: false
+ 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
+ linux64-aarch64/opt:
+ attributes:
+ build_platform: linux64-aarch64
+ build_type: opt
+ treeherder:
+ platform: linux64-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/linux64-aarch64.py
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-clang
+ - linux64-dump_syms
+ - sysroot-x86_64-linux-gnu
+ - sysroot-aarch64-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-13.3
+ 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-13.3
+ win32/opt:
+ attributes:
+ build_platform: win32
+ build_type: opt
+ treeherder:
+ platform: win32/opt
+ worker-type: b-win2022
+ 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-win2022
+ 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-win2022
+ 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..e4dc174cc7
--- /dev/null
+++ b/taskcluster/ci/openh264-signing/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.openh264_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - openh264-plugin
+
+jobs:
+ openh264-signing:
+ from-deps:
+ group-by: single-with-filters
diff --git a/taskcluster/ci/packages/debian.yml b/taskcluster/ci/packages/debian.yml
new file mode 100644
index 0000000000..0a87ef6782
--- /dev/null
+++ b/taskcluster/ci/packages/debian.yml
@@ -0,0 +1,126 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+deb12-mercurial:
+ description: "Modern Mercurial for Debian bookworm"
+ treeherder:
+ symbol: Deb12(hg)
+ run:
+ using: debian-package
+ dist: bookworm
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-6.4.3.tar.gz
+ sha256: a77fb62d325934a83a00b2fc6db109f44c67b86768fc40490366f513640c7f64
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.deb12moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/bookworm/" debian/changelog
+
+deb12-valgrind:
+ description: "Valgrind for Debian bookworm"
+ treeherder:
+ symbol: Deb12(valgrind)
+ run:
+ dist: bookworm
+ dsc:
+ url: http://snapshot.debian.org/archive/debian/20230111T213757Z/pool/main/v/valgrind/valgrind_3.20.0-1.dsc
+ sha256: e32d373bf2d4f0bd0e9673c711d0e4a8eed43c22ca81714ae3e2d85b2f315493
+
+deb12-python-zstandard:
+ description: "python-zstandard for Debian bookworm"
+ treeherder:
+ symbol: Deb12(python-zstandard)
+ run:
+ using: debian-package
+ dist: bookworm
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/releases/download/0.22.0/zstandard-0.22.0.tar.gz
+ sha256: 8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70
+ pre-build-command: debchange -v 0.22.0-1.deb12moz --distribution testing "Mozilla backport for bookworm"
+ name: python-zstandard
+
+deb8-gcc-8:
+ description: "gcc 8 for Debian jessie"
+ treeherder:
+ symbol: Deb8(gcc-8)
+ 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/20210202T150504Z/pool/main/g/gcc-8/gcc-8_8.4.0-7.dsc
+ sha256: b93f13bc67f5a8f16e837fbb543d00d3475d5c95777a1b0b5a448fa2310a98c5
+ # 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-8:
+ description: "gcc 8 for Debian jessie"
+ treeherder:
+ symbol: Deb8-32(gcc-8)
+ 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/20210202T150504Z/pool/main/g/gcc-8/gcc-8_8.4.0-7.dsc
+ sha256: b93f13bc67f5a8f16e837fbb543d00d3475d5c95777a1b0b5a448fa2310a98c5
+ 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..d9bbd5f2ad
--- /dev/null
+++ b/taskcluster/ci/packages/ubuntu.yml
@@ -0,0 +1,156 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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-psutil:
+ description: "python-psutil for Ubuntu bionic"
+ treeherder:
+ symbol: Ub18(python-psutil)
+ run:
+ dsc:
+ url: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/python-psutil/5.4.2-1ubuntu0.1/python-psutil_5.4.2-1ubuntu0.1.dsc
+ sha256: a0ca4560d25fcfe5b7407d2cb21318f0635f2c3559898efce1679eef35b61f05
+ name: python-psutil
+ pre-build-command: >-
+ apt-get install python3.8-dev python3.8-dbg &&
+ export DEBPYTHON3_SUPPORTED="3.8"
+
+ub18-pygobject:
+ description: "pygobject for Ubuntu bionic"
+ treeherder:
+ symbol: Ub18(pygobject)
+ run:
+ dsc:
+ url: http://archive.ubuntu.com/ubuntu/pool/main/p/pygobject/pygobject_3.26.1-2ubuntu1.dsc
+ sha256: b77f84885d9b6d2c03422ecb3bf69d50dd0607d3456154943671e5a1f87946aa
+ name: pygobject
+ patch: pygobject.diff
+ pre-build-command: >-
+ apt-get install python3.8-dev python3.8-dbg &&
+ export DEBPYTHON3_SUPPORTED="3.6,3.8"
+
+ub18-pyatspi:
+ description: "pyatspi for Ubuntu bionic"
+ treeherder:
+ symbol: Ub18(pyatspi)
+ run:
+ dsc:
+ url: http://archive.ubuntu.com/ubuntu/pool/main/p/pyatspi/pyatspi_2.26.0+dfsg-1.dsc
+ sha256: 83c57052b055c0e2ee8307e3467d069de859db6c362137be01d142e085026826
+ name: pyatspi
+ pre-build-command: >-
+ sed -i s/\\basync\\b/asynchronous/ pyatspi/registry.py &&
+ EDITOR=cat dpkg-source --commit . sync &&
+ apt-get install python3.8-dev python3.8-dbg &&
+ export DEBPYTHON3_SUPPORTED="3.6,3.8"
+
+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: >-
+ apt-get install python3.8-dev &&
+ export DEBPYTHON3_SUPPORTED="3.8" &&
+ 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-6.4.3.tar.gz
+ sha256: a77fb62d325934a83a00b2fc6db109f44c67b86768fc40490366f513640c7f64
+ pre-build-command: >-
+ apt-get install python3.8-dev &&
+ export DEB_HG_PYTHON_VERSIONS="3.8" &&
+ export DEBPYTHON3_SUPPORTED="3.8" &&
+ 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.22.0/zstandard-0.22.0.tar.gz
+ sha256: 8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70
+ name: python-zstandard
+ dist: focal
+ pre-build-command: debchange -v 0.22.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-6.4.3.tar.gz
+ sha256: a77fb62d325934a83a00b2fc6db109f44c67b86768fc40490366f513640c7f64
+ 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
+
+ub22-python-zstandard:
+ description: "python-zstandard for Ubuntu jammy"
+ treeherder:
+ symbol: Ub22(python-zstandard)
+ run:
+ tarball:
+ url: https://github.com/indygreg/python-zstandard/releases/download/0.22.0/zstandard-0.22.0.tar.gz
+ sha256: 8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70
+ name: python-zstandard
+ dist: jammy
+ pre-build-command: debchange -v 0.22.0-1.ub22moz --distribution jammy "Mozilla backport for jammy"
+
+ub22-mercurial:
+ description: "Modern Mercurial for Ubuntu jammy"
+ treeherder:
+ symbol: Ub22(hg)
+ run:
+ tarball:
+ url: https://www.mercurial-scm.org/release/mercurial-6.4.3.tar.gz
+ sha256: a77fb62d325934a83a00b2fc6db109f44c67b86768fc40490366f513640c7f64
+ dist: jammy
+ pre-build-command: >-
+ cp -r contrib/packaging/debian debian &&
+ sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.ub22moz1/" \
+ -e "s/__DATE__/$(date --rfc-2822)/" \
+ -e "s/__CODENAME__/jammy/" debian/changelog
diff --git a/taskcluster/ci/partials-signing/kind.yml b/taskcluster/ci/partials-signing/kind.yml
new file mode 100644
index 0000000000..2c2bf0a9a0
--- /dev/null
+++ b/taskcluster/ci/partials-signing/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.mar_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - partials
+
+jobs:
+ partials-signing:
+ from-deps:
+ group-by: single-with-filters
+ 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..ea72198c5c
--- /dev/null
+++ b/taskcluster/ci/partials/kind.yml
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.partials
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ partials:
+ from-deps:
+ group-by: single-with-filters
+ shipping-phase: promote
diff --git a/taskcluster/ci/perftest/android.yml b/taskcluster/ci/perftest/android.yml
new file mode 100644
index 0000000000..6faebffee9
--- /dev/null
+++ b/taskcluster/ci/perftest/android.yml
@@ -0,0 +1,338 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+ worker:
+ env:
+ PYTHONPATH: "testing/mozbase/mozdevice:third_party/python/six"
+
+ run:
+ sparse-profile: perftest
+ checkout: true
+ cwd: '{checkout}'
+ 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-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)
+ tier: 2
+ 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
+ --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)
+ tier: 2
+ 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
+ --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-startup-focus-cold-main-first-frame:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Focus on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-focus-cmff)
+ tier: 2
+ 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
+ --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=focus
+ --AndroidStartUp-release-channel=nightly
+
+hw-a51-startup-focus-cold-view-nav-start:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Focus on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-focus-cvns)
+ tier: 2
+ 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
+ --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=focus
+ --AndroidStartUp-release-channel=nightly
+
+hw-a51-startup-geckoview-cold-main-first-frame:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Geckoview on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-geckoview-cmff)
+ tier: 2
+ 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
+ --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=geckoview_example
+ --AndroidStartUp-release-channel=nightly
+
+hw-a51-startup-geckoview-cold-view-nav-start:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Geckoview_example on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-geckoview-cvns)
+ tier: 2
+ 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
+ --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=geckoview_example
+ --AndroidStartUp-release-channel=nightly
+
+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-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..5d8f253653
--- /dev/null
+++ b/taskcluster/ci/perftest/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
+
+kind-dependencies:
+ - toolchain
+ - build
+
+transforms:
+ - gecko_taskgraph.transforms.perftest:transforms
+ - gecko_taskgraph.transforms.source_test:transforms
+ - taskgraph.transforms.task_context
+ - 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: []
+ use-system-python: false
+ treeherder:
+ kind: other
+ tier: 3
+ task-context:
+ from-object: {}
+ substitution-fields: []
+ 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..1016469fb8
--- /dev/null
+++ b/taskcluster/ci/perftest/linux.yml
@@ -0,0 +1,384 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.condprof.tests.tar.gz
+ - artifact: target.perftests.tests.tar.gz
+ - artifact: target.xpcshell.tests.tar.gz
+ - artifact: target.mochitest.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 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 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 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 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 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
+
+# We'd like not to have to specify each test separately here. See bug 1865852.
+service-worker:
+ description: Run service worker tests
+ treeherder:
+ symbol: perftest(linux-sw)
+ tier: 2
+ attributes:
+ batch: false
+ cron: false
+ run-on-projects: [autoland, mozilla-central]
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_caching.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts &&
+ python3 python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_fetch.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts &&
+ python3 python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_registration.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/firefox/firefox-bin
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts
+
+http3:
+ description: Run HTTP/3 test
+ treeherder:
+ symbol: perftest(http3)
+ attributes:
+ batch: false
+ # Disabled due to bug 1849400
+ cron: false
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ 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}/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]
+ # broken: bug 1879851
+ # - [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]
+ # broken: bug 1879851
+ # 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 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 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 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 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)
+ tier: 2
+ run:
+ using: run-task
+ sparse-profile: perftest
+ checkout: true
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 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}
+
+mwu-change-detector:
+ description: Runs Mann-Whitney U-test on two revisions to detect performance changes
+ treeherder:
+ symbol: perftest-detect(mwu)
+ tier: 2
+ run:
+ using: run-task
+ sparse-profile: perftest
+ checkout: true
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 python/mozperftest/mozperftest/runner.py
+ tools change-detector
+ --task-name {task_name}
+ --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..d98f7524b8
--- /dev/null
+++ b/taskcluster/ci/perftest/macosx.yml
@@ -0,0 +1,287 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ worker-type: t-osx-1015-r8
+ fetches:
+ build:
+ - artifact: target.mozinfo.json
+ - artifact: target.common.tests.tar.gz
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.mochitest.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
+
+# We'd like not to have to specify each test separately here. See bug 1865852.
+service-worker:
+ description: Run service worker tests
+ treeherder:
+ symbol: perftest(macosx-sw)
+ tier: 2
+ attributes:
+ batch: false
+ cron: false
+ run-on-projects: [autoland, mozilla-central]
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3 -m venv . &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_caching.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_fetch.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts &&
+ bin/python3 python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_registration.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/target.dmg
+ --flavor mochitest
+ --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
+ # Disabled due to bug 1849400
+ cron: false
+ 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]
+ # broken: bug 1879851
+ # - [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]
+ # broken: bug 1879851
+ # 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..3e027e5741
--- /dev/null
+++ b/taskcluster/ci/perftest/windows.yml
@@ -0,0 +1,235 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ worker-type: t-win10-64-1803-hw
+ fetches:
+ build:
+ - artifact: target.condprof.tests.tar.gz
+ - artifact: target.common.tests.tar.gz
+ - artifact: target.mochitest.tests.tar.gz
+ - 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
+
+# We'd like not to have to specify each test separately here. See bug 1865852.
+service-worker:
+ description: Run service worker tests
+ treeherder:
+ symbol: perftest(win-sw)
+ tier: 2
+ attributes:
+ batch: false
+ cron: false
+ run-on-projects: [autoland, mozilla-central]
+ run:
+ command: >-
+ mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
+ cd $MOZ_FETCHES_DIR &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_caching.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_fetch.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --flavor mochitest
+ --output $MOZ_FETCHES_DIR/../artifacts &&
+ python3.exe python/mozperftest/mozperftest/runner.py
+ dom/serviceworkers/test/performance/test_registration.html
+ --mochitest-binary ${MOZ_FETCHES_DIR}/firefox/firefox.exe
+ --flavor mochitest
+ --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]
+ # broken: bug 1879851
+ # - [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]
+ # broken: bug 1879851
+ # 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..e1a9849bbc
--- /dev/null
+++ b/taskcluster/ci/post-balrog-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.per_platform_dummy
+ - gecko_taskgraph.transforms.reverse_chunk_deps
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - balrog
+
+jobs:
+ post-balrog-dummy:
+ description: Dummy task to deal with max_dependencies
+ from-deps: {}
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: 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..40ff97dce8
--- /dev/null
+++ b/taskcluster/ci/post-beetmover-checksums-dummy/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.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
+ 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
diff --git a/taskcluster/ci/post-beetmover-dummy/kind.yml b/taskcluster/ci/post-beetmover-dummy/kind.yml
new file mode 100644
index 0000000000..e5d50ce256
--- /dev/null
+++ b/taskcluster/ci/post-beetmover-dummy/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.per_platform_dummy
+ - gecko_taskgraph.transforms.reverse_chunk_deps
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - beetmover-checksums
+ - beetmover-repackage
+
+jobs:
+ post-beetmover-dummy:
+ description: Dummy task to deal with max_dependencies
+ from-deps: {}
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: 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..95fe9f7684
--- /dev/null
+++ b/taskcluster/ci/post-langpack-dummy/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.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
+
+ 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
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..6d7bfb3515
--- /dev/null
+++ b/taskcluster/ci/post-update-verify-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.per_platform_dummy
+ - gecko_taskgraph.transforms.reverse_chunk_deps
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-update-verify
+
+jobs:
+ post-update-verify-dummy:
+ description: Dummy task to deal with max_dependencies
+ from-deps: {}
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: 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..64bd751ca3
--- /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]
+ esr115: [17824]
+ default: []
+ staging:
+ by-release-type:
+ beta: [32]
+ release: [145]
+ esr115: [909]
+ 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..dc1155df9d
--- /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: dev.bouncer.nonprod.webservices.mozgcp.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"]
+ esr115: ["firefox-esr115-cdntest", "firefox-esr115-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..affc0f2c77
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-push-to-release/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.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
+ worker:
+ max-run-time: 2700
+
+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..473f711a2a
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-signed-langpacks-checksums/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_langpack_checksums
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-beetmover-signed-langpacks
+
+jobs:
+ release-beetmover-signed-langpacks-checksums:
+ from-deps:
+ group-by: single-with-filters
+ 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..63bdcfe921
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-signed-langpacks/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.release_beetmover_signed_addons
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-signing
+ - shippable-l10n-signing
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+
+jobs:
+ release-beetmover-signed-langpacks:
+ description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory
+ from-deps:
+ group-by: single-with-filters
+ 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..d7a5bf828f
--- /dev/null
+++ b/taskcluster/ci/release-beetmover-source-checksums/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_source_checksums
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-source-checksums-signing
+
+jobs:
+ release-beetmover-source-checksums:
+ from-deps:
+ group-by: single-with-filters
+ 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..d1ce834c48
--- /dev/null
+++ b/taskcluster/ci/release-bouncer-aliases/kind.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/.
+---
+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-release-type:
+ 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
+ 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
+ esr115:
+ # 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
+ esrXXX: # XXX - to change when we branch next ESR
+ 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
+ default: {}
+ partner-bouncer-products-per-alias:
+ by-release-type:
+ beta:
+ partner-firefox-beta-PARTNER-latest: installer
+ partner-firefox-beta-PARTNER-stub: stub-installer
+ 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..7b7133ffd5
--- /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://dev.bouncer.nonprod.webservices.mozgcp.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..131b41b0a7
--- /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']
+ esr.*: ['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..c75a85ac54
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-beetmover-checksums/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_emefree_checksums
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-eme-free-repack-beetmover
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+jobs:
+ release-eme-free-repack-beetmover-checksums:
+ from-deps: {}
+ 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..7a33d0fb69
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-beetmover/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_repackage_partner
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-eme-free-repack-repackage-signing
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+jobs:
+ release-eme-free-repack-beetmover:
+ from-deps:
+ group-by: single-with-filters
+ shipping-phase: promote
+ partner-path: "{platform}-EME-free/{locale}"
diff --git a/taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml b/taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml
new file mode 100644
index 0000000000..ff04daf61d
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-mac-notarization/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.mac_notarization
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.partner_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-eme-free-repack-mac-signing
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+jobs:
+ release-eme-free-repack-mac-notarization:
+ from-deps:
+ group-by: partner-repack-ids
+ copy-attributes: true
+ shipping-product: firefox
+ shipping-phase: promote
+ max-run-time: 1800
+ copy-repack-ids: true
diff --git a/taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml b/taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml
new file mode 100644
index 0000000000..84d0e17dd1
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-mac-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.partner_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.hardened_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-eme-free-repack
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+jobs:
+ release-eme-free-repack-mac-signing:
+ from-deps:
+ group-by: partner-repack-ids
+ shipping-product: firefox
+ shipping-phase: promote
+ repacks-per-chunk: 5
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..c369761202
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-repackage-signing/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing_partner
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-eme-free-repack-repackage
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - macosx64-shippable/opt
+
+jobs:
+ release-eme-free-repack-repackage-signing:
+ from-deps:
+ group-by: single-with-filters
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..78bc18fe6d
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack-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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_partner
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-eme-free-repack
+ - release-eme-free-repack-mac-signing
+ - release-eme-free-repack-mac-notarization
+ - toolchain
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+jobs:
+ release-eme-free-repack-repackage:
+ from-deps:
+ group-by: single-with-filters
+ upstream-mac-kind:
+ by-build-type:
+ debug: release-eme-free-repack-mac-signing
+ default:
+ by-project:
+ mozilla-(central|beta|release|esr.*): release-eme-free-repack-mac-notarization
+ default: release-eme-free-repack-mac-signing
+ 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/kind.yml b/taskcluster/ci/release-eme-free-repack/kind.yml
new file mode 100644
index 0000000000..cc3e85071b
--- /dev/null
+++ b/taskcluster/ci/release-eme-free-repack/kind.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/.
+---
+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
+ - build-mac-signing
+ - build-mac-notarization
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+
+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..27f5ebf3ec
--- /dev/null
+++ b/taskcluster/ci/release-flatpak-push/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: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
+ flathub-scope: "flathub: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..ecc86bf4ab
--- /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://ftp.stage.mozaws.net/pub/{task[shipping-product]}/candidates
+ production:
+ https://archive.mozilla.org/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..ca998ea2f2
--- /dev/null
+++ b/taskcluster/ci/release-generate-checksums-beetmover/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.release_generate_checksums_beetmover
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-generate-checksums-signing
+
+jobs:
+ release-generate-checksums-beetmover:
+ from-deps:
+ group-by: single-with-filters
+ 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..a86b4c8dc5
--- /dev/null
+++ b/taskcluster/ci/release-generate-checksums-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.transform:loader
+
+kind-dependencies:
+ - release-generate-checksums
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.release_generate_checksums_signing
+ - gecko_taskgraph.transforms.task
+
+jobs:
+ release-generate-checksums-signing:
+ from-deps: {}
+ 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..71018c8cef
--- /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: "moz-fx-productdelivery-pr-38b5-productdelivery"
+ staging:
+ stage_product: "firefox"
+ bucket_name: "moz-fx-productdelivery-no-7d6a-productdelivery"
+ 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: "moz-fx-productdelivery-pr-38b5-productdelivery"
+ staging:
+ stage_product: "devedition"
+ bucket_name: "moz-fx-productdelivery-no-7d6a-productdelivery"
+ 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..c9f6c82973
--- /dev/null
+++ b/taskcluster/ci/release-mark-as-shipped/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.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: 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..45a0e5db53
--- /dev/null
+++ b/taskcluster/ci/release-notify-av-announce/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.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
+ 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..9fcc8a3262
--- /dev/null
+++ b/taskcluster/ci/release-notify-promote/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:
+ - 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
+ 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..1b641d383e
--- /dev/null
+++ b/taskcluster/ci/release-notify-push/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.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
+ 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..6f0c0f7627
--- /dev/null
+++ b/taskcluster/ci/release-notify-ship/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.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
+ 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..004665789d
--- /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: "debian12-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..2851ff7d37
--- /dev/null
+++ b/taskcluster/ci/release-partner-attribution-beetmover/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.partner_attribution_beetmover
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-partner-attribution
+
+jobs:
+ release-partner-attribution-beetmover:
+ from-deps:
+ group-by: single-with-filters
+ shipping-product: firefox
+ shipping-phase: promote
+ partner-path: "partner-repacks/{partner}/{subpartner}/v{release_partner_build_number}/{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..1da2656150
--- /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/attribute_builds.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..164446f683
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-beetmover/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_repackage_partner
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ release-partner-repack-beetmover:
+ from-deps:
+ group-by: single-with-filters
+ shipping-phase: promote
+ partner-path: "partner-repacks/{partner}/{subpartner}/v{release_partner_build_number}/{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..4975931312
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-chunking-dummy/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-partner-repack
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+
+jobs:
+ release-partner-repack-chunking-dummy:
+ from-deps:
+ group-by: single-with-filters
+ copy-attributes: true
+ 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
diff --git a/taskcluster/ci/release-partner-repack-mac-notarization/kind.yml b/taskcluster/ci/release-partner-repack-mac-notarization/kind.yml
new file mode 100644
index 0000000000..ee7a78e54f
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-mac-notarization/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.mac_notarization
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.partner_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-partner-repack-mac-signing
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+jobs:
+ release-partner-repack-mac-notarization:
+ from-deps:
+ group-by: partner-repack-ids
+ copy-attributes: true
+ shipping-product: firefox
+ shipping-phase: promote
+ max-run-time: 1800
+ copy-repack-ids: true
diff --git a/taskcluster/ci/release-partner-repack-mac-signing/kind.yml b/taskcluster/ci/release-partner-repack-mac-signing/kind.yml
new file mode 100644
index 0000000000..dec5189979
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-mac-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.partner_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.hardened_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-partner-repack
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+
+jobs:
+ release-partner-repack-mac-signing:
+ from-deps:
+ group-by: partner-repack-ids
+ copy-attributes: true
+ shipping-product: firefox
+ shipping-phase: promote
+ repacks-per-chunk: 5
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..2242023f91
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-repackage-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing_partner
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ release-partner-repack-repackage-signing:
+ from-deps:
+ group-by: single-with-filters
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..099c55240f
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack-repackage/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind
+ - gecko_taskgraph.transforms.chunk_partners
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_partner
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-partner-repack
+ - release-partner-repack-mac-signing
+ - release-partner-repack-mac-notarization
+ - toolchain
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+
+jobs:
+ release-partner-repack-repackage:
+ from-deps:
+ group-by: single-with-filters
+ upstream-mac-kind:
+ by-build-type:
+ debug: release-partner-repack-mac-signing
+ default:
+ by-project:
+ mozilla-(central|beta|release|esr.*): release-partner-repack-mac-notarization
+ default: release-partner-repack-mac-signing
+ 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/kind.yml b/taskcluster/ci/release-partner-repack/kind.yml
new file mode 100644
index 0000000000..2a5d2fc996
--- /dev/null
+++ b/taskcluster/ci/release-partner-repack/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.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
+ - build-mac-signing
+ - build-mac-notarization
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+
+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..fbc5bcc8a9
--- /dev/null
+++ b/taskcluster/ci/release-push-langpacks/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
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.release_sign_and_push_langpacks
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ release-push-langpacks:
+ description: Sends {locales} XPIs for platform to addons.mozilla.org
+ from-deps:
+ group-by: single-with-filters
+ worker-type: addon
+ worker:
+ 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..d742b4fb61
--- /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: dev.bouncer.nonprod.webservices.mozgcp.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..7f770d4ee5
--- /dev/null
+++ b/taskcluster/ci/release-secondary-flatpak-push/kind.yml
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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
+ flathub-scope: "flathub: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..ab9b20ed62
--- /dev/null
+++ b/taskcluster/ci/release-secondary-notify-ship/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.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
+ 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..73d9d8a410
--- /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://ftp.stage.mozaws.net/pub/{task[shipping-product]}/candidates
+ production:
+ https://archive.mozilla.org/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..de9f98acc0
--- /dev/null
+++ b/taskcluster/ci/release-source-checksums-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.source_checksums_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - beetmover-source
+
+jobs:
+ release-source-checksums-signing:
+ shipping-phase: promote
+ from-deps:
+ group-by: single-with-filters
diff --git a/taskcluster/ci/release-source-signing/kind.yml b/taskcluster/ci/release-source-signing/kind.yml
new file mode 100644
index 0000000000..9ab9e37d88
--- /dev/null
+++ b/taskcluster/ci/release-source-signing/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.build_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - release-source
+
+jobs:
+ release-source-signing:
+ from-deps:
+ copy-attributes: true
+ 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..959d0afb9a
--- /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: [esr115]
+ 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: esr115-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..d4e40cda12
--- /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"
+ esr115: "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..ad72e9b118
--- /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: [esr115]
+ 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: 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..ec7f9874da
--- /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()
+ 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-l10n/kind.yml b/taskcluster/ci/repackage-deb-l10n/kind.yml
new file mode 100644
index 0000000000..a22e50787a
--- /dev/null
+++ b/taskcluster/ci/repackage-deb-l10n/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.repackage_l10n
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.repackage_routes
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - shippable-l10n-signing
+
+only-for-build-platforms:
+ # Langpacks support all CPU architectures. We just need to pick one
+ - linux64-devedition/opt
+ - linux64-shippable/opt
+
+jobs:
+ repackage-deb-l10n:
+ from-deps:
+ group-by: single-with-filters
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {"in-tree": "debian12-repackage"}
+ max-run-time: 600
+ mozharness:
+ run-as-root: true
+ use-caches: false
+ config:
+ by-build-platform:
+ linux64\b.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ package-formats:
+ by-build-platform:
+ linux.*: [deb-l10n]
+ treeherder-group: deb-L10n
diff --git a/taskcluster/ci/repackage-deb/kind.yml b/taskcluster/ci/repackage-deb/kind.yml
new file mode 100644
index 0000000000..aa6381bb4a
--- /dev/null
+++ b/taskcluster/ci/repackage-deb/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
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.repackage_routes
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-signing
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux-devedition/opt
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+jobs:
+ repackage-deb:
+ from-deps:
+ group-by: single-with-filters
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ docker-image:
+ in-tree: debian12-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..c78b52de2b
--- /dev/null
+++ b/taskcluster/ci/repackage-l10n/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
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind
+ - gecko_taskgraph.transforms.repackage_l10n
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+ - 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
+
+jobs:
+ repackage-l10n:
+ from-deps:
+ group-by: single-with-filters
+ upstream-mac-kind:
+ by-build-type:
+ debug: shippable-l10n-mac-signing
+ default:
+ by-project:
+ mozilla-(central|beta|release|esr.*): shippable-l10n-mac-notarization
+ default: shippable-l10n-mac-signing
+ 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:
+ macosx64\b.*:
+ by-build-type:
+ # Debug builds can't be attributable
+ debug: [dmg, mar, pkg]
+ default: [dmg-attrib, mar, pkg]
+ linux.*: [mar]
+ win32\b.*: [mar, installer]
+ win64\b.*: [mar, installer]
+ fetches:
+ toolchain:
+ - linux64-mar-tools
+ - linux64-upx
+ treeherder-group: L10n-Rpk
diff --git a/taskcluster/ci/repackage-msi/kind.yml b/taskcluster/ci/repackage-msi/kind.yml
new file mode 100644
index 0000000000..fa2fb3ada3
--- /dev/null
+++ b/taskcluster/ci/repackage-msi/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - repackage-signing
+ - repackage-signing-l10n
+ - fetch
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+
+jobs:
+ repackage-msi:
+ worker-type: 'b-win2022'
+ from-deps:
+ group-by: single-with-filters
+ 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..90e3506f54
--- /dev/null
+++ b/taskcluster/ci/repackage-msix/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ # We're going to generate tasks based on this. We `depend` on and fetch the package from this.
+ - build-signing
+ - toolchain
+
+only-for-build-platforms:
+ - win32/opt
+ - win64/opt
+ - win64/debug
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+
+jobs:
+ repackage-msix:
+ from-deps:
+ group-by: platform
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 2700
+ # 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:
+ vendor: Mozilla
+ 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-build-platform:
+ .*-shippable: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ .*-devedition: "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..6be2a95bf0
--- /dev/null
+++ b/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml
@@ -0,0 +1,109 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+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
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+
+jobs:
+ repackage-shippable-l10n-msix:
+ from-deps:
+ group-by: platform
+ unique-kinds: false
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 2700
+ 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:
+ vendor: Mozilla
+ 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-build-platform:
+ .*-shippable: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ .*-devedition: "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..9d274b1ee3
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-l10n/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing
+ - gecko_taskgraph.transforms.repackage_routes
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ repackage-signing-l10n:
+ from-deps:
+ group-by: single-with-filters
diff --git a/taskcluster/ci/repackage-signing-msi/kind.yml b/taskcluster/ci/repackage-signing-msi/kind.yml
new file mode 100644
index 0000000000..8a6691413a
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-msi/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - repackage-msi
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win32-devedition/opt
+ - win32/opt
+ - win64-shippable/opt
+ - win64-devedition/opt
+ - win64/opt
+
+jobs:
+ repackage-signing-msi:
+ from-deps:
+ group-by: single-with-filters
diff --git a/taskcluster/ci/repackage-signing-msix/kind.yml b/taskcluster/ci/repackage-signing-msix/kind.yml
new file mode 100644
index 0000000000..4976f08366
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-msix/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - repackage-msix
+
+jobs:
+ repackage-signing-msix:
+ from-deps:
+ group-by: single-with-filters
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..0f6f7787ee
--- /dev/null
+++ b/taskcluster/ci/repackage-signing-shippable-l10n-msix/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - repackage-shippable-l10n-msix
+
+jobs:
+ repackage-signing-shippable-l10n-msix:
+ from-deps: {}
diff --git a/taskcluster/ci/repackage-signing/kind.yml b/taskcluster/ci/repackage-signing/kind.yml
new file mode 100644
index 0000000000..49ea244a9e
--- /dev/null
+++ b/taskcluster/ci/repackage-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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage_signing
+ - gecko_taskgraph.transforms.repackage_routes
+ - gecko_taskgraph.transforms.task
+
+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
+
+jobs:
+ repackage-signing:
+ from-deps:
+ group-by: single-with-filters
diff --git a/taskcluster/ci/repackage/kind.yml b/taskcluster/ci/repackage/kind.yml
new file mode 100644
index 0000000000..e67ce5566b
--- /dev/null
+++ b/taskcluster/ci/repackage/kind.yml
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.repackage_routes
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-signing
+ - build-mac-signing
+ - build-mac-notarization
+ - 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
+ - macosx64-aarch64/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
+
+jobs:
+ repackage:
+ from-deps:
+ group-by: single-with-filters
+ upstream-mac-kind:
+ by-build-type:
+ debug: build-mac-signing
+ default:
+ by-project:
+ mozilla-(central|beta|release|esr.*): build-mac-notarization
+ default: build-mac-signing
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time:
+ by-build-platform:
+ .*asan.*: 2700
+ default: 900
+ 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:
+ macosx64\b.*:
+ by-build-type:
+ # Debug builds can't be attributable
+ debug: [dmg, mar, pkg]
+ default: [dmg-attrib, mar, pkg]
+ linux.*: [mar]
+ 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..414c3bd4f8
--- /dev/null
+++ b/taskcluster/ci/repo-update/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.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: ""
+ DO_MOBILE_EXPERIMENTS:
+ by-project:
+ mozilla-central: "" # TODO: enable after firefox-android merge
+ 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-xlarge-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
+ - name: 'public/build/initial_experiments.diff'
+ path: '/home/worker/artifacts/initial_experiments.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..98c2235fe1
--- /dev/null
+++ b/taskcluster/ci/searchfox/kind.yml
@@ -0,0 +1,183 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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
+ use-system-python: false
+ # These builds don't use sccache because otherwise we wouldn't index
+ # the files that sccache optimizes away compilation for.
+ use-sccache: false
+
+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
+ 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
+ - 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
+ 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-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - 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
+ 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
+ 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
+ - vs
+ - windows-rs
+ 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
+ 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
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - 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-mac-notarization/kind.yml b/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml
new file mode 100644
index 0000000000..461eac91ac
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n-mac-notarization/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.mac_notarization
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.upstream_artifact_task
+ - gecko_taskgraph.transforms.shippable_l10n_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - shippable-l10n-mac-signing
+
+only-for-attributes:
+ - shippable
+
+jobs:
+ shippable-l10n-mac-notarization:
+ from-deps:
+ group-by: chunk-locales
+ copy-attributes: true
+ max-run-time: 1800
+ treeherder:
+ symbol: BMN
diff --git a/taskcluster/ci/shippable-l10n-mac-signing/kind.yml b/taskcluster/ci/shippable-l10n-mac-signing/kind.yml
new file mode 100644
index 0000000000..21fe44b4f0
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n-mac-signing/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.shippable_l10n_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.hardened_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - shippable-l10n
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+ - macosx64/opt
+ - macosx64/debug
+
+jobs:
+ shippable-l10n-mac-signing:
+ from-deps:
+ group-by: chunk-locales
+ treeherder:
+ symbol: BMS
+ attributes:
+ shipping_phase: promote
diff --git a/taskcluster/ci/shippable-l10n-signing/kind.yml b/taskcluster/ci/shippable-l10n-signing/kind.yml
new file mode 100644
index 0000000000..fdb545381f
--- /dev/null
+++ b/taskcluster/ci/shippable-l10n-signing/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.upstream_artifact_task
+ - gecko_taskgraph.transforms.shippable_l10n_signing
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - shippable-l10n
+
+only-for-attributes:
+ - shippable
+ - nightly
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+ - macosx64/opt
+ - macosx64/debug
+
+jobs:
+ shippable-l10n-signing:
+ from-deps:
+ group-by: chunk-locales
diff --git a/taskcluster/ci/shippable-l10n/kind.yml b/taskcluster/ci/shippable-l10n/kind.yml
new file mode 100644
index 0000000000..d38edb2ee5
--- /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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.l10n
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - repackage
+ - toolchain
+
+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
+
+jobs:
+ shippable-l10n:
+ description: Localization
+ from-deps:
+ group-by: platform
+ 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/snap-upstream-build/kind.yml b/taskcluster/ci/snap-upstream-build/kind.yml
new file mode 100644
index 0000000000..7016989ba8
--- /dev/null
+++ b/taskcluster/ci/snap-upstream-build/kind.yml
@@ -0,0 +1,218 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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
+ treeherder:
+ kind: build
+ tier: 2
+ symbol: B
+ worker-type: b-linux-gcp
+ run:
+ checkout: true
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: snap-build-core22}
+ max-run-time: 900
+ env:
+ UPLOAD_DIR: artifacts
+ MOZ_STACKWALK_SYMBOLS_SERVER: '1'
+ fetches:
+ toolchain:
+ - linux64-minidump-stackwalk
+
+jobs:
+ amd64-nightly/opt:
+ description: Build Firefox Nightly as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-nightly
+ build_type: opt
+ index:
+ product: firefox
+ job-name: amd64-nightly
+ type: generic
+ worker:
+ max-run-time: 9000
+ run:
+ using: run-task
+ command: >-
+ ./run.sh nightly
+ treeherder:
+ platform: linux64-snap-amd64-nightly/opt
+
+ amd64-nightly/debug:
+ description: Build Firefox Nightly (debug) as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-nightly
+ build_type: debug
+ index:
+ product: firefox
+ job-name: amd64-nightly-debug
+ type: generic
+ worker:
+ max-run-time: 7200
+ run:
+ using: run-task
+ command: >-
+ ./run.sh nightly 1
+ treeherder:
+ platform: linux64-snap-amd64-nightly/debug
+
+ amd64-beta/opt:
+ description: Build Firefox Beta as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-beta
+ build_type: opt
+ index:
+ product: firefox
+ job-name: amd64-beta
+ type: generic
+ worker:
+ max-run-time: 9000
+ run:
+ using: run-task
+ command: >-
+ ./run.sh beta
+ treeherder:
+ platform: linux64-snap-amd64-beta/opt
+
+ amd64-beta/debug:
+ description: Build Firefox Beta (debug) as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-beta
+ build_type: debug
+ index:
+ product: firefox
+ job-name: amd64-beta-debug
+ type: generic
+ worker:
+ max-run-time: 7200
+ run:
+ using: run-task
+ command: >-
+ ./run.sh beta 1
+ treeherder:
+ platform: linux64-snap-amd64-beta/debug
+
+ amd64-stable/opt:
+ description: Build Firefox Stable as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-stable
+ build_type: opt
+ index:
+ product: firefox
+ job-name: amd64-stable
+ type: generic
+ worker:
+ max-run-time: 9000
+ run:
+ using: run-task
+ command: >-
+ ./run.sh stable
+ treeherder:
+ platform: linux64-snap-amd64-stable/opt
+
+ amd64-stable/debug:
+ description: Build Firefox Stable (debug) as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-stable
+ build_type: debug
+ index:
+ product: firefox
+ job-name: amd64-stable-debug
+ type: generic
+ worker:
+ max-run-time: 7200
+ run:
+ using: run-task
+ command: >-
+ ./run.sh stable 1
+ treeherder:
+ platform: linux64-snap-amd64-stable/debug
+
+ amd64-esr/opt:
+ description: Build Firefox ESR as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-esr
+ build_type: opt
+ index:
+ product: firefox
+ job-name: amd64-esr
+ type: generic
+ worker:
+ max-run-time: 9000
+ run:
+ using: run-task
+ command: >-
+ ./run.sh esr
+ treeherder:
+ platform: linux64-snap-amd64-esr/opt
+
+ amd64-esr/debug:
+ description: Build Firefox ESR (debug) as a Snap using upstream definition
+ attributes:
+ build_platform: linux64-snap-upstream-esr
+ build_type: debug
+ index:
+ product: firefox
+ job-name: amd64-esr-debug
+ type: generic
+ worker:
+ max-run-time: 7200
+ run:
+ using: run-task
+ command: >-
+ ./run.sh esr 1
+ treeherder:
+ platform: linux64-snap-amd64-esr/debug
+
+ amd64-try/opt:
+ description: Build Firefox Nightly as a Snap using upstream definition and try repo
+ attributes:
+ build_platform: linux64-snap-upstream-try
+ build_type: opt
+ index:
+ product: firefox
+ job-name: amd64-try
+ type: generic
+ worker:
+ max-run-time: 9000
+ run:
+ using: run-task
+ command: >-
+ ./run.sh try
+ treeherder:
+ platform: linux64-snap-amd64-try/opt
+
+ amd64-try/debug:
+ description: Build Firefox Nightly (debug) as a Snap using upstream definition and try repo
+ attributes:
+ build_platform: linux64-snap-upstream-try
+ build_type: debug
+ index:
+ product: firefox
+ job-name: amd64-try-debug
+ type: generic
+ worker:
+ max-run-time: 7200
+ run:
+ using: run-task
+ command: >-
+ ./run.sh try 1
+ treeherder:
+ platform: linux64-snap-amd64-try/debug
diff --git a/taskcluster/ci/snap-upstream-test/kind.yml b/taskcluster/ci/snap-upstream-test/kind.yml
new file mode 100644
index 0000000000..585a1fca1f
--- /dev/null
+++ b/taskcluster/ci/snap-upstream-test/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
+
+only-for-attributes:
+ - build_platform
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+ - gecko_taskgraph.transforms.snap_test
+
+kind-dependencies:
+ - snap-upstream-build
+
+job-defaults:
+ attributes:
+ retrigger: true
+ cron: true
+ treeherder:
+ kind: test
+ tier: 2
+ run:
+ using: run-task
+ checkout: false
+ worker:
+ max-run-time: 900
+ env:
+ WAYLAND_DISPLAY: 'wayland-0'
+ artifacts:
+ - name: public/build
+ type: directory
+ path: builds/worker/artifacts/
+
+jobs:
+ basic:
+ from-deps:
+ group-by: single-with-filters
+ description: Runs basic tests on a Firefox Snap package
+ worker-type: t-linux-wayland
+ run:
+ command: >-
+ export TASKCLUSTER_ROOT_DIR=$PWD && cd $MOZ_FETCHES_DIR/ && ./tests.sh --basic
+ fetches:
+ snap-upstream-build:
+ - firefox.snap
+ - snap-tests.zip
+ treeherder:
+ platform: linux64/opt
+ symbol: Sel(basic)
+ attributes:
+ snap_test_type: basic
+
+ qa:
+ from-deps:
+ group-by: single-with-filters
+ description: Runs some QA tests on a Firefox Snap package
+ worker-type: t-linux-wayland
+ run:
+ command: >-
+ export TASKCLUSTER_ROOT_DIR=$PWD && cd $MOZ_FETCHES_DIR/ && ./tests.sh --qa
+ fetches:
+ snap-upstream-build:
+ - firefox.snap
+ - snap-tests.zip
+ treeherder:
+ platform: linux64/opt
+ symbol: Sel(QA)
+ attributes:
+ snap_test_type: qa
diff --git a/taskcluster/ci/source-test/clang.yml b/taskcluster/ci/source-test/clang.yml
new file mode 100644
index 0000000000..d77066afe7
--- /dev/null
+++ b/taskcluster/ci/source-test/clang.yml
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ run-on-projects: ["trunk"]
+ 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 only on try and code-review tasks
+ # to avoid running clang format on the whole codebase
+ run-on-projects: []
+ 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..3e0459f8f0
--- /dev/null
+++ b/taskcluster/ci/source-test/doc.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/.
+---
+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
+ env:
+ LC_ALL: C
+ 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 --check-num-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
+ env:
+ LC_ALL: C
+ MOZ_SOURCE_DOCS_USE_GOOGLE: "1"
+ 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..b1fffaf64f
--- /dev/null
+++ b/taskcluster/ci/source-test/file-metadata.yml
@@ -0,0 +1,126 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: debian12-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - 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: debian12-amd64-build}
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - 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: debian12-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
+ - linux64-pkgconf
+ - 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 --runcounts-input-file /builds/worker/artifacts/test-run-info.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..bb605e939a
--- /dev/null
+++ b/taskcluster/ci/source-test/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.try_job:transforms
+ - gecko_taskgraph.transforms.source_test:transforms
+ - taskgraph.transforms.task_context
+ - 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
+ - puppeteer.yml
+ - python.yml
+ - shadow-scheduler.yml
+ - taskgraph.yml
+ - vendor.yml
+ - webidl.yml
+ - webcompat.yml
+ - wpt-manifest.yml
+ - wpt-metadata.yml
+
+job-defaults:
+ use-system-python: false
+ attributes:
+ retrigger: true
+ task-context:
+ from-object: {}
+ substitution-fields: []
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..28f2381827
--- /dev/null
+++ b/taskcluster/ci/source-test/mozlint.yml
@@ -0,0 +1,609 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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'
+ - '**/*.json'
+ - '**/*.jsx'
+ - '**/*.mjs'
+ - '**/*.sjs'
+ - '**/*.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
+
+stylelint:
+ description: CSS lint check
+ treeherder:
+ symbol: stylelint
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ ./mach lint -v -l stylelint -f treeherder -f json:/builds/worker/mozlint.json .
+ when:
+ files-changed:
+ # Files that are likely audited.
+ - '**/*.css'
+ - 'tools/lint/styleint.yml'
+ # Run when stylelint policies change.
+ - '**/.stylelintignore'
+ - '**/*stylelintrc*'
+
+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'
+ - '**/*.idl'
+ - '**/*.js'
+ - '**/*.jsm'
+ - '**/*.jsx'
+ - '**/*.m'
+ - '**/*.mjs'
+ - '**/*.mm'
+ - '**/*.properties'
+ - '**/*.py'
+ - '**/*.rs'
+ - '**/*.svg'
+ - '**/*.webidl'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ - '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'
+ - '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-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-ruff:
+ description: Run ruff over the gecko codebase
+ treeherder:
+ symbol: py(ruff)
+ run:
+ mach: lint -v -l ruff -f treeherder -f json:/builds/worker/mozlint.json .
+ when:
+ files-changed:
+ - '**/*.py'
+ - '**/*.configure'
+ - '**/.ruff.toml'
+ - 'pyproject.toml'
+ - 'tools/lint/ruff.yml'
+ - 'tools/lint/python/ruff.py'
+ - 'tools/lint/python/ruff_requirements.txt'
+
+test-manifest:
+ description: lint test manifests
+ treeherder:
+ symbol: misc(tm)
+ run:
+ mach: lint -v -l test-manifest-alpha -l test-manifest-disable -l test-manifest-skip-if -f treeherder -f json:/builds/worker/mozlint.json .
+ when:
+ files-changed:
+ - '**/*.toml'
+ - '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-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
+
+
+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'
+ - '**/*.json'
+ - '**/*.md'
+ - '**/*.mn'
+ - '**/*.properties'
+ - '**/*.py'
+ - '**/*.rs'
+ - '**/*.rst'
+ - '**/*.toml'
+ - '**/*.webidl'
+ - '**/*.yaml'
+ - '**/*.yml'
+ - '**/*.xhtml'
+
+
+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'
+ - '**/*.json'
+ - '**/*.jsx'
+ - '**/*.m'
+ - '**/*.m4s'
+ - '**/*.md'
+ - '**/*.mjs'
+ - '**/*.mm'
+ - '**/*.mn'
+ - '**/*.mozbuild'
+ - '**/*.mp4'
+ - '**/*.png'
+ - '**/*.rs'
+ - '**/*.rst'
+ - '**/*.svg'
+ - '**/*.toml'
+ - '**/*.ttf'
+ - '**/*.wasm'
+ - '**/*.webidl'
+ - '**/*.xhtml'
+ - '**/*.xml'
+ - '**/*.yaml'
+ - '**/*.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:
+ - 'devtools/perfdocs/**'
+ - 'taskcluster/**'
+ - '**/perftest.toml'
+ - 'python/mozperftest/**'
+ - 'testing/awsy/**'
+ - 'testing/raptor/**'
+ - 'testing/talos/**'
+ - 'testing/performance/**'
+ - 'testing/perfdocs/**'
+ - 'tools/lint/perfdocs.yml'
+
+condprof-addons-verify:
+ description: |
+ Verifies all xpi files needed by condprof customization sideloading addons are
+ included in the firefox-addons fetch task.
+ treeherder:
+ symbol: misc(condprof-addons)
+ run:
+ mach: |
+ lint -v -l condprof-addons -f treeherder -f json:/builds/worker/mozlint.json .
+ fetches:
+ fetch:
+ - firefox-addons
+ when:
+ files-changed:
+ - 'testing/condprofile/condprof/customization/*.json'
+ - 'taskcluster/ci/fetch/browsertime.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..f1df46b73d
--- /dev/null
+++ b/taskcluster/ci/source-test/node.yml
@@ -0,0 +1,186 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 &&
+ rm -rf node_modules &&
+ npm ci &&
+ cd /builds/worker/checkouts/gecko/browser/components/aboutwelcome &&
+ rm -rf node_modules &&
+ npm ci &&
+ cd /builds/worker/checkouts/gecko/browser/components/asrouter &&
+ rm -rf node_modules &&
+ npm ci &&
+ cd /builds/worker/checkouts/gecko/browser/components/newtab &&
+ rm -rf node_modules &&
+ npm ci &&
+ node bin/try-runner.js
+ when:
+ files-changed:
+ - "browser/components/newtab/**"
+ - "browser/components/aboutwelcome/**"
+ - "browser/components/asrouter/**"
+
+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 &&
+ rm -rf node_modules &&
+ npm ci &&
+ cd /builds/worker/checkouts/gecko/browser/components/aboutwelcome &&
+ rm -rf node_modules &&
+ npm ci &&
+ cd /builds/worker/checkouts/gecko/browser/components/asrouter &&
+ rm -rf node_modules &&
+ npm ci &&
+ cd /builds/worker/checkouts/gecko/browser/components/newtab &&
+ rm -rf node_modules &&
+ npm ci &&
+ node bin/try-runner.js
+ # This should only run on mozilla-central, as the bot will only parse mozilla-central
+ # coverage anyways.
+ run-on-projects: ["mozilla-central"]
+ # Note the lack of a "when" rule here. This is to avoid seeing fluctuating
+ # coverage on coverage.moz.tools / searchfox depending on whether the latest
+ # push contained patches touching these files or not.
+
+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
+ artifacts:
+ - type: file
+ name: public/code-review/issues.json
+ path: /builds/worker/issues.json
+ 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=all --artifact=/builds/worker/issues.json
+ when:
+ files-changed:
+ - 'devtools/client/**'
+ - 'devtools/shared/**'
+
+devtools-verify-bundle:
+ description: devtools bundle checker
+ platform: linux1804-64/opt
+ attributes:
+ code-review: true
+ 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
+ artifacts:
+ - type: file
+ name: public/code-review/issues.json
+ path: /builds/worker/issues.json
+ 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 --output /builds/worker/issues.json
+ 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/puppeteer.yml b/taskcluster/ci/source-test/puppeteer.yml
new file mode 100644
index 0000000000..3bfd1a9645
--- /dev/null
+++ b/taskcluster/ci/source-test/puppeteer.yml
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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/pup_errorsummary.json
+ path: /builds/worker/pup_errorsummary.json
+ optimization:
+ skip-unless-expanded: null
+
+puppeteer:
+ description: Puppeteer tests against Firefox CDP-based remote protocol
+ treeherder:
+ symbol: Pup(cdp)
+ 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 --cdp --headless --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json
+
+puppeteer-with-bidi:
+ description: Puppeteer tests against Firefox Webdriver BiDi remote protocol
+ treeherder:
+ symbol: Pup(wd)
+ 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 --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json
diff --git a/taskcluster/ci/source-test/python.yml b/taskcluster/ci/source-test/python.yml
new file mode 100644
index 0000000000..3fd8b25b32
--- /dev/null
+++ b/taskcluster/ci/source-test/python.yml
@@ -0,0 +1,636 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ windows11-64.*: win11-64-2009-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.yml'
+ - '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
+ - windows11-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
+ - windows11-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
+ - windows11-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
+ - windows11-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 py311-hg6.4
+ when:
+ files-changed:
+ - 'testing/mozharness/**'
+
+mozlint:
+ description: python/mozlint unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows11-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
+ windows11-64/opt: toolchain-win64-clang-tidy
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ - linux64-rust
+ macosx1015-64/opt:
+ - macosx64-node
+ - macosx64-rust
+ windows11-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
+ - windows11-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
+ - windows11-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
+ - windows11-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
+ - windows11-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: try
+ run:
+ using: python-test
+ subsuite: try
+ when:
+ files-changed:
+ - 'taskcluster/ci/config.yml'
+ - 'taskcluster/ci/test/**'
+ - 'taskcluster/gecko_taskgraph/transforms/**'
+ - 'tools/tryselect/**'
+
+mozbuild:
+ description: mozbuild unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows11-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: mbu
+ run:
+ using: python-test
+ subsuite: mozbuild
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ macosx1015-64/opt:
+ - macosx64-node
+ windows11-64/opt:
+ - win64-node
+ - win64-mozmake
+ 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
+ - windows11-64/opt
+ treeherder:
+ symbol: mpu
+ run:
+ mach: perftest-test
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ macosx1015-64/opt:
+ - macosx64-node
+ windows11-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/asrouter/content-src/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/asrouter/content-src/schemas/extract-test-corpus.js'
+ - 'browser/components/asrouter/content-src/schemas/make-schemas.py'
+ - 'browser/components/asrouter/content-src/**/*.schema.json'
+ - 'browser/components/asrouter/modules/CFRMessageProvider.sys.mjs'
+ - 'browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs'
+ - 'browser/components/asrouter/modules/PanelTestProvider.sys.mjs'
+
+condprof:
+ description: testing/condprofile unit tests
+ platform:
+ - linux1804-64/opt
+ - macosx1015-64/opt
+ - windows11-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
+ - windows11-64/opt
+ python-version: [3]
+ treeherder:
+ symbol: fg
+ run:
+ using: python-test
+ subsuite: featuregates
+ fetches:
+ toolchain:
+ by-platform:
+ linux1804-64/opt:
+ - linux64-node
+ windows11-64/opt:
+ - win64-node
+ when:
+ files-changed:
+ - 'toolkit/components/featuregates/**'
+
+skip-fails:
+ description: testing/skip-fails unit tests
+ always-target: false
+ python-version: [3]
+ treeherder:
+ symbol: sf
+ run:
+ using: python-test
+ subsuite: skip-fails
+ when:
+ files-changed:
+ - 'testing/skipfails.py'
+ - 'testing/test/**'
+
+talos:
+ description: testing/talos unit tests
+ platform: windows11-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
+ - windows11-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
+ windows11-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/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..132d5e488c
--- /dev/null
+++ b/taskcluster/ci/source-test/taskgraph.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/.
+---
+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} &&
+ python taskcluster/scripts/misc/summarize-tgdiff.py /builds/worker/artifacts/diffs/ 20
+ 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..358ffeeb3f
--- /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-win2022:
+ - 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..cf7604bf5a
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/linux.yml
@@ -0,0 +1,606 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: debian12-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-pbl-linux64/opt:
+ description: "Spidermonkey PBL"
+ index:
+ job-name: sm-pbl-linux64-opt
+ treeherder:
+ symbol: SM(pbl)
+ platform: linux64/opt
+ tier: 2
+ run:
+ spidermonkey-variant: pbl
+ 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
+
+# Like sm-linux64-wasi/opt but with Intl/ICU enabled.
+sm-linux64-wasi-intl/opt:
+ description: "Spidermonkey WASI Intl opt build"
+ index:
+ job-name: sm-linux64-wasi-intl-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: SM(wasi-intl)
+ tier: 2
+ run:
+ spidermonkey-variant: wasi-intl
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+sm-wasm-no-experimental-linux64/debug:
+ description: "Spidermonkey WebAssembly No experimental features"
+ index:
+ job-name: sm-wasm-no-experimental-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(wasm-no-experimental)
+ tier: 2
+ run:
+ spidermonkey-variant: wasm-noexperimental
+ 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-linux64-wasi-pbl/opt:
+ description: "Spidermonkey WASI opt build with PBL"
+ index:
+ job-name: sm-pbl-linux64-wasi-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: SM(wasi-pbl)
+ tier: 2
+ run:
+ spidermonkey-variant: wasi-pbl
+ 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
+
+sm-temporal-linux64/debug:
+ description: "SpiderMonkey Temporal"
+ index:
+ job-name: sm-temporal-linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(temporal)
+ run:
+ spidermonkey-variant: temporaldebug
+ 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..2fa90deb8e
--- /dev/null
+++ b/taskcluster/ci/spidermonkey/windows.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/.
+---
+job-defaults:
+ worker-type: b-win2022
+ 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-cbindgen
+ - win64-clang
+ - win64-rust
+ - win64-mozmake
+ - vs
+
+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-cbindgen
+ - win64-clang
+ - win64-rust
+ - win64-mozmake
+ - vs
+
+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-cbindgen
+ - win64-clang
+ - win64-rust
+ - win64-mozmake
+ - vs
+
+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-cbindgen
+ - win64-clang
+ - win64-rust
+ - win64-mozmake
+ - vs
+
+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-cbindgen
+ - win64-clang
+ - win64-rust
+ - win64-mozmake
+ - vs
+
+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-cbindgen
+ - win64-clang
+ - win64-rust
+ - win64-mozmake
+ - vs
diff --git a/taskcluster/ci/startup-test/kind.yml b/taskcluster/ci/startup-test/kind.yml
new file mode 100644
index 0000000000..bc62e7e764
--- /dev/null
+++ b/taskcluster/ci/startup-test/kind.yml
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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
+ # non-system python
+ - toolchain
+ # linux
+ - build-signing
+ # mac
+ - repackage
+ # windows
+ - repackage-signing
+
+transforms:
+ - gecko_taskgraph.transforms.startup_test:transforms
+ - 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']
+ worker:
+ max-run-time: 3600
+ run:
+ sparse-profile: startup-test
+ attributes:
+ build_type: opt
+ treeherder:
+ symbol: SUT
+ kind: test
+ tier: 1
+ use-system-python: false
+
+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: win11-64-2009-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: win11-64-2009-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..6a01325598
--- /dev/null
+++ b/taskcluster/ci/static-analysis-autotest/kind.yml
@@ -0,0 +1,101 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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
+ use-system-python: false
+ 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-win2022
+ 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: false
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-clang-tidy
+ - win64-nasm
+ - win64-node
+ - win64-dump_syms
+ - win64-winchecksec
+ - vs
+ - windows-rs
+ - 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..5b81817188
--- /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.transform:loader
+
+# 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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.reprocess_symbols
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - system-symbols
+ - system-symbols-upload
+ - fetch
+
+jobs:
+ system-symbols-reprocess:
+ from-deps:
+ kinds: ["system-symbols", "system-symbols-upload"]
+ group-by: platform
+ 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 <system-symbols/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..dd9462a84b
--- /dev/null
+++ b/taskcluster/ci/system-symbols-upload/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.upload_symbols
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - system-symbols
+
+jobs:
+ system-symbols-upload:
+ description: Upload Symbols
+ from-deps: {}
+ 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 <system-symbols/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..0090454a68
--- /dev/null
+++ b/taskcluster/ci/system-symbols/kind.yml
@@ -0,0 +1,320 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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
+ flatpak:
+ description: Extract Firefox Flatpak symbols found in crashreports
+ attributes:
+ build_platform: firefox-flatpak
+ index:
+ product: system-symbols
+ job-name: firefox-flatpak
+ 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-flatpak
+ treeherder:
+ symbol: firefox-symbols-fltpk
+ 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
+ win-gfx:
+ description: Extract symbols from closed-source Windows graphics drivers
+ attributes:
+ build_platform: windows-graphics
+ index:
+ product: system-symbols
+ job-name: win-gfx
+ type: generic
+ worker:
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /builds/worker/artifacts/
+ docker-image: {in-tree: system-symbols-win-gfx}
+ max-run-time: 14400
+ run:
+ using: run-task
+ command: >-
+ ./run.sh
+ treeherder:
+ symbol: sys-symbols-win-gfx
+ fetches:
+ fetch:
+ - symbol-scrapers
+ alpine:
+ description: Extract Alpine Linux system symbols found in crashreports
+ attributes:
+ build_platform: alpine
+ index:
+ product: system-symbols
+ job-name: alpine
+ 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 alpine
+ treeherder:
+ symbol: sys-symbols-alpine
+ fetches:
+ fetch:
+ - symbol-scrapers
diff --git a/taskcluster/ci/test/awsy.yml b/taskcluster/ci/test/awsy.yml
new file mode 100644
index 0000000000..c3cafe7e9a
--- /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:
+ windows.*(?:-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|windows|mac)(?!.*shippable).*/opt: []
+ default: [trunk]
+ 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|windows|mac)(?!.*shippable).*/opt: []
+ default: [trunk]
+ 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..b1422e1b2f
--- /dev/null
+++ b/taskcluster/ci/test/browsertime-desktop.yml
@@ -0,0 +1,918 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.*
+ custom-car:
+ - .*64.*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
+ fetches:
+ toolchain:
+ by-app:
+ custom-car:
+ by-test-platform:
+ # this satisfied taskgraph for now, but once mac/win is implemented
+ # then linux will be the default
+ linux.*:
+ - linux64-custom-car
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ windows10-64.*:
+ - win64-custom-car
+ - win64-minidump-stackwalk
+ - win64-fix-stacks
+ macosx1015.*:
+ - macosx64-custom-car
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ macosx1400.*:
+ - macosx-arm64-custom-car
+ - macosx64-aarch64-minidump-stackwalk
+ - macosx64-aarch64-fix-stacks
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*.:
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ windows10-64.*:
+ - win64-minidump-stackwalk
+ - win64-fix-stacks
+ macos.*:
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+
+browsertime-tp6:
+ <<: &tp6-defaults
+ description: Raptor (browsertime) tp6 page-load tests
+ limit-platforms:
+ by-app:
+ chrome:
+ - .*shippable.*
+ chromium:
+ - .*shippable.*
+ safari:
+ - .*macos.*shippable.*
+ custom-car:
+ - .*64.*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:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ (macosx1015|linux|windows10-64).*shippable-qr.*: [trunk]
+ default: []
+ default: []
+ default:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64(?!.*nightlyasrelease).*shippable-qr/.*: [trunk]
+ default: []
+ default: []
+ treeherder-symbol: Btime(tp6)
+ raptor:
+ apps: [firefox, chrome]
+ 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]
+ 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(?!.*nightlyasrelease).*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
+ default:
+ - --chimera
+ - --conditioned-profile=settled
+ - --extra-profiler-run
+ raptor:
+ apps: [firefox, chrome, custom-car]
+ test: tp6
+ run-visual-metrics:
+ by-test-platform:
+ macosx1400.*shippable.*: false
+ # Bug 1845014 Resolve osx 1300 vismet permafails
+ default: 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]
+ .*64(?!.*nightlyasrelease).*shippable-qr/.*: [trunk]
+ 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
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ macosx1100.*shippable.*: [mozilla-central]
+ .*64(?!.*nightlyasrelease).*shippable-qr/.*: [trunk]
+ default: []
+ default: []
+ 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, safari, custom-car]
+ subtests:
+ by-test-platform:
+ macosx1400.*shippable.*:
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ default:
+ by-app:
+ firefox:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ - [matrix-react-bench, mrb]
+ - [motionmark-animometer, mm-a]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ - [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] Perma fails on osx 10.15.x machines (Bug 1807754)
+ - [motionmark-animometer, mm-a]
+ - [motionmark-htmlsuite, mm-h]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ - [speedometer, sp]
+ # - [speedometer3, sp3] Perma fails on osx 10.15.x machines (Bug 1809535)
+ - [stylebench, sb]
+ - [sunspider, ss]
+ - [unity-webgl, ugl]
+ - [webaudio, wa]
+ custom-car:
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ chrome:
+ by-test-platform:
+ macosx1015.*shippable.*:
+ - 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]
+ default:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ - [matrix-react-bench, mrb]
+ - [motionmark-animometer, mm-a]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite, mm-h]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [stylebench, sb]
+ - [sunspider, ss]
+ - [unity-webgl, ugl]
+ - [webaudio, wa]
+ default:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ - [matrix-react-bench, mrb]
+ - [motionmark-animometer, mm-a]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite, mm-h]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ - [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
+ 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]
+ .*nightlyasrelease.*: [autoland, mozilla-central]
+ default: []
+ custom-car:
+ by-test-platform:
+ (linux|windows10-64).*shippable-qr.*: [mozilla-central]
+ default: []
+ default: []
+ unity-webgl:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ # Disabled on autoland due to bug 1720063, and bug 1795826
+ .*64.*shippable-qr/.*: [mozilla-central]
+ default: []
+ default: []
+ speedometer:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk]
+ .*nightlyasrelease.*: [autoland]
+ default: []
+ custom-car:
+ by-test-platform:
+ (linux|windows10-64).*shippable-qr.*: [mozilla-central]
+ default: []
+ default: []
+ default:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [trunk]
+ 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
+ motionmark-htmlsuite-ramp: 3000
+ motionmark-animometer-ramp: 2100
+ unity-webgl: 2400
+ speedometer3:
+ by-test-platform:
+ macosx1400.*shippable.*: 4200
+ default: 2100
+ speedometer: 2100
+ default: 900
+ mozharness:
+ extra-options:
+ by-test-platform:
+ macosx1400.*shippable.*:
+ - --extra-profiler-run
+ - --page-timeout=900000
+ default:
+ - --extra-profiler-run
+
+browsertime-benchmark-wasm:
+ description: Raptor (browsertime) WASM benchmarks
+ raptor:
+ apps: [firefox, chrome, safari]
+ 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]
+ safari:
+ # - [wasm-misc, wm] Perma fails (Bug 1809533)
+ - [wasm-godot, godot]
+ default:
+ - [wasm-misc, wm]
+ - [wasm-godot, godot]
+ treeherder-symbol: Btime()
+ tier: 2
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64(?!.*nightlyasrelease).*shippable-qr/.*: [mozilla-central]
+ default: []
+ default: []
+ max-run-time:
+ by-subtest:
+ wasm-godot: 1500
+ wasm-godot-baseline: 1500
+ wasm-misc-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(?!.*nightlyasrelease).*shippable-qr/.*: [mozilla-central]
+ 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-youtube-playback-power:
+ description: Browsertime YouTube Playback on Firefox with power usage tracking
+ raptor:
+ apps: [firefox]
+ subtests:
+ by-app:
+ firefox:
+
+ - [youtube-playback-h264-1080p30, ytp-h264-1080p30]
+ - [youtube-playback-h264-1080p60, ytp-h264-1080p60]
+ - [youtube-playback-h264-full-1080p30, ytp-h264-full-1080p30]
+ - [youtube-playback-h264-full-1080p60, ytp-h264-full-1080p60]
+ - [youtube-playback-v9-1080p30, ytp-v9-1080p30]
+ - [youtube-playback-v9-1080p60, ytp-v9-1080p60]
+ - [youtube-playback-v9-full-1080p30, ytp-v9-full-1080p30]
+ - [youtube-playback-v9-full-1080p60, ytp-v9-full-1080p60]
+ treeherder-symbol: Btime()
+ run-on-projects:
+ by-test-platform:
+ macosx.*shippable-qr.*: [mozilla-central]
+ default: []
+ tier: 2
+ max-run-time: 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, safari]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ by-app:
+ safari:
+ - amazon
+ - [bing-search, bing]
+ - ebay
+ # - [facebook, fb] Perma fails on osx 10.15.7
+ - fandom
+ - [google-docs, gdocs]
+ - [google-mail, gmail]
+ - [google-search, gsearch]
+ - [google-slides, gslides]
+ - imdb
+ - imgur
+ # - instagram # (see bug 1736999)
+ - linkedin
+ - microsoft
+ # - netflix # Perma fails on osx 10.15.7 (Bug 1802922)
+ # - office (site loads blank page if not signed in)
+ # - outlook Perma fails on osx 10.15.7
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ # - twitter Perma fails on osx 10.15.7
+ - wikipedia
+ - yahoo-mail
+ - youtube
+ chrome:
+ - amazon
+ - [bing-search, bing]
+ - ebay
+ - [facebook, fb]
+ - fandom
+ - [google-docs, gdocs]
+ - [google-mail, gmail]
+ - [google-search, gsearch]
+ - [google-slides, gslides]
+ - imdb
+ # - imgur (see bugs 1825337 & 1817420)
+ - instagram
+ - linkedin
+ - microsoft
+ - netflix
+ # - office (site loads blank page if not signed in)
+ - outlook
+ - paypal
+ - pinterest
+ - reddit
+ - tumblr
+ - twitch
+ - twitter
+ - wikipedia
+ - yahoo-mail
+ - 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
+ - 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
+ - --browsertime-arg=maxLoadTime=240000
+ 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(?!.*nightlyasrelease).*shippable-qr/.*: [mozilla-central]
+ default: []
+ tier: 1
+ 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(?!.*nightlyasrelease).*shippable-qr/.*: [trunk]
+ default: []
+ tier: 1
+ treeherder-symbol: Btime(welcome)
+
+browsertime-regression-tests:
+ raptor:
+ apps: [firefox]
+ subtests: [[constant-regression, regress-c]]
+ description: Raptor (browsertime) tests for our regression detection system
+ max-run-time: 700
+ run-on-projects: [autoland]
+ limit-platforms:
+ - .*linux(?!.*shippable)(?!.*clang).*
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-64.*shippable.*-qr.*: []
+ default: []
+ tier: 2
+ treeherder-symbol: Btime(regressor)
+
+browsertime-upload:
+ raptor:
+ apps: [firefox, chrome, safari]
+ subtests:
+ - [upload, upload-h2]
+ - upload-h3
+ description: Raptor (browsertime) http2, http3 file upload performance 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(upload)
+ fetches:
+ fetch:
+ - upload-speed-test-file
+
+browsertime-pageload-benchmark:
+ raptor:
+ apps: [firefox]
+ subtests: [tp6-bench]
+ description: Raptor (browsertime) TP6 pageload benchmark test
+ max-run-time: 4500
+ mozharness:
+ extra-options:
+ - --browser-cycles=5
+ run-on-projects: []
+ tier: 2
+ treeherder-symbol: Btime(tp6-bench)
+
+browsertime-speculative:
+ raptor:
+ apps: [firefox]
+ run-visual-metrics: true
+ subtests: [connect]
+ description: Raptor (browsertime) speculative connect pageload tests
+ max-run-time: 420
+ run-on-projects:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [autoland]
+ default: []
+ tier: 2
+ treeherder-symbol: Btime(speculative)
+
+browsertime-throttled:
+ raptor:
+ apps: [firefox]
+ run-visual-metrics: true
+ subtests: [throttled]
+ description: Raptor (browsertime) throttled network pageload tests
+ max-run-time: 420
+ run-on-projects: []
+ tier: 3
+ treeherder-symbol: Btime(throttled)
+
+browsertime-tp6-webextensions:
+ <<: *tp6-defaults
+ <<: *tp6-essential-defaults
+ description: Raptor (browsertime) tp6 page-load tests with webextensions installed on Firefox Desktop
+ raptor:
+ apps: [firefox]
+ test: tp6
+ run-visual-metrics: true
+ subtests:
+ - amazon
+ fetches:
+ fetch:
+ - firefox-addons
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ macosx1100.*shippable.*: [mozilla-central]
+ .*64(?!.*nightlyasrelease).*shippable-qr/.*: [trunk-only]
+ default: []
+ default: []
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows10-64.*shippable.*-qr.*:
+ - --chimera
+ - --browsertime
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled-webext
+ default:
+ - --chimera
+ - --browsertime
+ - --conditioned-profile=settled-webext
+ # TODO(Bug 1867781): promote to tier 2 after confirming no issue have been caught while runing as tier 3.
+ tier: 3
+ treeherder-symbol: Btime-webext(tp6)
+
+browsertime-indexeddb:
+ description: Raptor (browsertime) tests for IndexedDB
+ max-run-time: 2700
+ treeherder-symbol: Btime(idb)
+ limit-platforms:
+ by-app:
+ chrome:
+ - .*shippable.*
+ chromium:
+ - .*shippable.*
+ custom-car:
+ - .*64.*shippable.*
+ default: []
+ raptor:
+ apps: [firefox, chrome, chromium]
+ run-visual-metrics: false
+ subtests:
+ - addMab1
+ - addMabN
+ - addMar1
+ - addMarN
+ - addMbl1
+ - addMblN
+ - addkAB1
+ - addkABN
+ - addkAR1
+ - addkARN
+ - addkBL1
+ - addkBLN
+ - getkeyrng
+ run-on-projects:
+ by-app:
+ firefox:
+ by-test-platform:
+ windows.*-32.*: []
+ .*64.*shippable-qr/.*: [autoland, mozilla-central]
+ default: []
+ default: []
+ tier:
+ by-app:
+ firefox: 2
+ default: 3
+ mozharness:
+ extra-options:
+ - --extra-profiler-run
diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/ci/test/browsertime-mobile.yml
new file mode 100644
index 0000000000..89bbc5fb6b
--- /dev/null
+++ b/taskcluster/ci/test/browsertime-mobile.yml
@@ -0,0 +1,456 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.v3.firefox-android.apks.fenix-nightly.latest.arm64-v8a
+ name: build/target.arm64-v8a.apk
+ default:
+ index: mobile.v3.firefox-android.apks.fenix-nightly.latest.armeabi-v7a
+ name: build/target.armeabi-v7a.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
+ optimization:
+ skip-unless-backstop: null
+ limit-platforms:
+ by-app:
+ chrome-m:
+ - .*shippable-qr.*
+ cstm-car-m:
+ - .*shippable-qr.*
+ default: []
+ fetches:
+ toolchain:
+ by-app:
+ cstm-car-m:
+ - android-custom-car
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+
+browsertime-tp6m:
+ <<: &tp6m-defaults
+ description: Raptor (browsertime) tp6 page-load tests on android
+ max-run-time:
+ by-subtest:
+ reddit:
+ by-app:
+ geckoview: 7200
+ default: 3600
+ imdb:
+ by-app:
+ geckoview: 7200
+ default: 3600
+ default: 3600
+ 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-a51.*shippable-qr.*: [trunk-only]
+ default: []
+ default:
+ by-subtest:
+ wikipedia:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: []
+ default: []
+ google-search-restaurants:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: []
+ default: []
+ default:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: []
+ default: []
+ default: []
+
+browsertime-tp6m-essential:
+ <<: *tp6m-defaults
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, fenix, chrome-m, refbrow]
+ run-visual-metrics: true
+ test: tp6m
+ subtests:
+ - allrecipes
+ - [amazon-search, amazon-s]
+ - espn
+ # Bug 1682027 - Disabled due to high failure rate
+ # - facebook
+ - google
+ - [microsoft-support, micros-sup]
+ - [youtube-watch, youtube-w]
+ run-on-projects:
+ by-app:
+ geckoview:
+ by-subtest:
+ allrecipes:
+ by-test-platform:
+ android-hw-a51.*shippable.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ android-hw-a51.*shippable.*: [trunk-only]
+ default: []
+ default: []
+ tier:
+ by-app:
+ geckoview: 1
+ refbrow: 2
+ default: 3
+
+browsertime-tp6m-webextensions:
+ <<: *tp6m-defaults
+ description: Raptor (browsertime) tp6 page-load tests with webextensions installed on android
+ treeherder-symbol: Btime-webext(tp6m)
+ run-without-variant: false
+ mozharness:
+ extra-options:
+ - --chimera
+ - --browsertime-no-ffwindowrecorder
+ - --conditioned-profile=settled-webext
+ - --browser-cycles=5
+ raptor:
+ apps: [fenix]
+ run-visual-metrics: true
+ test: tp6m
+ subtests:
+ - [amazon-search, amazon-s]
+ fetches:
+ fetch:
+ - firefox-addons
+ run-on-projects:
+ by-app:
+ fenix:
+ by-test-platform:
+ android-hw-a51.*shippable.*: [mozilla-central]
+ default: []
+ default: []
+ # TODO(Bug 1867781): promote to tier 2 after confirming no issue have been caught while runing as tier 3.
+ tier: 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-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]
+ 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-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
+ default: ""
+ youtube-playback-widevine-hfr:
+ by-test-platform:
+ android-hw-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-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-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-benchmark-speedometer-mobile:
+ description: Browsertime Speedometer on Android
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, fenix, chrome-m, cstm-car-m]
+ tier:
+ by-app:
+ fenix: 1
+ default: 3
+ run-on-projects:
+ by-app:
+ refbrow: []
+ geckoview:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: [trunk]
+ default: []
+ cstm-car-m:
+ by-test-platform:
+ android-hw-p6.*shippable-qr.*: []
+ android-hw-s21.*shippable-qr.*: []
+ default: [mozilla-central]
+ default: []
+ treeherder-symbol: Btime(sp)
+ mozharness:
+ extra-options:
+ - --test=speedometer
+
+browsertime-benchmark-speedometer3-mobile:
+ description: Browsertime Speedometer 3 on Android
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, fenix, chrome-m, cstm-car-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-only]
+ default: []
+ cstm-car-m:
+ by-test-platform:
+ android-hw-p6.*shippable-qr.*: []
+ android-hw-s21.*shippable-qr.*: []
+ default: [mozilla-central]
+ default: []
+ treeherder-symbol: Btime(sp3)
+ mozharness:
+ extra-options:
+ - --test=speedometer3
+
+browsertime-benchmark-motionmark:
+ description: Raptor (browsertime) Motionmark benchmark tests
+ run-without-variant: false
+ raptor:
+ apps: [fenix, chrome-m, geckoview]
+ subtests:
+ - [motionmark-animometer, mm-a]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite, mm-h]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ run-on-projects:
+ by-app:
+ chrome-m: []
+ default:
+ by-test-platform:
+ android-hw-a51-.*aarch64-shippable-qr.*: [mozilla-central]
+ default: []
+ treeherder-symbol: Btime()
+ tier: 2
+
+browsertime-benchmark-unity-webgl-mobile:
+ description: Browsertime Unity WebGL on Android
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, refbrow, fenix, chrome-m]
+ tier:
+ by-app:
+ geckoview: 2
+ default: 3
+ treeherder-symbol: Btime(ugl)
+ run-on-projects:
+ by-app:
+ refbrow: []
+ geckoview:
+ by-test-platform:
+ # Disabled on autoland due to bug 1720063, and bug 1795826
+ android-hw-a51-.*aarch64-shippable-qr.*: [mozilla-central]
+ 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..08434d5ac7
--- /dev/null
+++ b/taskcluster/ci/test/compiled.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/.
+---
+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
+
+cppunittest:
+ 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|tsan|wayland).*: []
+ 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.*-ccov-qr/opt: 8
+ windows.*: 1
+ macosx.*/opt: 1
+ macosx.*/debug: 3
+ android.*: 10
+ default: 6
+ max-run-time:
+ by-test-platform:
+ windows.*-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..514fb648c4
--- /dev/null
+++ b/taskcluster/ci/test/kind.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/.
+---
+loader: gecko_taskgraph.loader.test:loader
+
+kind-dependencies:
+ - build
+ - build-signing
+ - repackage-signing-shippable-l10n-msix
+ - repackage-signing-msix
+ - repackage-signing
+ - 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
+ - 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
+ windows1.*:
+ by-variant:
+ msix: true
+ default: false
+ default: false
+ fetches:
+ toolchain:
+ by-test-platform:
+ win.*:
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ macosx1015.*:
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ macosx1100.*:
+ - macosx64-aarch64-minidump-stackwalk
+ - macosx64-aarch64-fix-stacks
+ macosx1400.*:
+ - macosx64-aarch64-minidump-stackwalk
+ - macosx64-aarch64-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..d586a6cf24
--- /dev/null
+++ b/taskcluster/ci/test/marionette.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/.
+---
+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
+ 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:
+ .*wayland.*: []
+ .*/debug: built-projects
+ default: []
+ default:
+ by-test-platform:
+ .*(tsan|wayland).*: []
+ 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..b31860a165
--- /dev/null
+++ b/taskcluster/ci/test/misc.yml
@@ -0,0 +1,269 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-fission", "no-fission"]
+ treeherder-symbol: gv-junit
+ loopback-video: true
+ target: geckoview-androidTest.apk
+ max-run-time: 3600
+ run-on-projects:
+ by-variant:
+ geckoview-fission: ['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 or wayland
+ .*(-ccov|-asan|-shippable|-wayland).*: []
+ # 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 or wayland
+ .*(-ccov|-asan|-shippable|-wayland).*: []
+ # 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-emulator-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 or shippable or wayland
+ .*(-ccov|-asan|-shippable|-wayland).*: []
+ # 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-emulator-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:
+ windows.*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..f2399d7116
--- /dev/null
+++ b/taskcluster/ci/test/mochitest.yml
@@ -0,0 +1,1171 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ windows11-64-2009.*:
+ 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
+ - webrender-sw+no-fission
+ - webrender-sw
+ - headless
+ - headless+socketprocess_networking
+ - http3
+ - http2
+ - geckoview-fission-isolate-high-value
+ run-on-projects:
+ by-variant:
+ conditioned_profile:
+ by-test-platform:
+ .*(asan|ccov|wayland).*: []
+ linux1804-64(-shippable)?-qr/opt: ['trunk']
+ windows11-64.*(-shippable)?-qr/opt: ['trunk']
+ default: []
+ xorigin:
+ by-test-platform:
+ .*(asan|wayland).*: []
+ windows.*ccov.*: []
+ (linux.*64|macosx.*64|windows11.*)(-shippable)?-qr/(opt|debug): ['trunk']
+ windows.*64-ccov-qr/opt: ['mozilla-central']
+ linux.*64-ccov-qr/opt: ['mozilla-central']
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android-em.*: ['trunk']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ .*(asan|ccov|wayland).*: []
+ (linux.*64|macosx.*64|windows11-64.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ 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:
+ .*wayland.*: []
+ linux1804-64.*: ['mozilla-central']
+ default: []
+ headless+socketprocess_networking:
+ by-test-platform:
+ .*wayland.*: []
+ linux1804-64.*: ['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: []
+ http3:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ default: []
+ http2:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ default: []
+ geckoview-fission-isolate-high-value:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android-em.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ default: built-projects
+ chunks:
+ by-test-platform:
+ android.*/debug: 10
+ linux.*/debug: 16
+ linux.*64-tsan-qr/opt: 20
+ .*(asan|ccov).*: 10
+ linux.*/opt: 8
+ windows.*/debug: 8
+ default: 5
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan-qr/opt: xlarge # runs out of memory using 8GB
+ default: default
+ max-run-time: 3600
+ 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
+ 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-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - android-emulator-linux
+ - linux64-node
+ - linux64-minidump-stackwalk
+
+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
+ - webrender-sw+1proc
+ run-on-projects:
+ by-variant:
+ socketprocess_networking+1proc:
+ by-test-platform:
+ linux.*64-qr/debug: ['autoland', 'mozilla-central']
+ 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
+ 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
+ - 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
+ windows1.*-64.*-qr/debug: built-projects
+ .*wayland.*: [] # will change to built-projects when greened up
+ default: []
+ webrender-sw+a11y-checks:
+ by-test-platform:
+ linux.*64(-shippable)?-qr/opt: ['trunk']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ .*asan.*: []
+ .*ccov.*: []
+ (linux.*64|macosx.*64|windows1.*-64.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ msix:
+ by-test-platform:
+ windows11-64-2009-qr/debug: built-projects
+ windows11-64-2009(-shippable)?-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-variant:
+ msix:
+ by-test-platform:
+ .*/debug: 16
+ default: 7
+ default:
+ by-test-platform:
+ linux.*wayland.*/opt: 8
+ linux.*wayland.*/debug: 12
+ linux.*-qr/debug: 16
+ linux.*64-asan-qr/opt: 16
+ linux.*64-tsan-qr/opt: 32
+ macosx.*64-qr/debug: 12
+ macosx.*64.*/opt: 10
+ windows.*-ccov.*/.*: 14
+ windows.*-asan-qr/opt: 14
+ windows.*32-qr/debug: 12
+ default: 8
+ max-run-time:
+ by-variant:
+ msix: 5400
+ socketprocess_networking:
+ by-test-platform:
+ linux.*-qr/debug: 7200
+ default: 5400
+ default:
+ by-test-platform:
+ linux.*64-ccov.*/.*: 9000
+ linux.*64-tsan-qr/opt: 10800
+ linux.*-qr/opt: 5400
+ macosx.*64-ccov.*/.*: 10800
+ windows.*-ccov.*/.*: 10800
+ windows.*-asan-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
+ linux.*64-asan-qr/opt: xlarge # runs out of memory using 8GB
+ default: default
+ allow-software-gl-layers: false
+
+mochitest-browser-chrome-failures:
+ description: "Mochitest browser-chrome failures run"
+ suite:
+ name: mochitest-browser-chrome
+ treeherder-symbol: M-f(bc)
+ schedules-component: mochitest-browser-chrome
+ loopback-video: true
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: [] # will change to built-projects when greened up
+ default: []
+ tier: 3
+ chunks: 2
+ max-run-time:
+ by-test-platform:
+ linux.*wayland.*/opt: 1800
+ linux.*wayland.*/debug: 3600
+ default: 3600
+ mozharness:
+ mochitest-flavor: browser
+ chunked: true
+ extra-options:
+ by-test-platform:
+ linux.*wayland.*:
+ - --run-failures="os == 'linux' && os_version == '22.04'"
+ - --timeout-as-pass
+ - --crash-as-pass
+ instance-size: 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
+ run-on-projects:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ default: built-projects
+ tier: default
+ max-run-time:
+ by-test-platform:
+ .*tsan.*: 2700
+ linux.*/debug: 2700
+ default: 1800
+ mozharness:
+ mochitest-flavor: browser
+ chunked:
+ by-test-platform:
+ .*tsan.*: true
+ default: false
+ chunks:
+ by-test-platform:
+ .*tsan.*: 2
+ .*asan.*: 2
+ default: 1
+ 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
+ test-manifest-loader: null
+ variants: ["wmf-media-engine"]
+ run-on-projects:
+ by-variant:
+ wmf-media-engine:
+ by-test-platform:
+ .*asan.*: []
+ windows11-64.*/debug: [] # Bug 1805736
+ windows1.*-64.*: ['autoland', 'mozilla-central']
+ default: []
+ default:
+ 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
+
+mochitest-browser-screenshots:
+ description: "Browser Screenshots"
+ suite:
+ name: mochitest-browser-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
+ - webrender-sw+1proc
+ run-on-projects:
+ by-variant:
+ socketprocess_networking+1proc:
+ by-test-platform:
+ .*asan.*: []
+ .*ccov.*: []
+ (linux.*64|macosx.*64|windows11-64.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ 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:
+ .*wayland.*: []
+ default: 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
+ - webrender-sw
+ - devtools-no-eft+no-fission
+ - http3
+ 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: []
+ http3:
+ by-test-platform:
+ linux1804-64-qr/debug: built-projects
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ .*asan.*: []
+ .*ccov.*: []
+ (linux.*64|macosx.*64|windows.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ default: []
+ webrender-sw:
+ by-test-platform:
+ linux.*64-qr/debug: built-projects
+ .*wayland.*: [] # will change to built-projects when greened up
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ linux.*64-ccov-qr/opt: []
+ default: built-projects
+ tier: default
+ max-run-time:
+ by-test-platform:
+ windows.*-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.*wayland.*/debug: 14
+ linux.*64-qr/debug: 14
+ 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
+ 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-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - android-emulator-linux
+ - linux64-node
+ - linux64-minidump-stackwalk
+
+
+mochitest-devtools-chrome-failures:
+ description: "Mochitest devtools-chrome run"
+ suite:
+ name: mochitest-devtools-chrome
+ schedules-component: mochitest-browser-chrome
+ treeherder-symbol: M-f(dt)
+ loopback-video: true
+ variants:
+ - webrender-sw
+ run-on-projects:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: [] # will change to built-projects when greened up
+ default: []
+ tier: 3
+ chunks: 2
+ max-run-time:
+ by-test-platform:
+ linux.*wayland.*/opt: 1800
+ linux.*wayland.*/debug: 3600
+ default: 3600
+ mozharness:
+ mochitest-flavor: chrome
+ chunked: true
+ extra-options:
+ by-test-platform:
+ linux.*wayland.*:
+ - --run-failures="os == 'linux' && os_version == '22.04'"
+ - --timeout-as-pass
+ - --crash-as-pass
+ instance-size: default
+ 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
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ 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: []
+ .*wayland.*: []
+ linux.*: ['trunk'] # linux opt/debug/asan
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ 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
+ - webrender-sw+1proc
+ run-on-projects:
+ by-variant:
+ socketprocess_networking+1proc: []
+ 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:
+ windows.*-ccov.*/.*: 7200
+ macosx.*64-ccov.*/.*: 7200
+ linux.*64-tsan-qr/opt: 7200
+ default: 5400
+ variants:
+ - media-gpu
+ - no-fission
+ - socketprocess+no-fission
+ - socketprocess
+ - webgl-ipc
+ - webrender-sw+no-fission
+ - webrender-sw
+ - wmf-media-engine
+ - msix
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ android.*: []
+ windows.*ccov.*: []
+ .*hw-ref.*: []
+ linux.*64(-shippable|-asan|-tsan)?-qr/opt: ['autoland', 'mozilla-central']
+ macosx.*-64(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ windows1.*(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central']
+ windows.*-asan-qr/opt: ['autoland', 'mozilla-central']
+ default: []
+ socketprocess+no-fission:
+ by-test-platform:
+ .*hw-ref.*: []
+ 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.*: []
+ windows.*ccov.*: []
+ .*hw-ref.*: []
+ 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
+ windows1.*(-devedition|-shippable)?-qr/(opt|debug): built-projects
+ windows.*-asan-qr/opt: ['autoland', 'mozilla-central']
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ .*hw-ref.*: []
+ 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.*: []
+ .*hw-ref.*: []
+ linux1804-64-qr/debug: ['autoland', 'mozilla-central']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-hw-.*/opt: []
+ .*hw-ref.*: []
+ 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:
+ .*hw-ref.*: []
+ windows1.*ccov.*: []
+ windows1.*-64.*: ['autoland', 'mozilla-central']
+ default: []
+ msix:
+ by-test-platform:
+ .*hw-ref.*: []
+ windows11-64-2009-shippable-qr/opt: built-projects
+ windows11-64-2009-qr/opt: ['autoland']
+ windows11-64-2009-qr/debug: ['autoland']
+ default: []
+ media-gpu:
+ by-test-platform:
+ .*hw-ref.*: []
+ (macosx.*64|windows11.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central', 'mozilla-beta']
+ default: []
+ # TODO : add Android, it hasn't supported 'tags'
+ # TODO : add Linux, it would crash on gfxFeature.cpp:180
+ default:
+ by-test-platform:
+ .*hw-ref.*: []
+ android-hw.*/opt: []
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux.*(asan|ccov)/opt: []
+ .*(ccov/|asan/|-32).*: built-projects
+ (android|linux|windows10-64-2009|windows11-64-2009|macos)(?!.*-qr).*: []
+ default: built-projects
+ loopback-video: true
+ chunks:
+ by-variant:
+ wmf-media-engine: 1
+ media-gpu: 1
+ default:
+ by-test-platform:
+ (android|macos).*/opt: 1
+ ^(?!.*asan).*windows1.*/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
+ windows1.*: false
+ default: true
+ extra-options:
+ by-test-platform:
+ android-em-7.*:
+ - --setpref=webgl.out-of-process=false
+ - --setpref=security.sandbox.content.headless=false
+ - --setpref=gfx.canvas.accelerated=false
+ default:
+ - --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
+ - webgl-ipc
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*-(ccov|tsan|wayland).*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ 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
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*-(ccov|tsan|wayland).*/.*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ 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
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*-(ccov|tsan|wayland).*/.*: []
+ android.*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ 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|wayland).*: []
+ 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
+ run-on-projects:
+ by-variant:
+ webgl-ipc:
+ by-test-platform:
+ .*(ccov|tsan|wayland).*/.*: []
+ linux.*-64.*: ["trunk"]
+ mac.*: ["trunk"]
+ win.*: ["trunk"]
+ 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:
+ - 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
+ - webrender-sw+no-fission
+ run-on-projects:
+ by-variant:
+ webrender-sw+no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug: ["trunk"]
+ default: []
+ no-fission:
+ by-test-platform:
+ linux2204-64-qr/debug: ['trunk']
+ linux2204-64(-shippable|-asan)?-qr/opt: ['trunk']
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ macosx.*: []
+ # Things like asan/tsan/32bit are restricted to --full
+ # via UNCOMMON_TRY_TASK_LABELS
+ # in taskcluster/gecko_taskgraph/target_tasks.py.
+ default: ['trunk']
+ 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
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ socketprocess_networking:
+ by-test-platform:
+ .*asan.*: []
+ .*ccov.*: []
+ (linux.*64|macosx.*64|windows1.*-64.*)(-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: []
+ 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: virtual
diff --git a/taskcluster/ci/test/reftest.yml b/taskcluster/ci/test/reftest.yml
new file mode 100644
index 0000000000..5e19ec3fd5
--- /dev/null
+++ b/taskcluster/ci/test/reftest.yml
@@ -0,0 +1,248 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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
+ - webrender-sw+no-fission
+ - webrender-sw
+ 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:
+ macosx101.*64-qr/debug: built-projects
+ linux.*-64-qr/debug: built-projects
+ linux.*-64(-tsan|-asan)-qr/opt: built-projects
+ windows.*-asan-qr/opt: built-projects
+ windows1.*-64.*-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.*: []
+ .*wayland/debug.*: []
+ 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.*-asan-qr/opt: 3
+ windows.*-ccov-qr/opt: 5
+ windows.*\/opt: 2
+ linux.*64-ccov.*/.*: 5
+ linux1804-64-qr/opt: 4
+ linux.*/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
+ .*-wayland/debug.*: 5400
+ 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.*64.*/debug: 4
+ windows.*32.*/debug: 6
+ windows.*-ccov-qr/opt: 9
+ windows10.*asan.*: 3
+ windows10.*/opt: 2
+ windows11.*/opt: 3
+ default: 8
+ variants:
+ - no-fission
+ - 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:
+ 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
+ windows.*-asan-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.*/.*: []
+ .*wayland.*: []
+ linux.*asan/opt: []
+ default: built-projects
+ max-run-time:
+ by-test-platform:
+ windows.*-32-mingwclang-qr/debug: 5400
+ windows.*-ccov.*/.*: 5400
+ windows.*-asan-qr/opt: 5400
+ macosx.*64-ccov.*/.*: 5400
+ default: 3600
+ mozharness:
+ chunked:
+ by-test-platform:
+ android-em.*: false
+ macosx.*64/opt: false
+ windows.*/opt: false
+ default: true
+ tier:
+ by-test-platform:
+ 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..f622eef18e
--- /dev/null
+++ b/taskcluster/ci/test/talos.yml
@@ -0,0 +1,777 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: [trunk]
+ (windows10-64|macosx1015-64).*-qr.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ default: [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: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32-shippable.*/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32-shippable.*/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32-shippable.*/.*: []
+ (linux|windows|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [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: [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-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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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: [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: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macosx1015)(?!.*-qr).*: []
+ default: [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: []
+ 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.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|macos)(?!.*shippable).*: []
+ (linux|windows10-64|macos)(?!.*-qr).*: []
+ default: [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
+ - --setpref=dom.media.webcodecs.enabled=true
+
+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.*-shippable-qr/.*: [trunk]
+ windows11.*-shippable-qr/.*: [trunk]
+ default: []
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows.*:
+ - --suite=xperf
+ # Disable the GPU process due to bug 1868737. There are
+ # sandbox related issues with using the GPU process when
+ # running xperf as an administrator which cause us to fail
+ # due to generating minidumps.
+ - --setpref=layers.gpu-process.enabled=false
+ default:
+ - --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: [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..777652f191
--- /dev/null
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -0,0 +1,505 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ - 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
+ - talos
+ - talos-profiling
+ - browsertime
+ - browsertime-profiling
+
+linux1804-64-nightlyasrelease-qr/opt:
+ build-platform: linux64-nightlyasrelease/opt
+ test-sets:
+ - browsertime
+
+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-clang
+
+linux2204-64-wayland/debug:
+ build-platform: linux64/debug
+ test-sets:
+ - linux2204-wayland-tests
+ - web-platform-tests
+
+linux2204-64-wayland/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - linux2204-wayland-tests
+ - web-platform-tests
+
+linux2204-64-wayland-shippable/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - linux2204-wayland-tests
+ - web-platform-tests
+
+##
+# Windows platforms (matching /windows.*/)
+
+# win32
+windows10-32-shippable-qr/opt:
+ build-platform: win32-shippable/opt
+ build-signing-label: build-signing-win32-shippable/opt
+ test-sets:
+ - browsertime
+ - talos-profiling
+ - windows-talos
+
+windows10-32-qr/opt:
+ build-platform: win32/opt
+ test-sets:
+ - browsertime
+ - windows-talos
+
+
+# win11-32
+windows11-32-2009-shippable-qr/opt:
+ build-platform: win32-shippable/opt
+ build-signing-label: build-signing-win32-shippable/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - windows32-2009-tests
+
+windows11-32-2009-qr/opt:
+ build-platform: win32/opt
+ build-signing-label: build-signing-win32/opt
+ test-sets:
+ - awsy
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - windows32-2009-tests
+
+windows11-32-2009-qr/debug:
+ build-platform: win32/debug
+ build-signing-label: build-signing-win32/debug
+ test-sets:
+ - web-platform-tests
+ - windows32-2009-tests
+
+windows11-32-2009-mingwclang-qr/debug:
+ build-platform: win32-mingwclang/debug
+ test-sets:
+ - mingwclang-win32-tests-debug
+
+windows11-32-2009-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
+
+windows11-64-2009-hw-ref-shippable/opt:
+ build-platform: win64-shippable/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/opt
+ default: build-signing-win64/opt
+ test-sets:
+ - windows-ref-hw-tests
+
+windows11-64-2009-hw-ref/opt:
+ build-platform: win64/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/opt
+ default: build-signing-win64/opt
+ test-sets:
+ - windows-ref-hw-tests
+
+windows10-64-shippable-qr/opt:
+ build-platform: win64-shippable/opt
+ test-sets:
+ - talos-profiling
+ - windows-talos
+ - browsertime
+
+windows10-64-nightlyasrelease-qr/opt:
+ build-platform: win64-nightlyasrelease/opt
+ test-sets:
+ - browsertime
+
+# win10-64 2004
+windows10-64-2009-qr/debug:
+ build-platform: win64/debug
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/debug
+ default: build-signing-win64/debug
+ test-sets:
+ - windows10-2009-tests
+
+windows10-64-2009-qr/opt:
+ build-platform: win64/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/opt
+ default: build-signing-win64/opt
+ test-sets:
+ - windows10-2009-tests
+
+windows10-64-2009-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:
+ - windows10-2009-tests
+
+# win11-64 2009
+windows11-64-2009-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
+ - windows11-64-2009-ccov-tests
+ - windows11-2009-tests
+
+windows11-64-2009-qr/debug:
+ build-platform: win64/debug
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/debug
+ default: build-signing-win64/debug
+ test-sets:
+ - web-platform-tests
+ - windows11-2009-tests
+
+windows11-64-2009-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
+ - windows11-2009-tests
+ - talos-xperf
+
+windows11-64-2009-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
+ - windows11-2009-tests
+ - talos-xperf
+
+windows11-64-2009-devedition-qr/opt:
+ build-platform: win64-devedition/opt
+ build-signing-label: build-signing-win64-devedition/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - web-platform-tests
+ - windows11-2009-tests
+
+windows11-64-2009-asan-qr/opt:
+ build-platform: win64-asan/opt
+ test-sets:
+ - windows11-2009-tests
+
+windows11-64-2009-mingwclang-qr/debug:
+ build-platform: win64-mingwclang/debug
+ test-sets:
+ - mingwclang-tests-debug
+
+windows11-64-2009-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-aarch64-qr/debug:
+ build-platform: macosx64-aarch64/debug
+ build-signing-label: repackage-macosx64-aarch64/debug
+ test-sets:
+ - macosx1100-aarch64-qr-tests
+
+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
+
+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
+ - talos-profiling
+ - web-platform-tests
+ - web-platform-tests-backlog
+
+macosx1015-64-nightlyasrelease-qr/opt:
+ build-platform: macosx64-nightlyasrelease/opt
+ test-sets:
+ - browsertime
+
+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
+ - browsertime
+
+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
+
+macosx1400-64-shippable-qr/opt:
+ build-platform: macosx64-shippable/opt
+ test-sets:
+ - macosx1400-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-em-7.0-x86-qr/opt:
+ build-platform: android-x86/opt
+ test-sets:
+ - android-x86-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-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
+
+android-hw-p6-13-0-android-aarch64-shippable-qr/opt:
+ build-platform: android-aarch64-shippable/opt
+ test-sets:
+ - android-hw-speedometer-tests
+
+android-hw-s21-13-0-android-aarch64-shippable-qr/opt:
+ build-platform: android-aarch64-shippable/opt
+ test-sets:
+ - android-hw-speedometer-tests
diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/ci/test/test-sets.yml
new file mode 100644
index 0000000000..90ef2145fe
--- /dev/null
+++ b/taskcluster/ci/test/test-sets.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/.
+---
+# 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-privatebrowsing
+ - web-platform-tests-print-reftest
+ - web-platform-tests-reftest
+ - web-platform-tests-wdspec
+ - web-platform-tests-webgpu
+ - web-platform-tests-canvas
+
+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-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-tp6-webextensions
+ - browsertime-benchmark
+ - browsertime-benchmark-wasm
+ - browsertime-youtube-playback
+ - browsertime-youtube-playback-power
+ - browsertime-custom
+ - browsertime-first-install
+ - browsertime-responsiveness
+ - browsertime-regression-tests
+ - browsertime-upload
+ - browsertime-speculative
+ - browsertime-throttled
+ - browsertime-pageload-benchmark
+ - browsertime-indexeddb
+
+browsertime-clang:
+ - browsertime-tp6
+ - browsertime-tp6-essential
+ - browsertime-tp6-bytecode
+ - browsertime-tp6-live
+ - browsertime-tp6-live-sheriffed
+ - browsertime-tp6-webextensions
+ - browsertime-benchmark
+ - browsertime-benchmark-wasm
+ - browsertime-youtube-playback
+ - browsertime-responsiveness
+
+browsertime-profiling:
+ - browsertime-tp6-profiling
+
+browsertime-high-priority:
+ - browsertime-benchmark
+ - browsertime-tp6
+
+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:
+ - mochitest-browser-screenshots
+
+### Specific platform test sets
+
+# Linux
+linux32-gtest:
+ - gtest
+
+linux32-tests:
+ - web-platform-tests
+
+linux1804-tests:
+ - cppunittest
+ - 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
+
+linux2204-wayland-tests:
+ - mochitest-plain
+ - cppunittest
+ - crashtest
+ - firefox-ui-functional
+ - gtest
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-chrome-failures
+ - 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
+
+# Windows
+windows32-2009-tests:
+ - cppunittest
+ - crashtest
+ - gtest
+ - firefox-ui-functional
+ - jsreftest
+ - marionette
+ - mochitest-a11y
+ - mochitest-browser-a11y
+ - mochitest-browser-chrome
+ - mochitest-browser-media
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-media
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - mochitest-remote
+ - mochitest-webgpu
+ - reftest
+ - telemetry-tests-client
+ - test-verify
+ - test-verify-gpu
+ - test-verify-wpt
+ - xpcshell
+
+windows10-2009-tests:
+ - cppunittest
+ - gtest
+ - mochitest-chrome
+ - mochitest-chrome-gpu
+ - mochitest-plain
+ - mochitest-plain-gpu
+ - xpcshell
+
+windows11-64-2009-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
+
+windows11-2009-tests:
+ - cppunittest
+ - 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
+
+mingwclang-tests-debug:
+ - cppunittest
+ - 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:
+ - cppunittest
+ - 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:
+ - cppunittest
+ - 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
+
+windows-ref-hw-tests:
+ - mochitest-media
+
+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
+
+macosx1100-aarch64-qr-tests:
+ - mochitest-media
+
+macosx1015-64-qr-tests:
+ - cppunittest
+ - 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
+ # - talos-h1 # too long to unpack profile- Bug 1442893
+
+macosx1400-64-qr-tests:
+ - browsertime-benchmark
+
+# Android
+
+android-x86_64-tests:
+ - cppunittest
+ - 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-x86-tests:
+ - cppunittest
+
+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-webextensions
+ - browsertime-tp6m-live
+ - browsertime-benchmark-speedometer-mobile
+ - browsertime-benchmark-speedometer3-mobile
+ - browsertime-youtube-playback-mobile
+ - browsertime-benchmark-unity-webgl-mobile
+ - browsertime-benchmark-motionmark
+
+android-hw-browsertime-profiling:
+ - browsertime-tp6m-profiling
+
+android-hw-speedometer-tests:
+ - browsertime-benchmark-speedometer-mobile
+ - browsertime-benchmark-speedometer3-mobile
diff --git a/taskcluster/ci/test/variants.yml b/taskcluster/ci/test/variants.yml
new file mode 100644
index 0000000000..1bfe00d001
--- /dev/null
+++ b/taskcluster/ci/test/variants.yml
@@ -0,0 +1,324 @@
+---
+1proc:
+ description: "{description} with e10s disabled"
+ component: "Testing::General"
+ expiration: "never"
+ suffix: "1proc"
+ mozinfo: "e10s"
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-e10s"
+ - "--disable-fission"
+
+headless:
+ description: "{description} without a window"
+ component: "Firefox::Headless"
+ expiration: "never"
+ suffix: "headless"
+ mozinfo: "headless"
+ replace:
+ tier: 2
+ merge:
+ mozharness:
+ extra-options:
+ - "--headless"
+
+a11y-checks:
+ description: "{description} with accessibility checks enabled"
+ component: "Core::Disability Access APIs"
+ expiration: "2024-03-01"
+ suffix: "a11y-checks"
+ mozinfo: "a11y_checks"
+ replace:
+ tier: 2
+ merge:
+ mozharness:
+ extra-options:
+ - "--enable-a11y-checks"
+
+aab:
+ description: "{description} with aab test_runner"
+ component: "GeckoView::General"
+ expiration: "2024-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-no-fission:
+ description: "{description} without fission enabled"
+ component: "GeckoView::Sandboxing"
+ expiration: "2024-03-01"
+ when:
+ <<: *gv_e10s_filter
+ suffix: "nofis"
+ mozinfo: "fission"
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-fission"
+
+geckoview-fission:
+ description: "{description} with fission enabled and default isolation strategy"
+ component: "GeckoView::Sandboxing"
+ expiration: "2024-03-01"
+ when:
+ <<: *gv_e10s_filter
+ suffix: "fis"
+ mozinfo: "fission"
+
+geckoview-fission-isolate-high-value:
+ description: "{description} with fission enabled and isolation strategy isolateHighValue"
+ component: "GeckoView::Sandboxing"
+ expiration: "2024-03-01"
+ when:
+ <<: *gv_e10s_filter
+ suffix: "fis-hv"
+ mozinfo: "fission-high-value"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=fission.webContentIsolationStrategy=2"
+
+no-fission:
+ description: "{description} without fission enabled"
+ component: "Core::DOM: Content Processes"
+ expiration: "2024-03-01"
+ suffix: "nofis"
+ mozinfo: "fission"
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-fission"
+
+xorigin:
+ description: "{description} with cross-origin"
+ component: "Core::DOM: Content Processes"
+ expiration: "never"
+ suffix: "xorig"
+ mozinfo: "xorigin"
+ 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: "2024-03-01"
+ suffix: "condprof"
+ mozinfo: "condprof"
+ merge:
+ mozharness:
+ extra-options:
+ - "--conditioned-profile"
+ replace:
+ chunks: 8
+
+socketprocess:
+ description: "{description} with socket process enabled"
+ component: "Core::Networking"
+ expiration: "2024-09-01"
+ suffix: "spi"
+ mozinfo: "socketprocess_e10s"
+ 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: "2024-09-01"
+ suffix: "spi-nw"
+ mozinfo: "socketprocess_networking"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=network.process.enabled=true"
+ - "--setpref=network.http.network_access_on_socket_process.enabled=true"
+
+# -
+# Webrender DComp variants for Win10
+
+webrender-dcomp-disabled:
+ description: "{description} with dcomp disabled"
+ component: "Core::Graphics: WebRender"
+ expiration: "2024-03-01"
+ suffix: "wr-dc0"
+ when:
+ $eval: '"windows1" 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: "2024-03-01"
+ suffix: "wr-dc1-p"
+ when:
+ $eval: '"windows1" 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: "2024-03-01"
+ suffix: "wr-dc2-o"
+ when:
+ $eval: '"windows1" 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: "2024-03-01"
+ suffix: "wr-dc3-c"
+ when:
+ $eval: '"windows1" 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: "2024-03-01"
+ suffix: "swr"
+ mozinfo: "swgl"
+ merge:
+ webrender: true
+ mozharness:
+ extra-options:
+ - "--setpref=gfx.webrender.software=true"
+
+webgl-ipc:
+ description: "{description} with WebGL IPC process enabled"
+ component: "Core::Graphics: CanvasWebGL"
+ expiration: "2024-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: "2024-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: "2024-04-10"
+ when:
+ $eval: '"windows1" in task["test-platform"]'
+ suffix: "wmfme"
+ mozinfo: "wmfme"
+ replace:
+ tier: 2
+ merge:
+ mozharness:
+ extra-options:
+ - "--tag=media-engine-compatible"
+ - "--setpref=media.wmf.media-engine.enabled=1"
+ - "--setpref=media.wmf.media-engine.channel-decoder.enabled=true"
+ - "--setpref=media.eme.wmf.clearkey.enabled=true"
+
+media-gpu:
+ description: "{description} for running media tests on the GPU worker"
+ component: "Core::Audio/Video: Playback"
+ expiration: "2024-04-21"
+ suffix: "mda-gpu"
+ mozinfo: "mda_gpu"
+ merge:
+ virtualization: virtual-with-gpu
+ mozharness:
+ extra-options:
+ - "--tag=media-gpu"
+ - "--setpref=media.hardware-video-decoding.force-enabled=true"
+
+msix:
+ description: "{description} from msix packages"
+ component: "Firefox:Installer"
+ expiration: "never"
+ suffix: "msix"
+ mozinfo: "msix"
+ when:
+ $eval: '"windows1" in task["test-platform"] && "-64" in task["test-platform"] && ("opt" in task["test-platform"] || "debug" in task["test-platform"]) && !("asan" in task["test-platform"]) && !("ccov" in task["test-platform"])'
+ merge:
+ mozharness:
+ extra-options:
+ - "--installer-path installer.msix"
+
+http3:
+ description: "{description} with http3 server"
+ component: "Core::Networking"
+ expiration: "2024-09-01"
+ suffix: "http3"
+ mozinfo: "http3"
+ merge:
+ mozharness:
+ extra-options:
+ - "--use-http3-server"
+
+http2:
+ description: "{description} with http2 server"
+ component: "Core::Networking"
+ expiration: "2024-09-01"
+ suffix: "http2"
+ mozinfo: "http2"
+ merge:
+ mozharness:
+ extra-options:
+ - "--use-http2-server"
diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/ci/test/web-platform.yml
new file mode 100644
index 0000000000..5f850d16c1
--- /dev/null
+++ b/taskcluster/ci/test/web-platform.yml
@@ -0,0 +1,598 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: 16
+ windows.*-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:
+ .*-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows.*-qr/debug: built-projects
+ android-em-7.0-x86_64-qr/debug: []
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ .*-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.*: []
+ .*wayland.*: []
+ default: built-projects
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --skip-implementation-status=backlog
+ - --skip-implementation-status=not-implementing
+ - --skip-timeout
+ - --skip-crash
+ # Because we have a separate job for them, don't run the (core)
+ # webgpu/* tests in the main WPT runs. (but still run tests in dirs
+ # other than webgpu/* that are tagged webgpu, e.g. canvas tests)
+ - --exclude-tag=webgpu
+ - --exclude-tag=canvas
+
+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: 2
+ 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.*: []
+ .*wayland.*: []
+ 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
+ - --exclude-tag=webgpu
+
+web-platform-tests-privatebrowsing:
+ description: "Web platform privatebrowsing test run"
+ suite: web-platform-tests
+ treeherder-symbol: W(pb)
+ virtualization: virtual
+ tier: default
+ chunks: 1
+ max-run-time: 1800
+ variants: [] # We don't need sw or nofis testing.
+ run-on-projects:
+ by-test-platform:
+ android.*: []
+ macos.*: []
+ .*-(wayland).*/.*: []
+ default: built-projects
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --default-exclude
+ - --setpref=browser.privatebrowsing.autostart=true
+ - --setpref=dom.cache.privateBrowsing.enabled=true
+ - --tag=privatebrowsing
+
+web-platform-tests-reftest:
+ description: "Web platform reftest run"
+ schedules-component: web-platform-tests-reftest
+ treeherder-symbol: W(Wr)
+ virtualization:
+ by-test-platform:
+ windows.*-64.*-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:
+ .*-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows.*-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.*: []
+ .*wayland.*: []
+ 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
+ - --skip-timeout
+ - --skip-crash
+
+web-platform-tests-webgpu:
+ description: "Web platform WebGPU test run"
+ suite: web-platform-tests
+ treeherder-symbol: W(webgpu)
+ virtualization: virtual-with-gpu
+ tier:
+ by-test-platform:
+ .*-32.*/.*: 3
+ android.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914
+ macos.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913
+ linux2204.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912
+ windows.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849911
+ default: 3
+ # Choice of `chunks`:
+ # Time-to-TEST-START on Windows is ~7m (~9m for debug).
+ # (though we're working on reducing this!)
+ # Devs would love ~10-15m runs, but we don't want to be more than
+ # 50% overhead, so let's aim for 15m (20m debug)
+ chunks:
+ by-test-platform:
+ linux2204.*-64.*: 15
+ macos.*: 20
+ windows.*-64.*/opt.*: 15
+ windows.*-64.*/debug.*: 20
+ default: 10
+ max-run-time:
+ by-test-platform:
+ .*/debug: 5400 # 90m
+ default: 3200 # 60m
+ variants: [] # We don't need sw or nofis testing.
+ run-on-projects:
+ by-test-platform:
+ android.*: [] # Out of scope
+ linux1804.*: [] # We don't support anything less than Mesa Lavapipe 22.1.2, so this is _out_.
+ .*-wayland/debug.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1864700
+ default: ['mozilla-central']
+ mozharness:
+ chunked: true
+ extra-options:
+ by-test-platform:
+ macos.*:
+ - --test-type=testharness
+ - --default-exclude
+ - --tag=webgpu
+ - --exclude-tag=canvas
+ - --setpref=gfx.webgpu.ignore-blocklist=true
+ default:
+ - --test-type=testharness
+ - --default-exclude
+ - --tag=webgpu
+ - --exclude-tag=canvas
+
+web-platform-tests-canvas:
+ description: "Web platform Canvas test run"
+ suite: web-platform-tests
+ treeherder-symbol: W(canvas)
+ virtualization: virtual-with-gpu
+ tier:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+ chunks:
+ by-test-platform:
+ windows.*: 2
+ .*tsan.*: 2
+ linux.*/debug: 2
+ linux.*asan.*: 2
+ default: 1
+ max-run-time:
+ by-test-platform:
+ .*tsan.*: 3600
+ default: 1800
+ variants:
+ - no-fission
+ - webrender-sw+no-fission
+ - webrender-sw
+ run-on-projects:
+ by-variant:
+ webrender-sw:
+ by-test-platform:
+ .*-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows.*-qr/debug: built-projects
+ android-em-7.0-x86_64-qr/debug: []
+ default: []
+ webrender-sw+no-fission:
+ by-test-platform:
+ .*-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.*: []
+ .*wayland.*: []
+ default: built-projects
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --skip-implementation-status=backlog
+ - --skip-implementation-status=not-implementing
+ - --skip-timeout
+ - --skip-crash
+ # Because we have a separate job for them, don't run the (core)
+ # webgpu/* tests in the main WPT runs. (but still run tests in dirs
+ # other than webgpu/* that are tagged webgpu, e.g. canvas tests)
+ - --default-exclude
+ - --tag=canvas
+ - --exclude-tag=webgpu
+
+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.*: []
+ .*wayland.*: []
+ 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
+ - --exclude-tag=webgpu
+
+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:
+ by-test-platform:
+ android-em-7.*:
+ - --test-type=wdspec
+ - --setpref=gfx.canvas.accelerated=false
+ default:
+ - --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: []
+ .*-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows.*-qr/debug: built-projects
+ default: []
+ headless:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ 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.*: []
+ .*wayland.*: []
+ 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
+ .*-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ macosx101.*64-qr/debug: built-projects
+ windows.*-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.*: []
+ .*-32.*/.*: []
+ linux.*64-qr/debug: built-projects
+ windows.*-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.*: []
+ .*wayland.*: []
+ 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 asan, ccov, shippable or wayland
+ .*-(asan|ccov|shippable|wayland).*/.*: []
+ # 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..46ecd690e5
--- /dev/null
+++ b/taskcluster/ci/test/xpcshell.yml
@@ -0,0 +1,177 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ windows11-64-2009.*:
+ 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
+ windows.*-asan-qr/opt: false # No XPCShell on ASAN yet
+ windows.*-mingwclang-qr/.*: 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:
+ .*asan.*: []
+ .*ccov.*: []
+ (linux1804-64|windows11-64.*)(-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).*windows11.*: ['trunk'] # All Windows11 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:
+ windows11-64-2009(-shippable)?-qr/opt: built-projects
+ windows11-64-2009-qr/debug: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ windows.*-asan-qr/opt: [] # No XPCShell on ASAN yet
+ default: built-projects
+ chunks:
+ by-test-platform:
+ .*-asan-qr/opt: 4
+ .*-ccov.*/.*: 8
+ .*-tsan-qr/opt: 8
+ (android-em-7.*|macosx.*|linux1804-64.*/opt): 2
+ default: 4
+ max-run-time:
+ by-variant:
+ msix: 7200
+ conditioned_profile: 7200
+ default:
+ by-test-platform:
+ .*-ccov(-qr)?/.*: 7200
+ .*-tsan-qr/opt: 7200
+ default: 5400
+ allow-software-gl-layers: false
+ tier:
+ by-test-platform:
+ windows.*-asan.*: 3
+ android-em-7.0-x86_64-qr/debug-isolated-process: 3
+ default: default
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows1.*:
+ - --threads=2
+ default: []
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*:
+ - linux64-node
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ macosx.*:
+ - macosx64-node
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*-64.*:
+ - win64-node
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ win.*32.*:
+ - win32-node
+ - 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
+ - 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
+ windows1.*: desktop_unittest.py
+ config:
+ by-test-platform:
+ macos.*:
+ - unittests/mac_unittest.py
+ windows1.*:
+ - unittests/win_unittest.py
+ extra-options:
+ by-test-platform:
+ macosx1100.*:
+ - --run-failures=apple_silicon
+ - --timeout-as-pass
+ - --crash-as-pass
+ fetches:
+ toolchain:
+ by-test-platform:
+ macosx.*:
+ - macosx64-node
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ win.*32.*:
+ - win32-node
+ - 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..ed8cef3dc1
--- /dev/null
+++ b/taskcluster/ci/toolchain/android.yml
@@ -0,0 +1,244 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-android31-avd-x86_64-repack:
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd31-x86_64-linux)
+ worker-type: b-linux-kvm-gcp
+ worker:
+ kvm: true
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/android31-x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android31-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)
+ 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-android31-system-image-x86_64-repack:
+ description: "Android System Images (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(x86_64-avd31-img-linux)
+ run:
+ script: repack-android-system-images-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/android31-x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
+ toolchain-alias: android31-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)
+ 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.9+9"
+
+linux64-android-sdk-linux-repack:
+ description: "Android SDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-sdk-linux)
+ 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)
+ 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)
+ 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..3f1cb9756a
--- /dev/null
+++ b/taskcluster/ci/toolchain/cargo-vet.yml
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ description: "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']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-cargo-vet:
+ treeherder:
+ symbol: TM(cargo-vet-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk-toolchain
+
+win64-cargo-vet:
+ treeherder:
+ symbol: TW64(cargo-vet)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/ci/toolchain/cbindgen.yml
new file mode 100644
index 0000000000..69d34b6f3b
--- /dev/null
+++ b/taskcluster/ci/toolchain/cbindgen.yml
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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.26.0
+
+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-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-cbindgen:
+ treeherder:
+ symbol: TM(cbindgen-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk-toolchain
+
+win64-cbindgen:
+ treeherder:
+ symbol: TW64(cbindgen)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml
new file mode 100644
index 0000000000..8d357e8c82
--- /dev/null
+++ b/taskcluster/ci/toolchain/clang-tidy.yml
@@ -0,0 +1,127 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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-17
+
+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-17
+ - 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'
+ - 'build/build-clang/macosx64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ - 'build/build-clang/macosx64.json'
+ fetches:
+ toolchain:
+ - linux64-clang-17
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-clang-tidy:
+ index:
+ job-name: macosx64-aarch64-clang-tidy
+ treeherder:
+ symbol: TM(clang-tidy-aarch64)
+ worker-type: b-linux-large-gcp
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/macosx64-aarch64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-macosx64.json'
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/macosx64-aarch64.json'
+ fetches:
+ toolchain:
+ - linux64-clang-17
+ - macosx64-sdk-toolchain
+
+win64-clang-tidy:
+ description: "Clang-tidy toolchain build"
+ index:
+ job-name: win64-clang-tidy
+ treeherder:
+ symbol: TW64(clang-tidy)
+ tier: 2
+ worker:
+ max-run-time: 7200
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/clang-tidy-win64.json'
+ - 'build/build-clang/win64.json'
+ resources:
+ - 'build/build-clang/clang-tidy-win64.json'
+ - 'build/build-clang/win64.json'
+ fetches:
+ toolchain:
+ - linux64-clang-17
+ - vs-toolchain
+
+linux64-clang-tidy-external:
+ attributes:
+ local-toolchain: false
+ index:
+ job-name: linux64-clang-tidy-external
+ treeherder:
+ symbol: TL(clang-tidy-e)
+ 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-17
+ - linux64-toolchain-sysroot
diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/ci/toolchain/clang.yml
new file mode 100644
index 0000000000..1223afd4e5
--- /dev/null
+++ b/taskcluster/ci/toolchain/clang.yml
@@ -0,0 +1,1278 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-8.0-raw:
+ description: "Clang 8.0 toolchain build"
+ treeherder:
+ symbol: TL(clang-8.0-raw)
+ worker-type: b-linux-large-gcp
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-8.0.json'
+ - 'build/build-clang/2stages.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-8.0.json'
+ - 'build/build-clang/2stages.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-8.0
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-8.0:
+ description: "Clang 8.0 toolchain build"
+ treeherder:
+ symbol: TL(clang-8.0)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias: linux64-clang-base
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-clang-8.0-raw
+ - wasm32-wasi-compiler-rt-8.0
+
+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-clang-14-stage1
+ - macosx64-sdk-toolchain
+
+linux64-clang-17-mingw-x86:
+ description: "MinGW-Clang 17 x86 toolchain build"
+ treeherder:
+ symbol: TMW(clang-17-x86)
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x86'
+ resources:
+ - 'taskcluster/scripts/misc/mingw-*.patch'
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang-mingw-x86
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.5.0
+ toolchain:
+ - linux64-clang-17
+
+linux64-clang-17-mingw-x64:
+ description: "MinGW-Clang 17 x64 toolchain build"
+ treeherder:
+ symbol: TMW(clang-17-x64)
+ tier: 1
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x64'
+ resources:
+ - 'taskcluster/scripts/misc/mingw-*.patch'
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang-mingw-x64
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.5.0
+ toolchain:
+ - linux64-clang-17
+
+linux64-clang-17-stage1:
+ description: "Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(clang-17-stage1)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-17.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-17
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-17-profile:
+ description: "Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(clang-17-profile)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ toolchain-artifact: public/build/merged.profdata
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-x64-compiler-rt-17
+ - linux64-toolchain-sysroot
+
+linux64-clang-17-raw:
+ description: "Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(clang-17-raw)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-clang-17-profile
+ - linux64-toolchain-sysroot
+
+linux64-clang-17:
+ description: "Clang 17 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(clang-17)
+ 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-17-raw
+ - android-aarch64-compiler-rt-17
+ - android-aarch64-libunwind-17
+ - android-arm-compiler-rt-17
+ - android-arm-libunwind-17
+ - android-x64-compiler-rt-17
+ - android-x64-libunwind-17
+ - android-x86-compiler-rt-17
+ - android-x86-libunwind-17
+ - linux64-aarch64-compiler-rt-17
+ - linux64-x64-compiler-rt-17
+ - linux64-x86-compiler-rt-17
+ - macosx64-aarch64-compiler-rt-17
+ - macosx64-x64-compiler-rt-17
+ - wasm32-wasi-compiler-rt-17
+ - win32-compiler-rt-17
+ - win64-compiler-rt-17
+
+macosx64-clang-17-raw:
+ description: "Clang 17 toolchain build"
+ treeherder:
+ symbol: TM(clang-17-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-17.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-clang-17-profile
+ - macosx64-sdk-toolchain
+ - macosx64-x64-compiler-rt-17
+
+macosx64-clang-17:
+ description: "Clang 17 toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-17)
+ 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-17-raw
+ - android-aarch64-compiler-rt-17
+ - android-aarch64-libunwind-17
+ - android-arm-compiler-rt-17
+ - android-arm-libunwind-17
+ - android-x64-compiler-rt-17
+ - android-x64-libunwind-17
+ - android-x86-compiler-rt-17
+ - android-x86-libunwind-17
+ - linux64-aarch64-compiler-rt-17
+ - linux64-x64-compiler-rt-17
+ - linux64-x86-compiler-rt-17
+ - macosx64-aarch64-compiler-rt-17
+ - macosx64-x64-compiler-rt-17
+ - wasm32-wasi-compiler-rt-17
+ - win32-compiler-rt-17
+ - win64-compiler-rt-17
+
+macosx64-aarch64-clang-17-raw:
+ description: "Clang 17 toolchain build"
+ treeherder:
+ symbol: TM(clang-17-aarch64-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/macosx64-aarch64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/macosx64-aarch64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-clang-17-profile
+ - macosx64-sdk-toolchain
+ - macosx64-aarch64-compiler-rt-17
+
+macosx64-aarch64-clang-17:
+ description: "Clang 17 toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-17-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-17-raw
+ - android-aarch64-compiler-rt-17
+ - android-aarch64-libunwind-17
+ - android-arm-compiler-rt-17
+ - android-arm-libunwind-17
+ - android-x64-compiler-rt-17
+ - android-x64-libunwind-17
+ - android-x86-compiler-rt-17
+ - android-x86-libunwind-17
+ - linux64-aarch64-compiler-rt-17
+ - linux64-x64-compiler-rt-17
+ - linux64-x86-compiler-rt-17
+ - macosx64-aarch64-compiler-rt-17
+ - macosx64-x64-compiler-rt-17
+ - wasm32-wasi-compiler-rt-17
+ - win32-compiler-rt-17
+ - win64-compiler-rt-17
+
+win64-clang-17-stage1:
+ description: "Clang-cl 17 toolchain build stage 1"
+ treeherder:
+ symbol: TW64(clang-17-stage1)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-17.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-17.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-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - vs-toolchain
+
+win64-clang-17-raw:
+ description: "Clang-cl 17 toolchain build"
+ treeherder:
+ symbol: TW64(clang-17-raw)
+ worker-type: b-win2022
+ worker:
+ max-run-time: 9000
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-17.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-17.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-17
+ - cmake
+ - ninja
+ toolchain:
+ - win64-clang-17-stage1
+ - win64-compiler-rt-17
+ - vs-toolchain
+
+win64-clang-17:
+ description: "Clang-cl 17 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(clang-17)
+ 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-17-raw
+ - android-aarch64-compiler-rt-17
+ - android-aarch64-libunwind-17
+ - android-arm-compiler-rt-17
+ - android-arm-libunwind-17
+ - android-x64-compiler-rt-17
+ - android-x64-libunwind-17
+ - android-x86-compiler-rt-17
+ - android-x86-libunwind-17
+ - linux64-aarch64-compiler-rt-17
+ - linux64-x64-compiler-rt-17
+ - linux64-x86-compiler-rt-17
+ - macosx64-aarch64-compiler-rt-17
+ - macosx64-x64-compiler-rt-17
+ - wasm32-wasi-compiler-rt-17
+ - win32-compiler-rt-17
+ - win64-compiler-rt-17
+
+linux64-clang-18-mingw-x86:
+ description: "MinGW-Clang 18 x86 toolchain build"
+ treeherder:
+ symbol: TMW(clang-18-x86)
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x86'
+ resources:
+ - 'taskcluster/scripts/misc/mingw-*.patch'
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.5.0
+ toolchain:
+ - linux64-clang-18
+
+linux64-clang-18-mingw-x64:
+ description: "MinGW-Clang 18 x64 toolchain build"
+ treeherder:
+ symbol: TMW(clang-18-x64)
+ tier: 1
+ worker-type: b-linux-gcp
+ run:
+ script: build-clang-mingw.sh
+ arguments:
+ - 'x64'
+ resources:
+ - 'taskcluster/scripts/misc/mingw-*.patch'
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ - mingw-w64
+ - llvm-mingw
+ - gcc-9.5.0
+ toolchain:
+ - linux64-clang-18
+
+linux64-clang-18-stage1:
+ description: "Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(clang-18-stage1)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-toolchain-sysroot
+
+linux64-clang-18-profile:
+ description: "Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(clang-18-profile)
+ run:
+ using: toolchain-script
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-stage-1.json'
+ - 'build/build-clang/profile.json'
+ toolchain-artifact: public/build/merged.profdata
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-x64-compiler-rt-18
+ - linux64-toolchain-sysroot
+
+linux64-clang-18-raw:
+ description: "Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(clang-18-raw)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/linux64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-clang-18-profile
+ - linux64-toolchain-sysroot
+
+linux64-clang-18:
+ description: "Clang 18 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(clang-18)
+ 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-cctools-port
+ - linux64-clang-18-raw
+ - android-aarch64-compiler-rt-18
+ - android-aarch64-libunwind-18
+ - android-arm-compiler-rt-18
+ - android-arm-libunwind-18
+ - android-x64-compiler-rt-18
+ - android-x64-libunwind-18
+ - android-x86-compiler-rt-18
+ - android-x86-libunwind-18
+ - linux64-aarch64-compiler-rt-18
+ - linux64-x64-compiler-rt-18
+ - linux64-x86-compiler-rt-18
+ - macosx64-aarch64-compiler-rt-18
+ - macosx64-x64-compiler-rt-18
+ - wasm32-wasi-compiler-rt-18
+ - win32-compiler-rt-18
+ - win64-compiler-rt-18
+
+macosx64-clang-18-raw:
+ description: "Clang 18 toolchain build"
+ treeherder:
+ symbol: TM(clang-18-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-18.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-clang-18-profile
+ - macosx64-sdk-toolchain
+ - macosx64-x64-compiler-rt-18
+
+macosx64-clang-18:
+ description: "Clang 18 toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-18)
+ 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-cctools-port
+ - macosx64-clang-18-raw
+ - android-aarch64-compiler-rt-18
+ - android-aarch64-libunwind-18
+ - android-arm-compiler-rt-18
+ - android-arm-libunwind-18
+ - android-x64-compiler-rt-18
+ - android-x64-libunwind-18
+ - android-x86-compiler-rt-18
+ - android-x86-libunwind-18
+ - linux64-aarch64-compiler-rt-18
+ - linux64-x64-compiler-rt-18
+ - linux64-x86-compiler-rt-18
+ - macosx64-aarch64-compiler-rt-18
+ - macosx64-x64-compiler-rt-18
+ - wasm32-wasi-compiler-rt-18
+ - win32-compiler-rt-18
+ - win64-compiler-rt-18
+
+macosx64-aarch64-clang-18-raw:
+ description: "Clang 18 toolchain build"
+ treeherder:
+ symbol: TM(clang-18-aarch64-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/macosx64-aarch64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ resources:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/macosx64-aarch64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/skip-3-stages.json'
+ - 'build/build-clang/4stages-pgo.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-clang-18-profile
+ - macosx64-sdk-toolchain
+ - macosx64-aarch64-compiler-rt-18
+
+macosx64-aarch64-clang-18:
+ description: "Clang 18 toolchain repack with MacOS Compiler RT libs"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TM(clang-18-aarch64)
+ 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-cctools-port
+ - macosx64-aarch64-clang-18-raw
+ - android-aarch64-compiler-rt-18
+ - android-aarch64-libunwind-18
+ - android-arm-compiler-rt-18
+ - android-arm-libunwind-18
+ - android-x64-compiler-rt-18
+ - android-x64-libunwind-18
+ - android-x86-compiler-rt-18
+ - android-x86-libunwind-18
+ - linux64-aarch64-compiler-rt-18
+ - linux64-x64-compiler-rt-18
+ - linux64-x86-compiler-rt-18
+ - macosx64-aarch64-compiler-rt-18
+ - macosx64-x64-compiler-rt-18
+ - wasm32-wasi-compiler-rt-18
+ - win32-compiler-rt-18
+ - win64-compiler-rt-18
+
+win64-clang-18-stage1:
+ description: "Clang-cl 18 toolchain build stage 1"
+ treeherder:
+ symbol: TW64(clang-18-stage1)
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/1stage.json'
+ resources:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-18.json'
+ - 'build/build-clang/1stage.json'
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - vs-toolchain
+
+win64-clang-18-raw:
+ description: "Clang-cl 18 toolchain build"
+ treeherder:
+ symbol: TW64(clang-18-raw)
+ worker-type: b-win2022
+ worker:
+ max-run-time: 9000
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/win64.json'
+ - 'build/build-clang/clang-18.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-18.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-18
+ - cmake
+ - ninja
+ toolchain:
+ - win64-clang-18-stage1
+ - win64-compiler-rt-18
+ - vs-toolchain
+
+win64-clang-18:
+ description: "Clang-cl 18 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(clang-18)
+ 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-cctools-port
+ - win64-clang-18-raw
+ - android-aarch64-compiler-rt-18
+ - android-aarch64-libunwind-18
+ - android-arm-compiler-rt-18
+ - android-arm-libunwind-18
+ - android-x64-compiler-rt-18
+ - android-x64-libunwind-18
+ - android-x86-compiler-rt-18
+ - android-x86-libunwind-18
+ - linux64-aarch64-compiler-rt-18
+ - linux64-x64-compiler-rt-18
+ - linux64-x86-compiler-rt-18
+ - macosx64-aarch64-compiler-rt-18
+ - macosx64-x64-compiler-rt-18
+ - wasm32-wasi-compiler-rt-18
+ - win32-compiler-rt-18
+ - win64-compiler-rt-18
+
+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'
+ resources:
+ - 'taskcluster/scripts/misc/mingw-*.patch'
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-clang-mingw-x86
+ default: null
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - mingw-w64-trunk
+ - llvm-mingw
+ - gcc-9.5.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'
+ resources:
+ - 'taskcluster/scripts/misc/mingw-*.patch'
+ toolchain-alias:
+ by-project:
+ toolchains: linux64-clang-mingw-x64
+ default: null
+ toolchain-artifact: public/build/clangmingw.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ - mingw-w64-trunk
+ - llvm-mingw
+ - gcc-9.5.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-aarch64-libunwind-trunk
+ - android-arm-compiler-rt-trunk
+ - android-arm-libunwind-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x64-libunwind-trunk
+ - android-x86-compiler-rt-trunk
+ - android-x86-libunwind-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-clang-trunk-stage1
+ - linux64-clang-trunk-profile
+ - macosx64-sdk-toolchain
+ - 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-aarch64-libunwind-trunk
+ - android-arm-compiler-rt-trunk
+ - android-arm-libunwind-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x64-libunwind-trunk
+ - android-x86-compiler-rt-trunk
+ - android-x86-libunwind-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:
+ max-run-time: 3600
+ run:
+ script: build-clang.sh
+ arguments:
+ - 'build/build-clang/macosx64.json'
+ - 'build/build-clang/macosx64-aarch64.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/macosx64-aarch64.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
+ - macosx64-sdk-toolchain
+ - 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-aarch64-libunwind-trunk
+ - android-arm-compiler-rt-trunk
+ - android-arm-libunwind-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x64-libunwind-trunk
+ - android-x86-compiler-rt-trunk
+ - android-x86-libunwind-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)
+ 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
+ toolchain:
+ - linux64-clang-trunk-stage1
+ - vs-toolchain
+
+win64-clang-trunk-raw:
+ description: "Clang-cl trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(clang-trunk-raw)
+ worker-type: b-win2022
+ 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
+ - vs-toolchain
+
+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-aarch64-libunwind-trunk
+ - android-arm-compiler-rt-trunk
+ - android-arm-libunwind-trunk
+ - android-x64-compiler-rt-trunk
+ - android-x64-libunwind-trunk
+ - android-x86-compiler-rt-trunk
+ - android-x86-libunwind-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..631024fbf9
--- /dev/null
+++ b/taskcluster/ci/toolchain/compiler-rt.yml
@@ -0,0 +1,705 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+wasm32-wasi-compiler-rt-8.0:
+ description: "wasm32-wasi Compiler-rt for Clang 8 toolchain build"
+ treeherder:
+ symbol: TL(wasi-crt-8)
+ worker-type: b-linux-xlarge-gcp
+ run:
+ script: build-compiler-rt-wasi.sh
+ arguments:
+ - wasi-sdk-11.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk-11.patch
+ toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-8.0
+ - wasi-sdk-11
+ toolchain:
+ - linux64-clang-8.0-raw
+
+android-aarch64-compiler-rt-17:
+ description: "android aarch64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(aarch64-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-compiler-rt-17:
+ description: "android arm Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(arm-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-compiler-rt-17:
+ description: "android x86 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(x86-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-compiler-rt-17:
+ description: "android x64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(x64-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+linux64-x86-compiler-rt-17:
+ description: "Linux x86 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(x86-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - sysroot-i686-linux-gnu
+
+linux64-x64-compiler-rt-17:
+ description: "Linux x64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(x64-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - sysroot-x86_64-linux-gnu
+
+linux64-aarch64-compiler-rt-17:
+ description: "Linux aarch64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(aarch64-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - sysroot-aarch64-linux-gnu
+
+macosx64-x64-compiler-rt-17:
+ description: "macOS x64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TM(x64-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-compiler-rt-17:
+ description: "macOS aarch64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TM(aarch64-crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - macosx64-sdk-toolchain
+
+win32-compiler-rt-17:
+ description: "win32 x86 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TW32(crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - vs-toolchain
+
+win64-compiler-rt-17:
+ description: "win64 x64 Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TW64(crt-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - vs-toolchain
+
+wasm32-wasi-compiler-rt-17:
+ description: "wasm32-wasi Compiler-rt for Clang 17 toolchain build"
+ treeherder:
+ symbol: TL(wasi-crt-17)
+ worker-type: b-linux-xlarge-gcp
+ run:
+ script: build-compiler-rt-wasi.sh
+ arguments:
+ - wasi-sdk.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk.patch
+ toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-17-stage1
+
+android-aarch64-compiler-rt-18:
+ description: "android aarch64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(aarch64-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-compiler-rt-18:
+ description: "android arm Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(arm-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-compiler-rt-18:
+ description: "android x86 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(x86-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-compiler-rt-18:
+ description: "android x64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(x64-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+linux64-x86-compiler-rt-18:
+ description: "Linux x86 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(x86-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - sysroot-i686-linux-gnu
+
+linux64-x64-compiler-rt-18:
+ description: "Linux x64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(x64-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - sysroot-x86_64-linux-gnu
+
+linux64-aarch64-compiler-rt-18:
+ description: "Linux aarch64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(aarch64-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - sysroot-aarch64-linux-gnu
+
+macosx64-x64-compiler-rt-18:
+ description: "macOS x64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TM(x64-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-compiler-rt-18:
+ description: "macOS aarch64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TM(aarch64-crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - macosx64-sdk-toolchain
+
+win32-compiler-rt-18:
+ description: "win32 x86 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TW32(crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - vs-toolchain
+
+win64-compiler-rt-18:
+ description: "win64 x64 Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TW64(crt-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - vs-toolchain
+
+wasm32-wasi-compiler-rt-18:
+ description: "wasm32-wasi Compiler-rt for Clang 18 toolchain build"
+ treeherder:
+ symbol: TL(wasi-crt-18)
+ worker-type: b-linux-xlarge-gcp
+ run:
+ script: build-compiler-rt-wasi.sh
+ arguments:
+ - wasi-sdk.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk.patch
+ toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-18-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-toolchain
+
+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-toolchain
+
+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
+ - vs-toolchain
+
+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
+ - vs-toolchain
+
+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
+ arguments:
+ - wasi-sdk.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk.patch
+ 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..95e90b5984
--- /dev/null
+++ b/taskcluster/ci/toolchain/dump-syms.yml
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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-toolchain
+ - 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-toolchain
+ - linux64-clang-toolchain
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-dump_syms:
+ treeherder:
+ symbol: TM(dump_syms-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - macosx64-sdk-toolchain
+
+win64-dump_syms:
+ treeherder:
+ symbol: TW64(dump_syms)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/ci/toolchain/fix-stacks.yml
new file mode 100644
index 0000000000..e11bf0b166
--- /dev/null
+++ b/taskcluster/ci/toolchain/fix-stacks.yml
@@ -0,0 +1,72 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-fix-stacks:
+ treeherder:
+ symbol: TM(fix-stacks-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-macos-toolchain
+ - macosx64-sdk-toolchain
+
+win32-fix-stacks:
+ treeherder:
+ symbol: TW32(fix-stacks)
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
+
+win64-fix-stacks:
+ treeherder:
+ symbol: TW64(fix-stacks)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml
new file mode 100644
index 0000000000..2a09c37e6c
--- /dev/null
+++ b/taskcluster/ci/toolchain/gcc.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/.
+---
+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-8:
+ description: "GCC 8 toolchain build"
+ treeherder:
+ symbol: TL(gcc8)
+ run:
+ script: build-gcc-linux.sh
+ toolchain-alias:
+ - linux64-gcc
+ - linux64-gcc-base
+ 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.5.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
+ fetches:
+ fetch:
+ - gcc-11.4.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.5.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..252befa3fb
--- /dev/null
+++ b/taskcluster/ci/toolchain/geckodriver.yml
@@ -0,0 +1,137 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-clang-toolchain
+ - linux64-rust-macos
+ - macosx64-sdk-toolchain
+
+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-clang-toolchain
+ - linux64-rust-macos
+ - macosx64-sdk-toolchain
+
+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
+ - vs-toolchain
+
+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
+ - vs-toolchain
+
+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
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml
new file mode 100644
index 0000000000..d12b0f19c5
--- /dev/null
+++ b/taskcluster/ci/toolchain/gn.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: "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-clang-toolchain
+ - macosx64-sdk-toolchain
+
+win64-gn:
+ treeherder:
+ symbol: TW64(gn)
+ worker-type: b-win2022
+ worker:
+ max-run-time: 3600
+ run:
+ script: build-gn-win64.sh
+ fetches:
+ fetch:
+ - ninja
+ toolchain:
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/ci/toolchain/grcov.yml
new file mode 100644
index 0000000000..15fed68732
--- /dev/null
+++ b/taskcluster/ci/toolchain/grcov.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/.
+---
+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
+ - macosx64-sdk-toolchain
+
+win64-grcov:
+ treeherder:
+ symbol: TW64(grcov)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml
new file mode 100644
index 0000000000..d9dd52c980
--- /dev/null
+++ b/taskcluster/ci/toolchain/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:
+ - 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
+ - libunwind.yml
+ - llvm-symbolizer.yml
+ - macos-sdk.yml
+ - mingw.yml
+ - minidump-stackwalk.yml
+ - misc.yml
+ - nasm.yml
+ - node.yml
+ - pkgconf.yml
+ - python.yml
+ - resourcemonitor.yml
+ - rust.yml
+ - rust-size.yml
+ - sccache.yml
+ - sysroot.yml
+ - dist-toolchains.yml
diff --git a/taskcluster/ci/toolchain/libunwind.yml b/taskcluster/ci/toolchain/libunwind.yml
new file mode 100644
index 0000000000..5a1972f3f6
--- /dev/null
+++ b/taskcluster/ci/toolchain/libunwind.yml
@@ -0,0 +1,247 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ using: toolchain-script
+ script: build-libunwind.sh
+
+android-aarch64-libunwind-17:
+ description: "android aarch64 libunwind for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(aarch64-unwind-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - android-aarch64-compiler-rt-17
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-libunwind-17:
+ description: "android arm libunwind for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(arm-unwind-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - android-arm-compiler-rt-17
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-libunwind-17:
+ description: "android x86 libunwind for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(x86-unwind-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - android-x86-compiler-rt-17
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-libunwind-17:
+ description: "android x64 libunwind for Clang 17 toolchain build"
+ treeherder:
+ symbol: TA(x64-unwind-17)
+ run:
+ arguments:
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - android-x64-compiler-rt-17
+ - linux64-clang-17-stage1
+ - linux64-android-ndk-linux-repack
+
+android-aarch64-libunwind-18:
+ description: "android aarch64 libunwind for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(aarch64-unwind-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - android-aarch64-compiler-rt-18
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-libunwind-18:
+ description: "android arm libunwind for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(arm-unwind-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - android-arm-compiler-rt-18
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-libunwind-18:
+ description: "android x86 libunwind for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(x86-unwind-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - android-x86-compiler-rt-18
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-libunwind-18:
+ description: "android x64 libunwind for Clang 18 toolchain build"
+ treeherder:
+ symbol: TA(x64-unwind-18)
+ run:
+ arguments:
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-artifact: public/build/libunwind-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - android-x64-compiler-rt-18
+ - linux64-clang-18-stage1
+ - linux64-android-ndk-linux-repack
+
+android-aarch64-libunwind-trunk:
+ description: "android aarch64 libunwind for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(aarch64-unwind-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/libunwind-aarch64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - android-aarch64-compiler-rt-trunk
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+android-arm-libunwind-trunk:
+ description: "android arm libunwind for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(arm-unwind-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/libunwind-armv7-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - android-arm-compiler-rt-trunk
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x86-libunwind-trunk:
+ description: "android x86 libunwind for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(x86-unwind-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/libunwind-i686-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - android-x86-compiler-rt-trunk
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
+
+android-x64-libunwind-trunk:
+ description: "android x64 libunwind for Clang trunk toolchain build"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TA(x64-unwind-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/libunwind-x86_64-linux-android.tar.zst
+ fetches:
+ fetch:
+ - clang-trunk
+ toolchain:
+ - android-x64-compiler-rt-trunk
+ - linux64-clang-trunk-stage1
+ - linux64-android-ndk-linux-repack
diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/ci/toolchain/llvm-symbolizer.yml
new file mode 100644
index 0000000000..8864a81cc1
--- /dev/null
+++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml
@@ -0,0 +1,331 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-17:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL32(llvm-symbolizer)
+ run:
+ arguments:
+ - i686-unknown-linux-gnu
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux32-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux32-toolchain-sysroot
+
+linux64-llvm-symbolizer-17:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL(llvm-symbolizer)
+ run:
+ arguments:
+ - x86_64-unknown-linux-gnu
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - linux64-toolchain-sysroot
+
+macosx64-llvm-symbolizer-17:
+ description: "llvm-symbolizer for macOS x64"
+ treeherder:
+ symbol: TM(llvm-symbolizer)
+ run:
+ arguments:
+ - x86_64-apple-darwin
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: macosx64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-llvm-symbolizer-17:
+ description: "llvm-symbolizer for macOS aarch64"
+ treeherder:
+ symbol: TM(llvm-symbolizer-aarch64)
+ run:
+ arguments:
+ - aarch64-apple-darwin
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: macosx64-aarch64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - macosx64-sdk-toolchain
+
+win64-llvm-symbolizer-17:
+ description: "llvm-symbolizer for Windows"
+ treeherder:
+ symbol: TW64(llvm-symbolizer)
+ run:
+ arguments:
+ - x86_64-pc-windows-msvc
+ - build/build-clang/clang-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: win64-llvm-symbolizer
+ fetches:
+ fetch:
+ - clang-17
+ toolchain:
+ - linux64-clang-17-stage1
+ - vs-toolchain
+
+linux32-llvm-symbolizer-18:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL32(llvm-symbolizer-18)
+ run:
+ arguments:
+ - i686-unknown-linux-gnu
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux32-toolchain-sysroot
+
+linux64-llvm-symbolizer-18:
+ description: "llvm-symbolizer for Linux"
+ treeherder:
+ symbol: TL(llvm-symbolizer-18)
+ run:
+ arguments:
+ - x86_64-unknown-linux-gnu
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - linux64-toolchain-sysroot
+
+macosx64-llvm-symbolizer-18:
+ description: "llvm-symbolizer for macOS x64"
+ treeherder:
+ symbol: TM(llvm-symbolizer-18)
+ run:
+ arguments:
+ - x86_64-apple-darwin
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-llvm-symbolizer-18:
+ description: "llvm-symbolizer for macOS aarch64"
+ treeherder:
+ symbol: TM(llvm-sym-aarch64-18)
+ run:
+ arguments:
+ - aarch64-apple-darwin
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - macosx64-sdk-toolchain
+
+win64-llvm-symbolizer-18:
+ description: "llvm-symbolizer for Windows"
+ treeherder:
+ symbol: TW64(llvm-symbolizer-18)
+ run:
+ arguments:
+ - x86_64-pc-windows-msvc
+ - build/build-clang/clang-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - taskcluster/scripts/misc/build-llvm-common.sh
+ fetches:
+ fetch:
+ - clang-18
+ toolchain:
+ - linux64-clang-18-stage1
+ - vs-toolchain
+
+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-toolchain
+
+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-toolchain
+
+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
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/ci/toolchain/macos-sdk.yml
new file mode 100644
index 0000000000..d3e2bc6493
--- /dev/null
+++ b/taskcluster/ci/toolchain/macos-sdk.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/.
+---
+job-defaults:
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ env:
+ PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
+ run:
+ script: unpack-sdk.py
+ resources:
+ - python/mozbuild/mozpack/macpkg.py
+ - taskcluster/scripts/misc/unpack-sdk.py
+ tooltool-downloads: internal
+ # Expiry similar to that of fetches
+ expires-after: 1000 years
+
+macosx64-sdk-13.3:
+ description: "MacOSX13.3 SDK"
+ treeherder:
+ symbol: TM(sdk13.3)
+ run:
+ arguments:
+ - https://swcdn.apple.com/content/downloads/15/62/032-84673-A_7A1TG1RF8Z/xpc8q44ggn2pkn82iwr0fi1zeb9cxi8ath/CLTools_macOSNMOS_SDK.pkg
+ - 8de3306508dca31040b3b49ff370e96c94f4546bcf22cb4069abbb18e2d6bce8e20d40a6903f00ae75558175b624a979ea0444f54bc6d9d67e841f2000b0d863
+ - Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk
+ toolchain-artifact: project/gecko/mac-sdk/MacOSX13.3.sdk.tar.zst
+ toolchain-alias:
+ - MacOSX13.3.sdk
+
+macosx64-sdk-14.2:
+ description: "MacOSX14.2 SDK"
+ treeherder:
+ symbol: TM(sdk14.2)
+ run:
+ arguments:
+ - https://swcdn.apple.com/content/downloads/35/47/042-23550-A_M34N50O9N3/sua6ev7bjcexvorh4709vsgk64zgvsl42p/CLTools_macOSNMOS_SDK.pkg
+ - 22ce0acc9ab5c28845218b8c686d0208d6bf66bef64a369d3c0622247ba1258b438c9e44c64bb2bacf5e99eb398a6e7a337f2730cd4a969a7f0d2d5d3107306a
+ - Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk
+ toolchain-artifact: project/gecko/mac-sdk/MacOSX14.2.sdk.tar.zst
+ toolchain-alias:
+ - macosx64-sdk
+ - macosx64-sdk-toolchain
+ - MacOSX14.2.sdk
diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/ci/toolchain/mingw.yml
new file mode 100644
index 0000000000..a14413669f
--- /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.3.1
+ 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..f0f9b3e70c
--- /dev/null
+++ b/taskcluster/ci/toolchain/minidump-stackwalk.yml
@@ -0,0 +1,96 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-minidump-stackwalk:
+ treeherder:
+ symbol: TM(stackwalk-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-rust-macos-toolchain
+ - linux64-clang-toolchain
+ - macosx64-sdk-toolchain
+
+win32-minidump-stackwalk:
+ treeherder:
+ symbol: TW32(stackwalk)
+ run:
+ arguments: ['i686-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
+
+win64-minidump-stackwalk:
+ treeherder:
+ symbol: TW64(stackwalk)
+ run:
+ arguments: ['x86_64-pc-windows-msvc']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-windows-toolchain
+ - vs-toolchain
+
+# 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..f19201bc1e
--- /dev/null
+++ b/taskcluster/ci/toolchain/misc.yml
@@ -0,0 +1,605 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-8
+ - 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.41
+ 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
+
+macosx64-xz:
+ description: "xz development library"
+ worker-type: b-osx-1015
+ treeherder:
+ symbol: TM(xz)
+ worker:
+ max-run-time: 30000
+ run:
+ script: build-xz.sh
+ toolchain-artifact: public/build/xz.tar.zst
+ fetches:
+ fetch:
+ - xz-5.4.4
+ toolchain:
+ - macosx64-clang-toolchain
+ - macosx64-sdk-toolchain
+
+macosx64-custom-car:
+ description: "Custom chromium-as-release build for mac"
+ worker-type: b-osx-1015
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(custom-car)
+ worker:
+ max-run-time: 35000
+ use-system-python: false
+ run-on-projects: []
+ run:
+ script: build-custom-car.sh
+ arguments: [
+ car_macosx.tar.zst,
+ blink_symbol_level=0,
+ chrome_pgo_phase=2,
+ dcheck_always_on=false,
+ enable_nacl=false,
+ enable_resource_allowlist_generation=false,
+ is_chrome_branded=false,
+ is_clang=true,
+ is_component_build=false,
+ is_debug=false,
+ is_official_build=true,
+ symbol_level=0,
+ target_cpu="x64",
+ use_v8_context_snapshot=false,
+ v8_symbol_level=0
+ ]
+ toolchain-artifact: public/build/car_macosx.tar.zst
+ fetches:
+ toolchain:
+ - macosx64-sdk-14.2
+
+macosx-arm64-custom-car:
+ description: "Custom chromium-as-release build for mac (apple silicon)"
+ worker-type: b-osx-1015
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TM(custom-car-arm)
+ tier: 2
+ worker:
+ max-run-time: 50000
+ use-system-python: false
+ run-on-projects: []
+ run:
+ script: build-custom-car.sh
+ arguments: [
+ car_macosx_arm.tar.zst,
+ blink_symbol_level=0,
+ chrome_pgo_phase=2,
+ dcheck_always_on=false,
+ enable_nacl=false,
+ enable_resource_allowlist_generation=false,
+ is_chrome_branded=false,
+ is_clang=true,
+ is_component_build=false,
+ is_debug=false,
+ is_official_build=true,
+ symbol_level=0,
+ target_cpu="arm64",
+ use_v8_context_snapshot=false,
+ v8_symbol_level=0
+ ]
+ toolchain-artifact: public/build/car_macosx_arm.tar.zst
+ fetches:
+ toolchain:
+ - macosx64-sdk-14.2
+
+android-custom-car:
+ description: "Custom chromium-as-release build for Android"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(custom-car-android)
+ worker:
+ docker-image: {in-tree: custom-car-android}
+ max-run-time: 20000
+ use-system-python: false
+ run-on-projects: []
+ run:
+ script: build-custom-car.sh
+ arguments: [
+ car_android.tar.zst,
+ blink_symbol_level=0,
+ chrome_pgo_phase=2,
+ dcheck_always_on=false,
+ enable_nacl=false,
+ enable_resource_allowlist_generation=false,
+ is_chrome_branded=false,
+ is_clang=true,
+ is_component_build=false,
+ is_debug=false,
+ is_official_build=true,
+ symbol_level=0,
+ target_cpu="arm64",
+ target_os="android",
+ is_android=true,
+ is_high_end_android=true,
+ use_v8_context_snapshot=false,
+ v8_symbol_level=0
+ ]
+ toolchain-artifact: public/build/car_android.tar.zst
+
+linux64-custom-car:
+ description: "Custom chromium-as-release build for Linux"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TL(custom-car)
+ worker:
+ docker-image: {in-tree: custom-car-linux}
+ max-run-time: 16200
+ use-system-python: false
+ run-on-projects: []
+ run:
+ script: build-custom-car.sh
+ arguments: [
+ car_linux.tar.zst,
+ blink_symbol_level=0,
+ chrome_pgo_phase=2,
+ dcheck_always_on=false,
+ enable_nacl=false,
+ enable_resource_allowlist_generation=false,
+ is_chrome_branded=false,
+ is_clang=true,
+ is_component_build=false,
+ is_debug=false,
+ is_official_build=true,
+ symbol_level=0,
+ target_cpu="x64",
+ use_v8_context_snapshot=false,
+ v8_symbol_level=0
+ ]
+ toolchain-artifact: public/build/car_linux.tar.zst
+
+win64-custom-car:
+ description: "Custom chromium-as-release build for Windows"
+ attributes:
+ cached_task: false
+ treeherder:
+ symbol: TW64(custom-car)
+ worker-type: b-win2022
+ worker:
+ max-run-time: 16200
+ env:
+ MSYSTEM: "MINGW64"
+ use-system-python: false
+ run-on-projects: []
+ run:
+ script: build-custom-car.sh
+ arguments: [
+ car_win64.tar.zst,
+ blink_symbol_level=0,
+ chrome_pgo_phase=2,
+ dcheck_always_on=false,
+ enable_nacl=false,
+ enable_resource_allowlist_generation=false,
+ is_chrome_branded=false,
+ is_clang=true,
+ is_component_build=false,
+ is_debug=false,
+ is_official_build=true,
+ symbol_level=0,
+ target_cpu=\"x64\",
+ use_v8_context_snapshot=false,
+ v8_symbol_level=0
+ ]
+ toolchain-artifact: public/build/car_win64.tar.zst
+ fetches:
+ toolchain:
+ - win64-vs2022
+
+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.toml'
+ - 'gfx/wr/Cargo.lock'
+ - 'gfx/wr/ci-scripts/install-meson.sh'
+ toolchain-artifact: public/build/wrench-deps.tar.zst
+ fetches:
+ 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
+ - vs-toolchain
+
+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
+ - vs-toolchain
+
+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-vs2019:
+ description: "VS 2019"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(msvc2019)
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ script: get_vs.py
+ arguments:
+ - build/vs/vs2019.yaml
+ resources:
+ - build/vs/vs2019.yaml
+ toolchain-artifact: project/gecko/vs/vs.tar.zst
+ toolchain-alias:
+ - vs
+ - vs-toolchain
+
+win64-vs2022:
+ description: "VS 2022"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(msvc2022)
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ script: get_vs.py
+ arguments:
+ - build/vs/vs2022.yaml
+ resources:
+ - build/vs/vs2022.yaml
+ toolchain-artifact: project/gecko/vs/vs.tar.zst
+
+linux64-afl-instrumentation-4.0:
+ 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-plus-plus-4.0
+ toolchain:
+ - linux64-clang
+ - linux64-toolchain-sysroot
+
+linux64-cargo-apk:
+ description: "cargo-apk toolchain build"
+ treeherder:
+ symbol: TL(cargo-apk)
+ worker:
+ env:
+ FETCH: android-ndk-rs/cargo-apk
+ run:
+ script: build-rust-based-toolchain.sh
+ arguments: ['x86_64-unknown-linux-gnu']
+ resources:
+ - taskcluster/scripts/misc/cargo-apk-Cargo.lock
+ toolchain-artifact: public/build/cargo-apk.tar.zst
+ fetches:
+ fetch:
+ - android-ndk-rs
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-rust-toolchain
+ - sysroot-x86_64-linux-gnu
+
+windows-rs:
+ # Bootstrap cannot use fetches directly, so we have this task to
+ # expose the corresponding fetch as a toolchain artifact.
+ description: Source of the windows rust crate
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(windows-rs)
+ run:
+ script: dummy.sh
+ toolchain-artifact: public/build/windows-rs.tar.zst
+ dependencies:
+ fetch-windows-rs: fetch-windows-rs
+ fetches:
+ fetch-windows-rs:
+ - artifact: windows-rs.tar.zst
+ extract: false
+ dest: ../artifacts
diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/ci/toolchain/nasm.yml
new file mode 100644
index 0000000000..866aa5b0f6
--- /dev/null
+++ b/taskcluster/ci/toolchain/nasm.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:
+ 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-clang-toolchain
+ - macosx64-sdk-toolchain
+
+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-clang-toolchain
+ - macosx64-sdk-toolchain
+
+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..c1bc86254d
--- /dev/null
+++ b/taskcluster/ci/toolchain/node.yml
@@ -0,0 +1,114 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+linux64-node-18:
+ # The upstream prebuilt binary requires glibc 2.28, which is too recent for Ubuntu 18.04,
+ # so we build our own that won't have that requirement.
+ description: "Node toolchain build"
+ treeherder:
+ symbol: TL(node-18)
+ run:
+ script: build-nodejs.sh
+ fetches:
+ fetch:
+ - nodejs-18-source
+ toolchain:
+ - linux64-gcc-11
+ - linux64-toolchain-sysroot
+
+macosx64-node-16:
+ treeherder:
+ symbol: TM(node-16)
+ run:
+ toolchain-alias:
+ - macosx64-node
+ fetches:
+ fetch:
+ - nodejs-16-macosx64
+
+macosx64-node-18:
+ treeherder:
+ symbol: TM(node-18)
+ fetches:
+ fetch:
+ - nodejs-18-macosx64
+
+macosx64-aarch64-node-16:
+ treeherder:
+ symbol: TM(node-16-arm64)
+ run:
+ toolchain-alias:
+ - macosx64-aarch64-node
+ fetches:
+ fetch:
+ - nodejs-16-macosx64-arm64
+
+macosx64-aarch64-node-18:
+ treeherder:
+ symbol: TM(node-18-arm64)
+ fetches:
+ fetch:
+ - nodejs-18-macosx64-arm64
+
+win64-node-16:
+ treeherder:
+ symbol: TW64(node-16)
+ run:
+ toolchain-alias:
+ - win64-node
+ fetches:
+ fetch:
+ - nodejs-16-win64
+
+win64-node-18:
+ treeherder:
+ symbol: TW64(node-18)
+ fetches:
+ fetch:
+ - nodejs-18-win64
+
+win32-node-16:
+ treeherder:
+ symbol: TW32(node-16)
+ run:
+ toolchain-alias:
+ - win32-node
+ fetches:
+ fetch:
+ - nodejs-16-win32
+
+win32-node-18:
+ treeherder:
+ symbol: TW32(node-18)
+ fetches:
+ fetch:
+ - nodejs-18-win32
diff --git a/taskcluster/ci/toolchain/pkgconf.yml b/taskcluster/ci/toolchain/pkgconf.yml
new file mode 100644
index 0000000000..c97ead7acc
--- /dev/null
+++ b/taskcluster/ci/toolchain/pkgconf.yml
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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
+ - macosx64-sdk-toolchain
+
+macosx64-aarch64-pkgconf:
+ treeherder:
+ symbol: TM(pkgconf-arm64)
+ run:
+ arguments: ['aarch64-apple-darwin']
+ fetches:
+ toolchain:
+ - linux64-clang-toolchain
+ - macosx64-sdk-toolchain
+
+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/python.yml b/taskcluster/ci/toolchain/python.yml
new file mode 100644
index 0000000000..e610ee6e4e
--- /dev/null
+++ b/taskcluster/ci/toolchain/python.yml
@@ -0,0 +1,97 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ description: "python repack"
+ attributes:
+ local-toolchain: true
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ run:
+ script: build-cpython.sh
+ resources:
+ - 'build/psutil_requirements.txt'
+ - 'build/zstandard_requirements.txt'
+
+linux64-python-3.8:
+ treeherder:
+ symbol: TL(python)
+ run:
+ toolchain-alias: linux64-python
+ toolchain-artifact: public/build/python.tar.zst
+ fetches:
+ fetch:
+ - cpython-3.8.10
+ worker:
+ docker-image: {in-tree: ubuntu1804-build-python}
+
+win64-python-3.8:
+ description: "cpython 3.8.10"
+ treeherder:
+ symbol: TW64(python)
+ run:
+ script: pack-cpython.sh
+ toolchain-alias: win64-python
+ toolchain-artifact: public/build/python.tar.zst
+ fetches:
+ toolchain:
+ - linux64-wine
+ fetch:
+ - cpython-3.8.10.exe
+
+macosx64-python-3.8:
+ treeherder:
+ symbol: TM(python)
+ worker-type: b-osx-1015
+ run:
+ toolchain-alias: macosx64-python
+ toolchain-artifact: public/build/python.tar.zst
+ fetches:
+ fetch:
+ - cpython-3.8.10
+ toolchain:
+ - macosx64-clang-toolchain
+ - macosx64-sdk-toolchain
+ - macosx64-xz
+
+###
+
+linux64-python-3.11:
+ treeherder:
+ symbol: TL(python3.11)
+ run:
+ toolchain-artifact: public/build/python.tar.zst
+ fetches:
+ fetch:
+ - cpython-3.11.7
+ worker:
+ docker-image: {in-tree: ubuntu1804-build-python}
+
+win64-python-3.11:
+ description: "cpython 3.11.7"
+ treeherder:
+ symbol: TW64(python3.11)
+ run:
+ script: pack-cpython.sh
+ toolchain-artifact: public/build/python.tar.zst
+ fetches:
+ toolchain:
+ - linux64-wine
+ fetch:
+ - cpython-3.11.7.exe
+
+macosx64-python-3.11:
+ treeherder:
+ symbol: TM(python3.11)
+ worker-type: b-osx-1015
+ run:
+ toolchain-artifact: public/build/python.tar.zst
+ fetches:
+ fetch:
+ - cpython-3.11.7
+ toolchain:
+ - macosx64-clang-toolchain
+ - macosx64-sdk-toolchain
+ - macosx64-xz
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..09963589a6
--- /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
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml
new file mode 100644
index 0000000000..050e581247
--- /dev/null
+++ b/taskcluster/ci/toolchain/rust.yml
@@ -0,0 +1,219 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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.70:
+ treeherder:
+ symbol: TL(rust-1.70)
+ run:
+ arguments: [
+ '--channel', '1.70.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.76:
+ treeherder:
+ symbol: TL(rust)
+ run:
+ arguments: [
+ '--channel', '1.76.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',
+ ]
+ toolchain-alias: linux64-rust
+
+# 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',
+ '--channel', 'dev',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ ]
+ fetches:
+ fetch:
+ - rust-1.76.0
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+
+linux64-rust-cross-1.76:
+ description: "rust repack with macos and windows cross support"
+ treeherder:
+ symbol: TL(rust-cross)
+ run:
+ arguments: [
+ '--channel', '1.76.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-static-1.76:
+ description: "rust repack with static linking support"
+ treeherder:
+ symbol: TL(rust-static)
+ run:
+ arguments: [
+ '--channel', '1.76.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.70:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos-1.70)
+ run:
+ arguments: [
+ '--channel', '1.70.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.76:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos)
+ run:
+ arguments: [
+ '--channel', '1.76.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.76:
+ description: "rust repack with android-cross support"
+ treeherder:
+ symbol: TL(rust-android)
+ run:
+ arguments: [
+ '--channel', '1.76.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',
+ ]
+ toolchain-alias: linux64-rust-android
+
+linux64-rust-windows-1.70:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win-1.70)
+ run:
+ arguments: [
+ '--channel', '1.70.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.76:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win)
+ run:
+ arguments: [
+ '--channel', '1.76.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.76:
+ treeherder:
+ symbol: TW64(rust)
+ run:
+ arguments: [
+ '--channel', '1.76.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.76:
+ treeherder:
+ symbol: TM(rust)
+ run:
+ arguments: [
+ '--channel', '1.76.0',
+ '--host', 'x86_64-apple-darwin',
+ '--target', 'x86_64-apple-darwin',
+ ]
+ toolchain-alias: macosx64-rust
+
+mingw32-rust-1.76:
+ treeherder:
+ symbol: TMW(rust)
+ run:
+ arguments: [
+ '--channel', '1.76.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..6fa9ab46a5
--- /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
+ - s3
+ - gcs
+ - azure
+ - 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
+ - macosx64-sdk-toolchain
+
+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
+ - macosx64-sdk-toolchain
+
+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
+ - vs-toolchain
diff --git a/taskcluster/ci/toolchain/sysroot.yml b/taskcluster/ci/toolchain/sysroot.yml
new file mode 100644
index 0000000000..e4479d16e0
--- /dev/null
+++ b/taskcluster/ci/toolchain/sysroot.yml
@@ -0,0 +1,206 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-8>'}
+ treeherder:
+ symbol: TL(sysroot32)
+ dependencies:
+ gcc-8: packages-deb8-32-gcc-8
+ 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-8>'}
+ treeherder:
+ symbol: TL(sysroot64)
+ dependencies:
+ gcc-8: packages-deb8-gcc-8
+ 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-8> <gtk3>'}
+ treeherder:
+ symbol: TL(sysroot64-x11)
+ dependencies:
+ gcc-8: packages-deb8-gcc-8
+ gtk3: packages-deb8-gtk3
+ run:
+ toolchain-artifact: public/build/sysroot-x86_64-linux-gnu.tar.zst
+ arguments:
+ - amd64
+
+sysroot-wasm32-wasi-clang-8.0:
+ description: "Sysroot for wasi"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(sysroot-wasi-8)
+ run:
+ script: build-sysroot-wasi.sh
+ toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-8.0
+ - wasi-sdk-11
+ toolchain:
+ - linux64-clang-8.0
+ - wasm32-wasi-compiler-rt-8.0
+
+sysroot-wasm32-wasi-clang-17:
+ description: "Sysroot for wasi"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(sysroot-wasi-17)
+ run:
+ script: build-sysroot-wasi.sh
+ arguments:
+ - wasi-sdk.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk.patch
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: sysroot-wasm32-wasi
+ toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-17
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-17-stage1
+ - wasm32-wasi-compiler-rt-17
+
+sysroot-wasm32-wasi-clang-18:
+ description: "Sysroot for wasi"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(sysroot-wasi-18)
+ run:
+ script: build-sysroot-wasi.sh
+ arguments:
+ - wasi-sdk.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk.patch
+ toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst
+ fetches:
+ fetch:
+ - clang-18
+ - wasi-sdk
+ toolchain:
+ - linux64-clang-18-stage1
+ - wasm32-wasi-compiler-rt-18
+
+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
+ arguments:
+ - wasi-sdk.patch
+ resources:
+ - taskcluster/scripts/misc/wasi-sdk.patch
+ 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-8>'}
+ treeherder:
+ symbol: TL(sysroot32-toolchain)
+ dependencies:
+ gcc-8: packages-deb8-32-gcc-8
+ 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-8>'}
+ treeherder:
+ symbol: TL(sysroot64-toolchain)
+ dependencies:
+ gcc-8: packages-deb8-gcc-8
+ run:
+ arguments:
+ - amd64
+ # For clang
+ - binutils-dev
+ - gcc-multilib
+ - lib32stdc++-8-dev
+ - libxml2-dev
+ # For minidump-stackwalk
+ - libcurl4-openssl-dev
+ - libssl-dev
+ - libbz2-dev
+ # For msix-package
+ - libicu-dev
diff --git a/taskcluster/ci/trigger-comm-central/kind.yml b/taskcluster/ci/trigger-comm-central/kind.yml
new file mode 100644
index 0000000000..0b6dfb2c64
--- /dev/null
+++ b/taskcluster/ci/trigger-comm-central/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.trigger_comm_central:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects: ['mozilla-central-only']
+ treeherder:
+ kind: other
+ platform: other/opt
+ tier: 2
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: debian12-amd64-build}
+ max-run-time: 600
+ taskcluster-proxy: true
+ run:
+ using: run-task
+ checkout: false
+
+jobs:
+ tb-rust:
+ description: 'Schedule job to verify the comm-central copy of third_party/rust'
+ treeherder:
+ symbol: tb-rust
+ run:
+ command: '/usr/bin/curl --fail --verbose -X POST -d "{}" -H "Content-Type: application/json" ${TASKCLUSTER_PROXY_URL}/api/hooks/v1/hooks/project-releng/cron-task-comm-central%2ftb-rust-vendor-check/trigger'
+ when:
+ files-changed:
+ - Cargo.lock
+ - Cargo.toml
+ - toolkit/library/rust/shared/Cargo.toml
+ scopes:
+ by-level:
+ '3':
+ - 'hooks:trigger-hook:project-releng/cron-task-comm-central/tb-rust-vendor-check'
+ default: []
diff --git a/taskcluster/ci/updatebot/kind.yml b/taskcluster/ci/updatebot/kind.yml
new file mode 100644
index 0000000000..b62eccc5bc
--- /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-win2022
+ 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..56e6762839
--- /dev/null
+++ b/taskcluster/ci/upload-generated-sources-dummy/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.per_platform_dummy
+ - gecko_taskgraph.transforms.mac_dummy
+ - gecko_taskgraph.transforms.task
+
+only-for-build-platforms:
+ macosx64-shippable/opt
+ macosx64-devedition/opt
+
+kind-dependencies:
+ - build
+ - upload-generated-sources
+
+jobs:
+ upload-generated-sources-dummy:
+ description: Dummy task to pull in mac x64 and aarch64 upload-generated-symbols tasks
+ from-deps:
+ group-by: single-with-filters
+ worker-type: 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..86123d336d
--- /dev/null
+++ b/taskcluster/ci/upload-generated-sources/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:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.upload_generated_sources
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - nightly
+ - shippable
+ - upload-generated-sources
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+
+jobs:
+ upload-generated-sources:
+ description: Upload generated source files from build
+ from-deps:
+ group-by: single-with-filters
+ 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..d9202ef373
--- /dev/null
+++ b/taskcluster/ci/upload-symbols-dummy/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.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.per_platform_dummy
+ - gecko_taskgraph.transforms.mac_dummy
+ - gecko_taskgraph.transforms.task
+
+only-for-build-platforms:
+ macosx64-shippable/opt
+ macosx64-devedition/opt
+
+kind-dependencies:
+ - build
+ - upload-symbols
+
+jobs:
+ upload-symbols-dummy:
+ description: Dummy task to pull in mac x64 and aarch64 upload-symbols tasks
+ from-deps:
+ group-by: single-with-filters
+ unique-kinds: false
+ worker-type: succeed
diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/ci/upload-symbols/kind.yml
new file mode 100644
index 0000000000..0421835607
--- /dev/null
+++ b/taskcluster/ci/upload-symbols/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
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.upload_symbols
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+ - toolchain
+
+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
+
+jobs:
+ upload-symbols:
+ description: Upload Symbols
+ from-deps:
+ group-by: platform
+ worker-type: b-linux-gcp
+ use-system-python: false
+ worker:
+ docker-image: {in-tree: "debian12-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..754616e611
--- /dev/null
+++ b/taskcluster/ci/valgrind/kind.yml
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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
+ use-system-python: false
+
+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..84a938cf67
--- /dev/null
+++ b/taskcluster/ci/webrender/kind.yml
@@ -0,0 +1,634 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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
+ use-system-python: false
+
+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: >-
+ pushd /tmp &&
+ python3 -m pip install six &&
+ python3 -m pip install -e 'git+https://github.com/servo/servo.git@65a4d1646da46c37fe748add6dcf24b62ebb602a#egg=servo_tidy&subdirectory=python/tidy' &&
+ popd &&
+ 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-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-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: win11-64-2009-source
+ worker:
+ max-run-time: 5400
+ env:
+ NODE_OPTIONS: '--max_old_space_size=4096'
+ fetches:
+ toolchain:
+ - win64-rust
+ - vs
+ - wrench-deps
+ run:
+ using: run-task
+ use-caches: false
+ command: '$GECKO_PATH/taskcluster/scripts/misc/wrench-windows-tests.sh'
+ treeherder:
+ platform: windows11-64-2009-qr/release
+ symbol: WR(wrench)
+ when:
+ files-changed:
+ - 'build/win64/mozconfig.vs2019'
+ - '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
+ - type: file
+ name: public/build/six.tar.gz
+ path: /builds/worker/checkouts/gecko/third_party/python/six.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/ &&
+ cd $GECKO_PATH/third_party/python &&
+ tar czf six.tar.gz six/
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - linux64-cargo-apk
+ - 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
+ - type: file
+ name: public/build/six.tar.gz
+ path: /builds/worker/checkouts/gecko/third_party/python/six.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/ &&
+ cd $GECKO_PATH/third_party/python &&
+ tar czf six.tar.gz six/
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+ - linux64-cargo-apk
+ - 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'
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ dependencies:
+ webrender-wrench-android-debug: webrender-wrench-android-debug
+ fetches:
+ webrender-wrench-android-debug:
+ - artifact: 'wrench-debug.apk'
+ extract: false
+ 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'
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ dependencies:
+ webrender-wrench-android-release: webrender-wrench-android-release
+ fetches:
+ webrender-wrench-android-release:
+ - artifact: 'wrench-release.apk'
+ extract: false
+ 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-p5-debug:
+ description: Run debug wrench reftests on Android Pixel5
+ attributes:
+ build_platform: android
+ worker-type: t-bitbar-gw-unit-p5
+ 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
+ PYTHONPATH: "fetches/mozdevice:fetches/six"
+ dependencies:
+ webrender-wrench-android-debug: webrender-wrench-android-debug
+ android-build: build-android-arm/debug
+ fetches:
+ webrender-wrench-android-debug:
+ - artifact: 'wrench-debug.apk'
+ extract: false
+ - 'reftests.tar.gz'
+ - 'mozdevice.tar.gz'
+ - 'six.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 &&
+ python3 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-p5-13-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-p5-opt:
+ description: Run opt wrench reftests on Android Pixel5
+ attributes:
+ build_platform: android
+ worker-type: t-bitbar-gw-unit-p5
+ 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
+ PYTHONPATH: "fetches/mozdevice:fetches/six"
+ dependencies:
+ webrender-wrench-android-release: webrender-wrench-android-release
+ android-build: build-android-arm/opt
+ fetches:
+ webrender-wrench-android-release:
+ - artifact: 'wrench-release.apk'
+ extract: false
+ - 'reftests.tar.gz'
+ - 'mozdevice.tar.gz'
+ - 'six.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 &&
+ python3 ${MOZHARNESS_PATH}/scripts/${MOZHARNESS_SCRIPT} --config-file ${MOZHARNESS_PATH}/configs/${MOZHARNESS_CONFIG}
+ treeherder:
+ platform: android-hw-p5-13-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
+ PYTHONPATH: "fetches/mozdevice:fetches/six"
+ dependencies:
+ webrender-wrench-android-debug: webrender-wrench-android-debug
+ android-build: build-android-arm/debug
+ fetches:
+ webrender-wrench-android-debug:
+ - artifact: 'wrench-debug.apk'
+ extract: false
+ - 'reftests.tar.gz'
+ - 'mozdevice.tar.gz'
+ - 'six.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 &&
+ 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
+ PYTHONPATH: "fetches/mozdevice:fetches/six"
+ dependencies:
+ webrender-wrench-android-release: webrender-wrench-android-release
+ android-build: build-android-arm/opt
+ fetches:
+ webrender-wrench-android-release:
+ - artifact: 'wrench-release.apk'
+ extract: false
+ - 'reftests.tar.gz'
+ - 'mozdevice.tar.gz'
+ - 'six.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 &&
+ 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/**'