summaryrefslogtreecommitdiffstats
path: root/taskcluster/kinds
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/kinds')
-rw-r--r--taskcluster/kinds/addon/kind.yml44
-rw-r--r--taskcluster/kinds/android-l10n/kind.yml56
-rw-r--r--taskcluster/kinds/android-startup-test/kind.yml129
-rw-r--r--taskcluster/kinds/artifact-build/kind.yml106
-rw-r--r--taskcluster/kinds/attribution-l10n/kind.yml187
-rw-r--r--taskcluster/kinds/attribution/kind.yml176
-rw-r--r--taskcluster/kinds/balrog/kind.yml35
-rw-r--r--taskcluster/kinds/beetmover-android-app/kind.yml47
-rw-r--r--taskcluster/kinds/beetmover-apt/kind.yml30
-rw-r--r--taskcluster/kinds/beetmover-checksums/kind.yml30
-rw-r--r--taskcluster/kinds/beetmover-components/kind.yml62
-rw-r--r--taskcluster/kinds/beetmover-geckoview/kind.yml69
-rw-r--r--taskcluster/kinds/beetmover-repackage/kind.yml66
-rw-r--r--taskcluster/kinds/beetmover-source/kind.yml23
-rw-r--r--taskcluster/kinds/bootstrap/kind.yml103
-rw-r--r--taskcluster/kinds/bouncer-locations/kind.yml52
-rw-r--r--taskcluster/kinds/build-apk/kind.yml520
-rw-r--r--taskcluster/kinds/build-bundle/kind.yml215
-rw-r--r--taskcluster/kinds/build-components/kind.yml135
-rw-r--r--taskcluster/kinds/build-fat-aar/kind.yml204
-rw-r--r--taskcluster/kinds/build-mac-notarization/kind.yml34
-rw-r--r--taskcluster/kinds/build-mac-signing/kind.yml34
-rw-r--r--taskcluster/kinds/build-samples-browser/kind.yml64
-rw-r--r--taskcluster/kinds/build-signing/kind.yml34
-rw-r--r--taskcluster/kinds/build/android-asan.yml75
-rw-r--r--taskcluster/kinds/build/android-stuff.yml53
-rw-r--r--taskcluster/kinds/build/android.yml644
-rw-r--r--taskcluster/kinds/build/ios.yml127
-rw-r--r--taskcluster/kinds/build/kind.yml94
-rw-r--r--taskcluster/kinds/build/linux-base-toolchains.yml173
-rw-r--r--taskcluster/kinds/build/linux.yml1900
-rw-r--r--taskcluster/kinds/build/macosx-native.yml145
-rw-r--r--taskcluster/kinds/build/macosx.yml949
-rw-r--r--taskcluster/kinds/build/windows-mingw.yml173
-rw-r--r--taskcluster/kinds/build/windows.yml1583
-rw-r--r--taskcluster/kinds/code-review/kind.yml45
-rw-r--r--taskcluster/kinds/condprof/kind.yml136
-rw-r--r--taskcluster/kinds/cron-bouncer-check/kind.yml82
-rw-r--r--taskcluster/kinds/diffoscope/artifacts.yml56
-rw-r--r--taskcluster/kinds/diffoscope/kind.yml61
-rw-r--r--taskcluster/kinds/diffoscope/reproducible.yml29
-rw-r--r--taskcluster/kinds/docker-image/kind.yml250
-rw-r--r--taskcluster/kinds/fetch/benchmarks.yml19
-rw-r--r--taskcluster/kinds/fetch/browsertime.yml177
-rw-r--r--taskcluster/kinds/fetch/chromium-fetch.yml48
-rw-r--r--taskcluster/kinds/fetch/kind.yml20
-rw-r--r--taskcluster/kinds/fetch/moz.build8
-rw-r--r--taskcluster/kinds/fetch/resource-monitor.yml10
-rw-r--r--taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml13
-rw-r--r--taskcluster/kinds/fetch/toolchains.yml677
-rw-r--r--taskcluster/kinds/fetch/updatebot.yml33
-rw-r--r--taskcluster/kinds/fuzzing/kind.yml69
-rw-r--r--taskcluster/kinds/fxrecord/kind.yml46
-rw-r--r--taskcluster/kinds/geckodriver-mac-notarization/kind.yml37
-rw-r--r--taskcluster/kinds/geckodriver-signing/kind.yml20
-rw-r--r--taskcluster/kinds/generate-profile/kind.yml365
-rw-r--r--taskcluster/kinds/hazard/kind.yml84
-rw-r--r--taskcluster/kinds/instrumented-build/kind.yml491
-rw-r--r--taskcluster/kinds/l10n-bump/kind.yml135
-rw-r--r--taskcluster/kinds/l10n-cross-channel/kind.yml41
-rw-r--r--taskcluster/kinds/l10n/kind.yml149
-rw-r--r--taskcluster/kinds/mar-signing-autograph-stage/kind.yml34
-rw-r--r--taskcluster/kinds/mar-signing-l10n/kind.yml40
-rw-r--r--taskcluster/kinds/mar-signing/kind.yml41
-rw-r--r--taskcluster/kinds/maybe-release/kind.yml45
-rw-r--r--taskcluster/kinds/merge-automation/kind.yml72
-rw-r--r--taskcluster/kinds/openh264-plugin/kind.yml226
-rw-r--r--taskcluster/kinds/openh264-signing/kind.yml19
-rw-r--r--taskcluster/kinds/packages/debian.yml126
-rw-r--r--taskcluster/kinds/packages/kind.yml25
-rw-r--r--taskcluster/kinds/packages/ubuntu.yml156
-rw-r--r--taskcluster/kinds/partials-signing/kind.yml24
-rw-r--r--taskcluster/kinds/partials/kind.yml39
-rw-r--r--taskcluster/kinds/perftest/android.yml363
-rw-r--r--taskcluster/kinds/perftest/kind.yml48
-rw-r--r--taskcluster/kinds/perftest/linux.yml384
-rw-r--r--taskcluster/kinds/perftest/macosx.yml287
-rw-r--r--taskcluster/kinds/perftest/windows.yml235
-rw-r--r--taskcluster/kinds/post-balrog-dummy/kind.yml22
-rw-r--r--taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml31
-rw-r--r--taskcluster/kinds/post-beetmover-components-dummy/kind.yml35
-rw-r--r--taskcluster/kinds/post-beetmover-dummy/kind.yml23
-rw-r--r--taskcluster/kinds/post-langpack-dummy/kind.yml29
-rw-r--r--taskcluster/kinds/post-signing/kind.yml36
-rw-r--r--taskcluster/kinds/post-update-verify-dummy/kind.yml22
-rw-r--r--taskcluster/kinds/push-bundle/kind.yml73
-rw-r--r--taskcluster/kinds/release-balrog-scheduling/kind.yml92
-rw-r--r--taskcluster/kinds/release-balrog-submit-toplevel/kind.yml79
-rw-r--r--taskcluster/kinds/release-beetmover-push-to-release/kind.yml33
-rw-r--r--taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml23
-rw-r--r--taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml37
-rw-r--r--taskcluster/kinds/release-beetmover-source-checksums/kind.yml23
-rw-r--r--taskcluster/kinds/release-bouncer-aliases/kind.yml95
-rw-r--r--taskcluster/kinds/release-bouncer-check/kind.yml76
-rw-r--r--taskcluster/kinds/release-bouncer-sub/kind.yml58
-rw-r--r--taskcluster/kinds/release-early-tagging/kind.yml55
-rw-r--r--taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml24
-rw-r--r--taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml26
-rw-r--r--taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml29
-rw-r--r--taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml28
-rw-r--r--taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml24
-rw-r--r--taskcluster/kinds/release-eme-free-repack-repackage/kind.yml60
-rw-r--r--taskcluster/kinds/release-eme-free-repack/kind.yml81
-rw-r--r--taskcluster/kinds/release-final-verify/kind.yml47
-rw-r--r--taskcluster/kinds/release-flatpak-push/kind.yml39
-rw-r--r--taskcluster/kinds/release-flatpak-repackage/kind.yml66
-rw-r--r--taskcluster/kinds/release-generate-checksums-beetmover/kind.yml21
-rw-r--r--taskcluster/kinds/release-generate-checksums-signing/kind.yml18
-rw-r--r--taskcluster/kinds/release-generate-checksums/kind.yml86
-rw-r--r--taskcluster/kinds/release-mark-as-shipped/kind.yml44
-rw-r--r--taskcluster/kinds/release-msix-push/kind.yml42
-rw-r--r--taskcluster/kinds/release-notify-av-announce/kind.yml40
-rw-r--r--taskcluster/kinds/release-notify-promote/kind.yml40
-rw-r--r--taskcluster/kinds/release-notify-push/kind.yml47
-rw-r--r--taskcluster/kinds/release-notify-ship/kind.yml48
-rw-r--r--taskcluster/kinds/release-notify-started/kind.yml34
-rw-r--r--taskcluster/kinds/release-notify-testrail/kind.yml85
-rw-r--r--taskcluster/kinds/release-partner-attribution-beetmover/kind.yml22
-rw-r--r--taskcluster/kinds/release-partner-attribution/kind.yml40
-rw-r--r--taskcluster/kinds/release-partner-repack-beetmover/kind.yml30
-rw-r--r--taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml41
-rw-r--r--taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml30
-rw-r--r--taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml29
-rw-r--r--taskcluster/kinds/release-partner-repack-mac-signing/kind.yml29
-rw-r--r--taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml29
-rw-r--r--taskcluster/kinds/release-partner-repack-repackage/kind.yml61
-rw-r--r--taskcluster/kinds/release-partner-repack/kind.yml87
-rw-r--r--taskcluster/kinds/release-push-langpacks/kind.yml52
-rw-r--r--taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml41
-rw-r--r--taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml46
-rw-r--r--taskcluster/kinds/release-secondary-final-verify/kind.yml38
-rw-r--r--taskcluster/kinds/release-secondary-flatpak-push/kind.yml35
-rw-r--r--taskcluster/kinds/release-secondary-notify-ship/kind.yml34
-rw-r--r--taskcluster/kinds/release-secondary-update-verify-config/kind.yml124
-rw-r--r--taskcluster/kinds/release-secondary-update-verify/kind.yml77
-rw-r--r--taskcluster/kinds/release-snap-repackage/kind.yml60
-rw-r--r--taskcluster/kinds/release-source-checksums-signing/kind.yml20
-rw-r--r--taskcluster/kinds/release-source-signing/kind.yml21
-rw-r--r--taskcluster/kinds/release-source/kind.yml51
-rw-r--r--taskcluster/kinds/release-update-verify-config-next/kind.yml98
-rw-r--r--taskcluster/kinds/release-update-verify-config/kind.yml292
-rw-r--r--taskcluster/kinds/release-update-verify-next/kind.yml73
-rw-r--r--taskcluster/kinds/release-update-verify/kind.yml115
-rw-r--r--taskcluster/kinds/release-version-bump/kind.yml79
-rw-r--r--taskcluster/kinds/repackage-deb-l10n/kind.yml43
-rw-r--r--taskcluster/kinds/repackage-deb/kind.yml54
-rw-r--r--taskcluster/kinds/repackage-l10n/kind.yml87
-rw-r--r--taskcluster/kinds/repackage-msi/kind.yml49
-rw-r--r--taskcluster/kinds/repackage-msix/kind.yml110
-rw-r--r--taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml111
-rw-r--r--taskcluster/kinds/repackage-signing-l10n/kind.yml31
-rw-r--r--taskcluster/kinds/repackage-signing-msi/kind.yml27
-rw-r--r--taskcluster/kinds/repackage-signing-msix/kind.yml19
-rw-r--r--taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml18
-rw-r--r--taskcluster/kinds/repackage-signing/kind.yml29
-rw-r--r--taskcluster/kinds/repackage/kind.yml100
-rw-r--r--taskcluster/kinds/repo-update/kind.yml77
-rw-r--r--taskcluster/kinds/scriptworker-canary/kind.yml33
-rw-r--r--taskcluster/kinds/searchfox/kind.yml223
-rw-r--r--taskcluster/kinds/sentry/kind.yml34
-rw-r--r--taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml29
-rw-r--r--taskcluster/kinds/shippable-l10n-mac-signing/kind.yml31
-rw-r--r--taskcluster/kinds/shippable-l10n-signing/kind.yml31
-rw-r--r--taskcluster/kinds/shippable-l10n/kind.yml208
-rw-r--r--taskcluster/kinds/signing-apk/kind.yml71
-rw-r--r--taskcluster/kinds/signing-bundle/kind.yml41
-rw-r--r--taskcluster/kinds/signing/kind.yml42
-rw-r--r--taskcluster/kinds/snap-upstream-build/kind.yml218
-rw-r--r--taskcluster/kinds/snap-upstream-test/kind.yml73
-rw-r--r--taskcluster/kinds/source-test/android-compare-locales.yml47
-rw-r--r--taskcluster/kinds/source-test/android-detekt.yml73
-rw-r--r--taskcluster/kinds/source-test/android-lint.yml64
-rw-r--r--taskcluster/kinds/source-test/buildconfig.yml67
-rw-r--r--taskcluster/kinds/source-test/clang.yml117
-rw-r--r--taskcluster/kinds/source-test/cram.yml21
-rw-r--r--taskcluster/kinds/source-test/doc.yml77
-rw-r--r--taskcluster/kinds/source-test/file-metadata.yml126
-rw-r--r--taskcluster/kinds/source-test/jsshell.yml87
-rw-r--r--taskcluster/kinds/source-test/kind.yml51
-rw-r--r--taskcluster/kinds/source-test/ktlint.yml56
-rw-r--r--taskcluster/kinds/source-test/mozlint-android.yml106
-rw-r--r--taskcluster/kinds/source-test/mozlint.yml621
-rw-r--r--taskcluster/kinds/source-test/node.yml221
-rw-r--r--taskcluster/kinds/source-test/puppeteer.yml52
-rw-r--r--taskcluster/kinds/source-test/python.yml637
-rw-r--r--taskcluster/kinds/source-test/shadow-scheduler.yml178
-rw-r--r--taskcluster/kinds/source-test/taskgraph.yml42
-rw-r--r--taskcluster/kinds/source-test/vendor.yml44
-rw-r--r--taskcluster/kinds/source-test/webcompat.yml37
-rw-r--r--taskcluster/kinds/source-test/webidl.yml24
-rw-r--r--taskcluster/kinds/source-test/wpt-manifest.yml39
-rw-r--r--taskcluster/kinds/source-test/wpt-metadata.yml58
-rw-r--r--taskcluster/kinds/spidermonkey/kind.yml75
-rw-r--r--taskcluster/kinds/spidermonkey/linux.yml628
-rw-r--r--taskcluster/kinds/spidermonkey/windows.yml124
-rw-r--r--taskcluster/kinds/startup-test/kind.yml129
-rw-r--r--taskcluster/kinds/static-analysis-autotest/kind.yml102
-rw-r--r--taskcluster/kinds/system-symbols-reprocess/kind.yml46
-rw-r--r--taskcluster/kinds/system-symbols-upload/kind.yml34
-rw-r--r--taskcluster/kinds/system-symbols/kind.yml320
-rw-r--r--taskcluster/kinds/test-apk/kind.yml157
-rw-r--r--taskcluster/kinds/test-components/kind.yml89
-rw-r--r--taskcluster/kinds/test/awsy.yml75
-rw-r--r--taskcluster/kinds/test/browsertime-desktop.yml973
-rw-r--r--taskcluster/kinds/test/browsertime-mobile.yml519
-rw-r--r--taskcluster/kinds/test/compiled.yml138
-rw-r--r--taskcluster/kinds/test/firefox-ui.yml27
-rw-r--r--taskcluster/kinds/test/kind.yml95
-rw-r--r--taskcluster/kinds/test/marionette.yml54
-rw-r--r--taskcluster/kinds/test/misc.yml272
-rw-r--r--taskcluster/kinds/test/mochitest.yml1164
-rw-r--r--taskcluster/kinds/test/reftest.yml275
-rw-r--r--taskcluster/kinds/test/talos.yml817
-rw-r--r--taskcluster/kinds/test/test-platforms.yml505
-rw-r--r--taskcluster/kinds/test/test-sets.yml497
-rw-r--r--taskcluster/kinds/test/variants.yml436
-rw-r--r--taskcluster/kinds/test/web-platform.yml639
-rw-r--r--taskcluster/kinds/test/xpcshell.yml195
-rw-r--r--taskcluster/kinds/toolchain/android.yml252
-rw-r--r--taskcluster/kinds/toolchain/cargo-vet.yml61
-rw-r--r--taskcluster/kinds/toolchain/cbindgen.yml65
-rw-r--r--taskcluster/kinds/toolchain/clang-tidy.yml128
-rw-r--r--taskcluster/kinds/toolchain/clang.yml1284
-rw-r--r--taskcluster/kinds/toolchain/compiler-rt.yml705
-rw-r--r--taskcluster/kinds/toolchain/dist-toolchains.yml40
-rw-r--r--taskcluster/kinds/toolchain/dump-syms.yml62
-rw-r--r--taskcluster/kinds/toolchain/fix-stacks.yml72
-rw-r--r--taskcluster/kinds/toolchain/gcc.yml79
-rw-r--r--taskcluster/kinds/toolchain/geckodriver.yml137
-rw-r--r--taskcluster/kinds/toolchain/gn.yml49
-rw-r--r--taskcluster/kinds/toolchain/grcov.yml48
-rw-r--r--taskcluster/kinds/toolchain/hostutils.yml23
-rw-r--r--taskcluster/kinds/toolchain/kind.yml55
-rw-r--r--taskcluster/kinds/toolchain/libunwind.yml247
-rw-r--r--taskcluster/kinds/toolchain/llvm-symbolizer.yml361
-rw-r--r--taskcluster/kinds/toolchain/macos-sdk.yml84
-rw-r--r--taskcluster/kinds/toolchain/mingw.yml42
-rw-r--r--taskcluster/kinds/toolchain/minidump-stackwalk.yml96
-rw-r--r--taskcluster/kinds/toolchain/misc.yml622
-rw-r--r--taskcluster/kinds/toolchain/nasm.yml87
-rw-r--r--taskcluster/kinds/toolchain/node.yml79
-rw-r--r--taskcluster/kinds/toolchain/pkgconf.yml56
-rw-r--r--taskcluster/kinds/toolchain/python.yml97
-rw-r--r--taskcluster/kinds/toolchain/resourcemonitor.yml44
-rw-r--r--taskcluster/kinds/toolchain/rust-size.yml38
-rw-r--r--taskcluster/kinds/toolchain/rust.yml233
-rw-r--r--taskcluster/kinds/toolchain/sccache.yml88
-rw-r--r--taskcluster/kinds/toolchain/sysroot.yml206
-rw-r--r--taskcluster/kinds/trigger-comm-central/kind.yml43
-rw-r--r--taskcluster/kinds/ui-test-apk/kind.yml354
-rw-r--r--taskcluster/kinds/updatebot/kind.yml92
-rw-r--r--taskcluster/kinds/updatebot/moz.build8
-rw-r--r--taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest29
-rw-r--r--taskcluster/kinds/upload-generated-sources-dummy/kind.yml26
-rw-r--r--taskcluster/kinds/upload-generated-sources/kind.yml42
-rw-r--r--taskcluster/kinds/upload-symbols-dummy/kind.yml27
-rw-r--r--taskcluster/kinds/upload-symbols/kind.yml53
-rw-r--r--taskcluster/kinds/valgrind/kind.yml66
-rw-r--r--taskcluster/kinds/webrender/kind.yml634
259 files changed, 36894 insertions, 0 deletions
diff --git a/taskcluster/kinds/addon/kind.yml b/taskcluster/kinds/addon/kind.yml
new file mode 100644
index 0000000000..eb24cf6a41
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+
+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/kinds/android-l10n/kind.yml b/taskcluster/kinds/android-l10n/kind.yml
new file mode 100644
index 0000000000..774be4053c
--- /dev/null
+++ b/taskcluster/kinds/android-l10n/kind.yml
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects: []
+ treeherder:
+ kind: build
+ platform: fenix-android-all/opt
+ tier: 1
+ worker-type: tree
+ worker:
+ implementation: treescript
+ tags: []
+ bump: false
+ dontbuild: false
+ push: true
+
+jobs:
+ import:
+ name: android_l10n_import
+ description: Import strings from android-l10n repo
+ treeherder:
+ symbol: android-l10n(I)
+ worker:
+ ignore-closed-tree: true
+ source-repo: https://hg.mozilla.org/integration/autoland
+ android-l10n-import-info:
+ from-repo-url: https://github.com/mozilla-l10n/android-l10n
+ toml-info:
+ - toml-path: mozilla-mobile/fenix/l10n.toml
+ dest-path: mobile/android/fenix
+ - toml-path: mozilla-mobile/focus-android/l10n.toml
+ dest-path: mobile/android/focus-android
+ - toml-path: mozilla-mobile/android-components/l10n.toml
+ dest-path: mobile/android/android-components
+
+ sync:
+ name: android_l10n_sync
+ description: Sync android-l10n strings from central to beta
+ treeherder:
+ symbol: android-l10n(S)
+ worker:
+ ignore-closed-tree: false
+ source-repo: https://hg.mozilla.org/releases/mozilla-beta
+ android-l10n-sync-info:
+ from-repo-url: https://hg.mozilla.org/mozilla-central
+ toml-info:
+ - toml-path: mobile/android/fenix/l10n.toml
+ - toml-path: mobile/android/focus-android/l10n.toml
+ - toml-path: mobile/android/android-components/l10n.toml
diff --git a/taskcluster/kinds/android-startup-test/kind.yml b/taskcluster/kinds/android-startup-test/kind.yml
new file mode 100644
index 0000000000..d7fe550f99
--- /dev/null
+++ b/taskcluster/kinds/android-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
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: Runs UI tests for sanity checking startup on Nightly
+ treeherder:
+ kind: test
+ platform: 'nightly-start-test/opt'
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-ui-tests}
+ max-run-time: 7200
+ env:
+ GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
+ artifacts:
+ - name: public
+ path: /builds/worker/artifacts
+ type: directory
+ run:
+ using: run-commands
+ use-caches: false
+ run-on-projects: []
+
+jobs:
+ fenix-arm-nightly-robo-opt:
+ attributes:
+ build-type: fenix-nightly
+ shipping-product: fenix
+ description: Fenix Nightly Opt Robo Test (ARM)
+ dependencies:
+ signing: signing-apk-fenix-nightly
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signing/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test-robo, app.apk]
+ treeherder:
+ symbol: fenix-nightly(startup-arm-robo-opt)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+
+ fenix-arm-nightly:
+ attributes:
+ build-type: fenix-nightly-firebase
+ shipping-product: fenix
+ dependencies:
+ signing: signing-apk-fenix-nightly-firebase
+ signing-android-test: signing-apk-fenix-android-test-nightly
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signing/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signing-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ symbol: fenix-nightly(startup-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+
+ focus-arm-nightly:
+ attributes:
+ build-type: focus-nightly-firebase
+ shipping-product: focus
+ dependencies:
+ signed-apk-debug-apk: signing-apk-focus-nightly-firebase
+ signed-apk-android-test: signing-apk-focus-android-test-nightly
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ symbol: focus-nightly(startup-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-focus-android
+
+ focus-arm-nightly-robo-opt:
+ attributes:
+ build-type: focus-nightly
+ shipping-product: focus
+ description: Focus Nightly Opt Robo Test (ARM)
+ dependencies:
+ signing: signing-apk-focus-nightly
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signing/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test-robo, app.apk]
+ treeherder:
+ symbol: focus-nightly(startup-arm-robo-opt)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-focus-android
diff --git a/taskcluster/kinds/artifact-build/kind.yml b/taskcluster/kinds/artifact-build/kind.yml
new file mode 100644
index 0000000000..5029597c4e
--- /dev/null
+++ b/taskcluster/kinds/artifact-build/kind.yml
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules: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: 1
+ 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-python: default
+
+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/kinds/attribution-l10n/kind.yml b/taskcluster/kinds/attribution-l10n/kind.yml
new file mode 100644
index 0000000000..48774cb1f6
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+
+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/kinds/attribution/kind.yml b/taskcluster/kinds/attribution/kind.yml
new file mode 100644
index 0000000000..9fac5ac71d
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+
+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/kinds/balrog/kind.yml b/taskcluster/kinds/balrog/kind.yml
new file mode 100644
index 0000000000..324ef2c521
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/beetmover-android-app/kind.yml b/taskcluster/kinds/beetmover-android-app/kind.yml
new file mode 100644
index 0000000000..59ef9cb149
--- /dev/null
+++ b/taskcluster/kinds/beetmover-android-app/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
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.upstream_artifacts
+ - android_taskgraph.transforms.treeherder
+ - android_taskgraph.transforms.beetmover_android_app
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - signing-apk
+ - signing-bundle
+
+jobs:
+ beetmover:
+ from-deps:
+ with-attributes:
+ build-type:
+ - fenix-release
+ - fenix-beta
+ - fenix-nightly
+ - focus-release
+ - klar-release
+ - focus-beta
+ - focus-nightly
+ group-by:
+ attribute: build-type
+ copy-attributes: true
+ attributes:
+ artifact_map: taskcluster/android_taskgraph/manifests/apk_releases.yml
+ shipping_phase: ship
+ treeherder:
+ symbol:
+ by-build-type:
+ klar.*: BM-klar
+ default: BM
+ bucket-scope:
+ by-level:
+ '3':
+ by-build-type:
+ .*-nightly: "project:releng:beetmover:bucket:nightly"
+ .*-(release|beta): "project:releng:beetmover:bucket:release"
+ default: "project:releng:beetmover:bucket:dep"
diff --git a/taskcluster/kinds/beetmover-apt/kind.yml b/taskcluster/kinds/beetmover-apt/kind.yml
new file mode 100644
index 0000000000..f19fe59fb1
--- /dev/null
+++ b/taskcluster/kinds/beetmover-apt/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.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
+ - linux64-aarch64-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/kinds/beetmover-checksums/kind.yml b/taskcluster/kinds/beetmover-checksums/kind.yml
new file mode 100644
index 0000000000..7ecf79ea58
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/beetmover-components/kind.yml b/taskcluster/kinds/beetmover-components/kind.yml
new file mode 100644
index 0000000000..3b3fd5c8ea
--- /dev/null
+++ b/taskcluster/kinds/beetmover-components/kind.yml
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.upstream_artifacts
+ - android_taskgraph.transforms.beetmover
+ - android_taskgraph.transforms.treeherder
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - signing
+ - build-components
+ - post-signing
+
+jobs:
+ push-to-maven:
+ description: Publish component
+ from-deps:
+ with-attributes:
+ build-type:
+ - release
+ - beta
+ - nightly
+ group-by: component
+ copy-attributes: true
+ maven-destination: 'maven2/org/mozilla/components/{component}/{version}/{artifact_file_name}'
+ shipping-phase: ship
+ treeherder:
+ symbol:
+ by-build-type:
+ release: BM-R
+ beta: BM-B
+ nightly: BM-N
+ default: BM-B
+ kind: build
+ worker:
+ action: push-to-maven
+ bucket:
+ by-build-type:
+ release:
+ by-level:
+ '3': maven-production
+ default: maven-staging
+ beta:
+ by-level:
+ '3': maven-production
+ default: maven-staging
+ nightly:
+ by-level:
+ '3': maven-nightly-production
+ default: maven-nightly-staging
+ beetmover-application-name:
+ by-build-type:
+ release: components
+ beta: components
+ nightly: nightly_components
+ default: UNDEFINED
+ worker-type: beetmover-android
diff --git a/taskcluster/kinds/beetmover-geckoview/kind.yml b/taskcluster/kinds/beetmover-geckoview/kind.yml
new file mode 100644
index 0000000000..d37316c5da
--- /dev/null
+++ b/taskcluster/kinds/beetmover-geckoview/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:
+ - 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-aarch64-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 nightly-android or nightly-all graph on mozilla-central
+ # 2. as part of firefox-android ship 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/kinds/beetmover-repackage/kind.yml b/taskcluster/kinds/beetmover-repackage/kind.yml
new file mode 100644
index 0000000000..e037f5ca86
--- /dev/null
+++ b/taskcluster/kinds/beetmover-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:
+ - 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
+ - linux64-aarch64-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/kinds/beetmover-source/kind.yml b/taskcluster/kinds/beetmover-source/kind.yml
new file mode 100644
index 0000000000..cd86d812b5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/bootstrap/kind.yml b/taskcluster/kinds/bootstrap/kind.yml
new file mode 100644
index 0000000000..0ce8f8f68a
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/bouncer-locations/kind.yml b/taskcluster/kinds/bouncer-locations/kind.yml
new file mode 100644
index 0000000000..4234939369
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build-apk/kind.yml b/taskcluster/kinds/build-apk/kind.yml
new file mode 100644
index 0000000000..ef909b2c44
--- /dev/null
+++ b/taskcluster/kinds/build-apk/kind.yml
@@ -0,0 +1,520 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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:
+ - android_taskgraph.transforms.build_android_app:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ apk-artifact-template:
+ type: file
+ name: 'public/build/target.{abi}.apk'
+ path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/apk/{gradle_build}/{gradle_build_type}/{fileName}'
+ attributes:
+ build_platform: android
+
+
+jobs:
+ focus-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Focus debug build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: focusDebug
+ gradle-build: focus
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-debug(Bf)
+ platform: focus-android-all/opt
+
+ klar-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Klar debug build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: klarDebug
+ gradle-build: klar
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-debug(Bkl)
+ platform: focus-android-all/opt
+
+ fenix-debug:
+ attributes:
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Fenix debug build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: fenixDebug
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PdisableLeakCanary
+ track-apk-size: true
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-debug(Bf)
+ platform: fenix-android-all/opt
+
+ focus-release:
+ description: 'Release Focus build'
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: focusRelease
+ gradle-build: focus
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-release(Bf)
+ platform: focus-android-all/opt
+
+ klar-release:
+ description: 'Release Klar build'
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: klarRelease
+ gradle-build: klar
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-release(Bkl)
+ platform: focus-android-all/opt
+
+ fenix-release:
+ description: 'Release Fenix build'
+ attributes:
+ release-type: release
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: fenixRelease
+ gradle-build: fenix
+ track-apk-size: true
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-release(Bf)
+ platform: fenix-android-all/opt
+
+ focus-nightly:
+ description: 'Nightly focus build'
+ attributes:
+ # any tasks that have this as a primary dependency will
+ # inherit this attribute via the multi_dep loader
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-nightly-version: true
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: focusNightly
+ gradle-build: focus
+ run-on-projects: []
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-nightly(B)
+ platform: focus-android-all/opt
+
+ fenix-nightly:
+ description: 'Nightly fenix build'
+ attributes:
+ # any tasks that have this as a primary dependency will
+ # inherit this attribute via the multi_dep loader
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-nightly-version: true
+ source-project-name: "fenix"
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ track-apk-size: true
+ run-on-projects: []
+ treeherder:
+ symbol: fenix-nightly(B)
+ platform: fenix-android-all/opt
+
+ focus-beta:
+ description: 'Beta focus build'
+ attributes:
+ release-type: beta
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: focusBeta
+ gradle-build: focus
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-beta(B)
+ platform: focus-android-all/opt
+
+ fenix-beta:
+ description: 'Beta fenix build'
+ attributes:
+ release-type: beta
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ track-apk-size: true
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(B)
+ platform: fenix-android-all/opt
+
+ focus-nightly-firebase:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Nightly build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: focusNightly
+ gradle-build: focus
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-nightly(Bf)
+ platform: focus-android-all/opt
+
+ fenix-nightly-firebase:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Nightly build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-nightly(Bf)
+ platform: fenix-android-all/opt
+
+ focus-beta-firebase:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Beta build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: focusBeta
+ gradle-build: focus
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-beta(Bf)
+ platform: focus-android-all/opt
+
+ fenix-beta-firebase:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Beta build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bf)
+ platform: fenix-android-all/opt
+
+ focus-android-test-debug:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: focus
+ source-project-name: "focus-android"
+ apk-artifact-template:
+ # this path is determined by the gradle build configs
+ path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk'
+ treeherder:
+ symbol: focus-debug(Bat)
+ platform: focus-android-all/opt
+
+ fenix-android-test-debug:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Debug Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ source-project-name: "fenix"
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "debug"
+ # * "{fileName}" is forced to "app-fenix-debug-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/debug/app-fenix-debug-androidTest.apk'
+ treeherder:
+ symbol: fenix-debug(Bat)
+ platform: fenix-android-all/opt
+
+ # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
+ # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
+ # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
+ # nightly means we need an androidTest APK with the same signature.
+
+ focus-android-test-nightly:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Nightly Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: focus
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "focus-android"
+ apk-artifact-template:
+ path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk'
+ treeherder:
+ symbol: focus-nightly(Bat)
+ platform: focus-android-all/opt
+
+ # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
+ # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
+ # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
+ # nightly means we need an androidTest APK with the same signature.
+ #
+ # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test`
+ # job.
+ fenix-android-test-nightly:
+ attributes:
+ nightly: true
+ shipping-product: fenix
+ description: 'Fenix Nightly Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "debug"
+ # * "{fileName}" is forced to "app-fenix-nightly-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/nightly/app-fenix-nightly-androidTest.apk'
+ disable-optimization: true
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-nightly(Bat)
+ platform: fenix-android-all/opt
+
+ focus-android-test-beta:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Beta Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: focus
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "focus-android"
+ apk-artifact-template:
+ path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk'
+ treeherder:
+ symbol: focus-beta(Bat)
+ platform: focus-android-all/opt
+
+ fenix-android-test-beta:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Beta Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "beta"
+ # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk'
+ disable-optimization: true
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bat)
+ platform: fenix-android-all/opt
+
+ fenix-android-test-mozillaonline:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Android Test mozillaonline'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "beta"
+ # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk'
+ run-on-projects: []
+ disable-optimization: true
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PmozillaOnline
+ test-build-type: beta
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bat-mo)
+ platform: fenix-android-all/opt
+
+ fenix-nightly-simulation:
+ description: 'Fenix Nightly Simulation'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ attributes:
+ nightly: false
+ shipping-product: fenix
+ include-nightly-version: true
+ include-shippable-secrets: true
+ run-on-projects: []
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-nightlySim(B)
+ platform: fenix-android-all/opt
+
+ fenix-beta-mozillaonline:
+ description: 'Fenix Beta mozillaonline'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ attributes:
+ release-type: beta
+ shipping_phase: promote
+ shipping-product: fenix
+ include-release-version: true
+ include-shippable-secrets: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PmozillaOnline
+ run-on-projects: []
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bmo)
+ platform: fenix-android-all/opt
+
+ fenix-release-mozillaonline:
+ description: 'Fenix Release mozillaonline'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ attributes:
+ release-type: release
+ shipping_phase: promote
+ shipping-product: fenix
+ include-release-version: true
+ include-shippable-secrets: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: fenixRelease
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PmozillaOnline
+ run-on-projects: []
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-release(Bmo)
+ platform: fenix-android-all/opt
diff --git a/taskcluster/kinds/build-bundle/kind.yml b/taskcluster/kinds/build-bundle/kind.yml
new file mode 100644
index 0000000000..7db4cfdd81
--- /dev/null
+++ b/taskcluster/kinds/build-bundle/kind.yml
@@ -0,0 +1,215 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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:
+ - android_taskgraph.transforms.build_android_app:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ aab-artifact-template:
+ type: file
+ name: 'public/build/target.aab'
+ path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/bundle/{variant_name}/app-{gradle_build}-{gradle_build_type}.aab'
+ attributes:
+ build_platform: android
+ run:
+ gradle-package-command: bundle
+ gradle-extra-options:
+ - -Paab
+
+
+jobs:
+ focus-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Focus debug AAB build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: focusDebug
+ gradle-build: focus
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-debug(AABf)
+
+ klar-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Klar debug AAB build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: klarDebug
+ gradle-build: klar
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-debug(AABkl)
+
+ fenix-debug:
+ attributes:
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Fenix debug AAB build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: fenixDebug
+ gradle-build: fenix
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-debug(AAB)
+
+ focus-release:
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Focus release AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-release"]
+ run:
+ gradle-build-type: release
+ gradle-build-name: focusRelease
+ gradle-build: focus
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-release(AABf)
+
+ klar-release:
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Klar release AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-release"]
+ run:
+ gradle-build-type: release
+ gradle-build-name: klarRelease
+ gradle-build: klar
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-release(AABkl)
+
+ fenix-release:
+ attributes:
+ release-type: release
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Fenix release AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-release"]
+ run:
+ gradle-build-type: release
+ gradle-build-name: fenixRelease
+ gradle-build: fenix
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-release(AAB)
+
+ focus-nightly:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Focus nightly AAB build from source code'
+ include-shippable-secrets: true
+ include-nightly-version: true
+ run-on-projects: ["mozilla-central"]
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: focusNightly
+ gradle-build: focus
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-nightly(AABf)
+
+ fenix-nightly:
+ attributes:
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Fenix nightly AAB build from source code'
+ include-shippable-secrets: true
+ include-nightly-version: true
+ run-on-projects: ["mozilla-central"]
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-nightly(AAB)
+
+ focus-beta:
+ attributes:
+ release-type: beta
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Focus beta AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-beta"]
+ run:
+ gradle-build-type: beta
+ gradle-build-name: focusBeta
+ gradle-build: focus
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-beta(AABf)
+
+ fenix-beta:
+ attributes:
+ release-type: beta
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Fenix beta AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-beta"]
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-beta(AAB)
diff --git a/taskcluster/kinds/build-components/kind.yml b/taskcluster/kinds/build-components/kind.yml
new file mode 100644
index 0000000000..52793cb3f1
--- /dev/null
+++ b/taskcluster/kinds/build-components/kind.yml
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: android_taskgraph.loader.build_config:components_loader
+
+transforms:
+ - android_taskgraph.transforms.build_components:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+not-for-components:
+ - samples-browser # Their configs are too different, so they're handled in a specific kind
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ artifact-template:
+ type: file
+ name: public/build/{artifact_file_name}
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}'
+ tests-artifact-template:
+ type: directory
+ name: public/reports/tests
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests'
+ lint-artifact-template:
+ type: file
+ name: public/reports/lint-results-release.html
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html'
+ jacoco-coverage-template:
+ type: directory
+ name: public/reports/jacoco
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco'
+ description: Execute Gradle tasks for component "{component}"
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ attributes:
+ build_platform: android
+ dependencies:
+ build-fat-aar:
+ by-build-type:
+ release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ default: build-fat-aar-android-geckoview-fat-aar/opt
+ include-coverage:
+ by-build-type:
+ release: false
+ beta: false
+ nightly: false
+ default: true
+ run:
+ gradlew:
+ by-build-type:
+ release:
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ beta:
+ # /!\ Beta builds are considered Release in gradle
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ nightly:
+ - '-PnightlyVersion={nightlyVersion}'
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ default:
+ by-component:
+ # No lintRelease on this task, gradle task isn't defined
+ tooling-lint:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:test'
+ - ':{component}:lint'
+ # No testRelease on this task, gradle task isn't defined
+ tooling-detekt:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:test'
+ - ':{component}:lintRelease'
+ # No publish on these tasks
+ tooling-fetch-tests|samples-.*:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ default:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ using: gradlew
+ use-caches: false
+ run-on-projects:
+ by-build-type:
+ release: []
+ beta: []
+ nightly: []
+ default: [all]
+ shipping-phase:
+ by-build-type:
+ (nightly|beta|release): promote
+ default: null
+ shipping-product: firefox-android
+ treeherder:
+ kind: build
+ symbol:
+ by-build-type:
+ release: '{treeherder_group}(BR)'
+ beta: '{treeherder_group}(BB)'
+ nightly: '{treeherder_group}(BN)'
+ default: '{treeherder_group}(B)'
+ platform: AC-android-all/opt
+ tier: 1
+ worker-type: b-linux-medium-gcp
+ worker:
+ chain-of-trust: true
+ docker-image: {in-tree: android-components}
+ max-run-time: 1200
+ env:
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
diff --git a/taskcluster/kinds/build-fat-aar/kind.yml b/taskcluster/kinds/build-fat-aar/kind.yml
new file mode 100644
index 0000000000..38d40efc92
--- /dev/null
+++ b/taskcluster/kinds/build-fat-aar/kind.yml
@@ -0,0 +1,204 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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_schedules: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-python: default
+ 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
+ - name: public/build/mozconfig
+ path: /builds/worker/workspace/obj-build/.mozconfig
+ 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/kinds/build-mac-notarization/kind.yml b/taskcluster/kinds/build-mac-notarization/kind.yml
new file mode 100644
index 0000000000..910d6a1797
--- /dev/null
+++ b/taskcluster/kinds/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_stacked"]
+ taskId:
+ task-reference: <build-mac-signing>
diff --git a/taskcluster/kinds/build-mac-signing/kind.yml b/taskcluster/kinds/build-mac-signing/kind.yml
new file mode 100644
index 0000000000..d90813cd96
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build-samples-browser/kind.yml b/taskcluster/kinds/build-samples-browser/kind.yml
new file mode 100644
index 0000000000..6d1d903321
--- /dev/null
+++ b/taskcluster/kinds/build-samples-browser/kind.yml
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - android_taskgraph.transforms.build_components:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+
+job-defaults:
+ attributes:
+ build_platform: android
+ build-type: regular
+ component: samples-browser
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: Execute Gradle tasks for component "{component}"
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ include-coverage: true
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ using: gradlew
+ use-caches: false
+ treeherder:
+ kind: build
+ platform: AC-android-all/opt
+ tier: 1
+ symbol: 'samples-browser(B)'
+ worker-type: b-linux-medium-gcp
+ worker:
+ chain-of-trust: true
+ docker-image: {in-tree: android-components}
+ max-run-time: 1200
+ env:
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
+
+jobs:
+ gecko:
+ run:
+ gradlew:
+ - ':samples-browser:assembleGecko'
+ - ':samples-browser:testGeckoDebugUnitTest'
+ - ':samples-browser:lintGeckoDebug'
+
+ system:
+ run:
+ gradlew: [':samples-browser:assembleSystem']
+ treeherder:
+ symbol: 'samples-browser-system(B)'
diff --git a/taskcluster/kinds/build-signing/kind.yml b/taskcluster/kinds/build-signing/kind.yml
new file mode 100644
index 0000000000..7e4bbab419
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/android-asan.yml b/taskcluster/kinds/build/android-asan.yml
new file mode 100644
index 0000000000..4cc846dece
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/android-stuff.yml b/taskcluster/kinds/build/android-stuff.yml
new file mode 100644
index 0000000000..52bed7b18f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/android.yml b/taskcluster/kinds/build/android.yml
new file mode 100644
index 0000000000..7c37b2680f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/ios.yml b/taskcluster/kinds/build/ios.yml
new file mode 100644
index 0000000000..1e8c18caab
--- /dev/null
+++ b/taskcluster/kinds/build/ios.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:
+ index:
+ product: firefox
+ treeherder:
+ tier: 2
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ run-on-projects: ['trunk']
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ secrets: true
+ script: "mozharness/scripts/fx_desktop_build.py"
+ config:
+ - builds/releng_base_firefox.py
+ extra-config:
+ app_name: mobile/ios
+ stage_platform: ios
+ disable_package_metrics: true
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-rust-ios
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-sccache
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ios/debug:
+ description: "ios debug"
+ index:
+ job-name: ios-debug
+ treeherder:
+ platform: ios/debug
+ symbol: B
+ run:
+ extra-config:
+ mozconfig_platform: ios
+ mozconfig-variant: debug
+ fetches:
+ toolchain:
+ - ios-sdk
+
+ios/opt:
+ description: "ios opt"
+ index:
+ job-name: ios-opt
+ treeherder:
+ platform: ios/opt
+ symbol: B
+ run:
+ extra-config:
+ mozconfig_platform: ios
+ mozconfig-variant: opt
+ fetches:
+ toolchain:
+ - ios-sdk
+
+ios-non-unified/plain:
+ description: "ios non-unified"
+ index:
+ job-name: ios-non-unified-plain
+ treeherder:
+ platform: ios/plain
+ symbol: Bp-nu
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: non-unified
+ MOZ_AUTOMATION_BUILD_SYMBOLS: '0'
+ run:
+ extra-config:
+ mozconfig_platform: ios
+ extra_mozconfig_content:
+ - ac_add_options --disable-unified-build
+ mozconfig-variant: opt
+ fetches:
+ toolchain:
+ - ios-sdk
+
+ios-sim/debug:
+ description: "ios-sim debug"
+ index:
+ job-name: ios-sim-debug
+ treeherder:
+ platform: ios/debug
+ symbol: Bsim
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: ios-sim
+ run:
+ extra-config:
+ mozconfig_platform: ios-sim
+ mozconfig-variant: debug
+ fetches:
+ toolchain:
+ - ios-sim-sdk
+
+ios-sim/opt:
+ description: "ios-sim opt"
+ index:
+ job-name: ios-sim-opt
+ treeherder:
+ platform: ios/opt
+ symbol: Bsim
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: ios-sim
+ run:
+ extra-config:
+ mozconfig_platform: ios-sim
+ mozconfig-variant: opt
+ fetches:
+ toolchain:
+ - ios-sim-sdk
diff --git a/taskcluster/kinds/build/kind.yml b/taskcluster/kinds/build/kind.yml
new file mode 100644
index 0000000000..2e49ca18c5
--- /dev/null
+++ b/taskcluster/kinds/build/kind.yml
@@ -0,0 +1,94 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - 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
+ - ios.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-python: default
+ 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/kinds/build/linux-base-toolchains.yml b/taskcluster/kinds/build/linux-base-toolchains.yml
new file mode 100644
index 0000000000..1cde0b229f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/linux.yml b/taskcluster/kinds/build/linux.yml
new file mode 100644
index 0000000000..0cf201a22d
--- /dev/null
+++ b/taskcluster/kinds/build/linux.yml
@@ -0,0 +1,1900 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-afl/opt:
+ description: "Linux64 Fuzzing Opt ASAN AFL"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-asan-afl-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/asan
+ symbol: Boaf
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-afl
+ 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-afl
+ 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/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-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-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: "Linux AArch64 (a.k.a. ARM64) Opt"
+ index:
+ product: firefox
+ job-name: linux64-aarch64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64-aarch64/opt
+ symbol: B
+ 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']
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-aarch64-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+linux64-aarch64-shippable/opt:
+ description: "Linux AArch64 (a.k.a. ARM64) Shippable"
+ use-pgo: linux64-shippable/opt
+ index:
+ product: firefox
+ job-name: linux64-aarch64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: linux64-aarch64-shippable/opt
+ symbol: Bpgo(B)
+ worker-type: b-linux-xlarge-gcp
+ worker:
+ max-run-time: 9000
+ env:
+ # 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:
+ 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: ['mozilla-central']
+ run-on-releases: ['nightly']
+ 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
diff --git a/taskcluster/kinds/build/macosx-native.yml b/taskcluster/kinds/build/macosx-native.yml
new file mode 100644
index 0000000000..ad77b6e5aa
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/macosx.yml b/taskcluster/kinds/build/macosx.yml
new file mode 100644
index 0000000000..64e71a0b4b
--- /dev/null
+++ b/taskcluster/kinds/build/macosx.yml
@@ -0,0 +1,949 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-aarch64-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.update_framework_artifacts.zip
+ 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.update_framework_artifacts.zip
+ 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/kinds/build/windows-mingw.yml b/taskcluster/kinds/build/windows-mingw.yml
new file mode 100644
index 0000000000..09c3ee0022
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/build/windows.yml b/taskcluster/kinds/build/windows.yml
new file mode 100644
index 0000000000..af0bebb4f0
--- /dev/null
+++ b/taskcluster/kinds/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-nightlyasrelease/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/kinds/code-review/kind.yml b/taskcluster/kinds/code-review/kind.yml
new file mode 100644
index 0000000000..16586e5a20
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+
+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/kinds/condprof/kind.yml b/taskcluster/kinds/condprof/kind.yml
new file mode 100644
index 0000000000..d1e50620c8
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+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/kinds/cron-bouncer-check/kind.yml b/taskcluster/kinds/cron-bouncer-check/kind.yml
new file mode 100644
index 0000000000..62d2c80960
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/diffoscope/artifacts.yml b/taskcluster/kinds/diffoscope/artifacts.yml
new file mode 100644
index 0000000000..a89dfcbfee
--- /dev/null
+++ b/taskcluster/kinds/diffoscope/artifacts.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:
+ # 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
+ # non-macOS artifact builds are not fed with accepted-mar-channel-ids.
+ - if [ -f a/"$RESOURCE_DIR"/update-settings.ini ]; then sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini; fi
+ # macOS artifact builds have local update configurations, not Nightly
+ # update configurations.
+ - rm -f {a,b}/"$RESOURCE_DIR"/../Frameworks/ChannelPrefs.framework/ChannelPrefs
+ - rm -f {a,b}/"$RESOURCE_DIR"/../MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework/UpdateSettings
+ # 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/kinds/diffoscope/kind.yml b/taskcluster/kinds/diffoscope/kind.yml
new file mode 100644
index 0000000000..89b38fc665
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/diffoscope/reproducible.yml b/taskcluster/kinds/diffoscope/reproducible.yml
new file mode 100644
index 0000000000..4f89bfca4e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/docker-image/kind.yml b/taskcluster/kinds/docker-image/kind.yml
new file mode 100644
index 0000000000..22b18cf16f
--- /dev/null
+++ b/taskcluster/kinds/docker-image/kind.yml
@@ -0,0 +1,250 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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
+ 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"
+ android-components:
+ symbol: I(android-components)
+ parent: debian12-base
+ android-ui-tests:
+ symbol: I(android-ui-tests)
+ parent: android-components
diff --git a/taskcluster/kinds/fetch/benchmarks.yml b/taskcluster/kinds/fetch/benchmarks.yml
new file mode 100644
index 0000000000..7e31470baf
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/fetch/browsertime.yml b/taskcluster/kinds/fetch/browsertime.yml
new file mode 100644
index 0000000000..a495ec04a3
--- /dev/null
+++ b/taskcluster/kinds/fetch/browsertime.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/.
+---
+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-122:
+ description: "Win32 chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win32_122.tar.zst
+ add-prefix: "122"
+ url: https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.57/win32/chromedriver-win32.zip
+ sha256: f6309630e014ffb00dd78813e75d8bf664e755ea2ebc79974c8a0478ca96a154
+ size: 8001652
+
+linux64-chromedriver-122:
+ description: "Linux64 chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_122.tar.zst
+ add-prefix: "122"
+ url: https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.57/linux64/chromedriver-linux64.zip
+ sha256: 0c80bb130eda0afb583155d55ec9cc22d75e2cf0dd90d657647df923465d584b
+ size: 8613042
+
+mac64-chromedriver-122:
+ description: "Mac64 chromedriver v122"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_122.tar.zst
+ add-prefix: "122"
+ url: https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.57/mac-x64/chromedriver-mac-x64.zip
+ sha256: 31d9be68e77c733357ee825c34249dbb94c5c08961e58dfb38b7623e9383fa69
+ size: 9209421
+
+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://storage.googleapis.com/chrome-for-testing-public/122.0.6261.57/mac-arm64/chromedriver-mac-arm64.zip
+ sha256: 645f277c05d7f7d238c7a45412f42489767f48cba05d8632ce00b54b3704d4e1
+ size: 8293896
+
+win64-chromedriver-123:
+ description: "Win64 chromedriver v123"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win64_123.tar.zst
+ add-prefix: "123"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/win64/chromedriver-win64.zip"
+ sha256: 2c54d5c120fc4371d769c9ae30f3cb6708d7568c99c5965e4f1bb476d1d5997f
+ size: 8567770
+
+linux64-chromedriver-123:
+ description: "Linux64 chromedriver v123"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_123.tar.zst
+ add-prefix: "123"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/linux64/chromedriver-linux64.zip"
+ sha256: accdaeb00d330d9d5a5ef91bbe6fa5d316a5562109231bbc65866fa1390d8a2b
+ size: 8553025
+
+mac64-chromedriver-123:
+ description: "Mac64 chromedriver v123"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_123.tar.zst
+ add-prefix: "123"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/mac-x64/chromedriver-mac-x64.zip"
+ sha256: c912db7b7c65d0bfcf7d17150782c0e89783bcba60521b4a66201fc81daffd91
+ size: 9346571
+
+mac-arm-chromedriver-123:
+ description: "Mac64 arm chromedriver v123"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac-arm_123.tar.zst
+ add-prefix: "123"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/mac-arm64/chromedriver-mac-arm64.zip"
+ sha256: 4ccade08517d2e8fbd832ee4cd959df4c8dea740986b70b19f892bf413537641
+ size: 9325268
+
+win64-chromedriver-124:
+ description: "Win64 chromedriver v124"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_win64_124.tar.zst
+ add-prefix: "124"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/win64/chromedriver-win64.zip"
+ sha256: 502eb3a0e1caa3704ea30c41c8d479681a6c05a21a5bf47c405a1eef45def8bc
+ size: 8637191
+
+linux64-chromedriver-124:
+ description: "Linux64 chromedriver v124"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_linux64_124.tar.zst
+ add-prefix: "124"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/linux64/chromedriver-linux64.zip"
+ sha256: 8071bebf39a9de7ecfcb41e095a9c9f35570556a001a608afaee9e3f1f3cc835
+ size: 8665597
+
+mac64-chromedriver-124:
+ description: "Mac64 chromedriver v124"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac64_124.tar.zst
+ add-prefix: "124"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/mac-x64/chromedriver-mac-x64.zip"
+ sha256: ed07a9495a215ffc747240be99b84841f1d5f6085ec21eccc30b6a665dd669e5
+ size: 10465611
+
+mac-arm-chromedriver-124:
+ description: "Mac64 arm chromedriver v124"
+ fetch:
+ type: static-url
+ artifact-name: chromedriver_mac-arm_124.tar.zst
+ add-prefix: "124"
+ url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/mac-arm64/chromedriver-mac-arm64.zip"
+ sha256: 6a5198faac2fa0467a0c23fea51b954d012f7fbf7b83d424fb6baa1e426eaf49
+ size: 9331537
+
+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/kinds/fetch/chromium-fetch.yml b/taskcluster/kinds/fetch/chromium-fetch.yml
new file mode 100644
index 0000000000..f99e1325cd
--- /dev/null
+++ b/taskcluster/kinds/fetch/chromium-fetch.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:
+ fetch:
+ type: chromium-fetch
+ script: /builds/worker/bin/fetch-chromium.py
+
+linux64-chromiumdriver:
+ description: 'Linux64 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: linux
+ artifact-name: chromium-linux.tar.bz2
+
+win32-chromiumdriver:
+ description: 'Windows32 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: win32
+ artifact-name: chromium-win32.tar.bz2
+
+win64-chromiumdriver:
+ description: 'Windows64 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: win64
+ artifact-name: chromium-win64.tar.bz2
+
+mac-chromiumdriver:
+ description: 'MacOSX Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: mac
+ artifact-name: chromium-mac.tar.bz2
+
+mac-chromiumdriver-arm:
+ description: 'MacOSX ARM Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: mac-arm
+ artifact-name: chromium-mac-arm.tar.bz2
diff --git a/taskcluster/kinds/fetch/kind.yml b/taskcluster/kinds/fetch/kind.yml
new file mode 100644
index 0000000000..027ab7f1eb
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/fetch/moz.build b/taskcluster/kinds/fetch/moz.build
new file mode 100644
index 0000000000..28b8003edf
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/fetch/resource-monitor.yml b/taskcluster/kinds/fetch/resource-monitor.yml
new file mode 100644
index 0000000000..2fe94cb4f9
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/fetch/toolchain-clang-tidy-external.yml b/taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml
new file mode 100644
index 0000000000..d71058c06b
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/fetch/toolchains.yml b/taskcluster/kinds/fetch/toolchains.yml
new file mode 100644
index 0000000000..10a63bfffd
--- /dev/null
+++ b/taskcluster/kinds/fetch/toolchains.yml
@@ -0,0 +1,677 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.7 release
+ revision: e976c42c2141969915bdd39dd3177db6f27405a8
+
+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: cd4cf9b279f8fb0815f8b9665d3cea60a30290bc
+
+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.5 source code
+ fetch:
+ type: git
+ repo: https://github.com/llvm/llvm-project
+ revision: 617a15a9eac96088ae5e9134248d8236e34b91b1
+
+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.77.2:
+ description: Rust 1.77.2 source code
+ fetch:
+ type: git
+ include-dot-git: true
+ repo: https://github.com/rust-lang/rust/
+ revision: 25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04
+
+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: 96c647f0a63912b68b0bc2613cef77d9b3f305fd
+
+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/jdk8u412-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz
+ sha256: b9884a96f78543276a6399c3eb8c2fd8a80e6b432ea50e87d3d12d495d1d2808
+ size: 103005511
+ 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-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-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-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-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: defbe6b01a661b8c3f1de943e40554a093b26fe9
+
+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/
+
+libxml2:
+ description: Source of the libxml2 library
+ fetch:
+ type: static-url
+ url: https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.12/libxml2-v2.9.12.tar.gz
+ sha256: 98bfa7a9a5e2a75638422050740448ee9f02bf4dc2075c9822d7747d5ff9e617
+ size: 5233674
+ artifact-name: libxml2.tar.zst
+ strip-components: 1
+ add-prefix: libxml2/
+
+mozilla-pdf.js:
+ description: Mozilla pdf.js Github repo
+ fetch:
+ type: git
+ repo: https://github.com/mozilla/pdf.js
+ revision: d64f334f98d4b7f1c2e09a731a63b68629c946f9
diff --git a/taskcluster/kinds/fetch/updatebot.yml b/taskcluster/kinds/fetch/updatebot.yml
new file mode 100644
index 0000000000..b757a383f8
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/fuzzing/kind.yml b/taskcluster/kinds/fuzzing/kind.yml
new file mode 100644
index 0000000000..444240c619
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+ 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/kinds/fxrecord/kind.yml b/taskcluster/kinds/fxrecord/kind.yml
new file mode 100644
index 0000000000..7ff7816e7e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/geckodriver-mac-notarization/kind.yml b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml
new file mode 100644
index 0000000000..a90e6faa2e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/geckodriver-signing/kind.yml b/taskcluster/kinds/geckodriver-signing/kind.yml
new file mode 100644
index 0000000000..08007495e5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/generate-profile/kind.yml b/taskcluster/kinds/generate-profile/kind.yml
new file mode 100644
index 0000000000..35d751ca80
--- /dev/null
+++ b/taskcluster/kinds/generate-profile/kind.yml
@@ -0,0 +1,365 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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.build_schedules: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
+ use-python: default
+
+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
+ run-on-projects: ['release']
+ 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: 3600
+ 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
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - linux64-hostutils
+ - 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: 3600
+ 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
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - linux64-hostutils
+ - 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
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - linux64-hostutils
+ - 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - win64-clang-toolchain
+ - win32-minidump-stackwalk
+
+ win64-nightlyasrelease/opt:
+ description: "Win64 Nightly-as-release Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: win64-nightlyasrelease-profile
+ treeherder:
+ platform: win64-nightlyasrelease/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
+ run-on-projects: [trunk-only]
+ 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - macosx64-clang
+ - macosx64-minidump-stackwalk
diff --git a/taskcluster/kinds/hazard/kind.yml b/taskcluster/kinds/hazard/kind.yml
new file mode 100644
index 0000000000..495f6b10cc
--- /dev/null
+++ b/taskcluster/kinds/hazard/kind.yml
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules: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-python: default
+
+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/kinds/instrumented-build/kind.yml b/taskcluster/kinds/instrumented-build/kind.yml
new file mode 100644
index 0000000000..048bea725f
--- /dev/null
+++ b/taskcluster/kinds/instrumented-build/kind.yml
@@ -0,0 +1,491 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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_schedules: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-python: default
+ 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
+
+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
+ 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-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ linux64-aarch64-shippable/opt:
+ description: "Linux AArch64 (a.k.a. ARM64) Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-linux64-aarch64
+ shipping-product: firefox
+ treeherder:
+ platform: linux64-aarch64-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
+ extra-config:
+ extra_mozconfig_content:
+ - ac_add_options --target=aarch64
+ - unset MOZ_STDCXX_COMPAT
+ tooltool-downloads: public
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-aarch64-linux-gnu
+ - 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ 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
+ run-on-projects: ['release']
+ 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-nightlyasrelease/opt:
+ description: "Win64 Shippable PGO Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-nightlyasrelease-win64
+ shipping-product: firefox
+ treeherder:
+ platform: win64-nightlyasrelease/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
+ extra_mozconfig_content:
+ - ac_add_options --as-milestone=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
+ - 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
+ run-on-projects: ['release']
+ 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/kinds/l10n-bump/kind.yml b/taskcluster/kinds/l10n-bump/kind.yml
new file mode 100644
index 0000000000..d40f9c48e9
--- /dev/null
+++ b/taskcluster/kinds/l10n-bump/kind.yml
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+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
+ - linux64-aarch64
+ - win32
+ - win32-devedition
+ - win64
+ - win64-devedition
+ - win64-aarch64
+ - win64-aarch64-devedition
+ platform-configs:
+ [
+ {
+ "platforms":
+ [
+ "linux",
+ "linux-devedition",
+ "linux64",
+ "linux64-aarch64",
+ "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-aarch64
+ - linux64-devedition
+ - win32
+ - win32-devedition
+ - win64
+ - win64-devedition
+ - win64-aarch64
+ - win64-aarch64-devedition
+ platform-configs:
+ [
+ {
+ "platforms":
+ [
+ "linux",
+ "linux-devedition",
+ "linux64",
+ "linux64-aarch64",
+ "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/kinds/l10n-cross-channel/kind.yml b/taskcluster/kinds/l10n-cross-channel/kind.yml
new file mode 100644
index 0000000000..da30306599
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/l10n/kind.yml b/taskcluster/kinds/l10n/kind.yml
new file mode 100644
index 0000000000..eeb0b2c54e
--- /dev/null
+++ b/taskcluster/kinds/l10n/kind.yml
@@ -0,0 +1,149 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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
+ - linux64-aarch64-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(?!-aarch64).*: linux64-opt
+ linux64-aarch64.*: linux64-aarch64-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
+ linux64-aarch64: linux64-aarch64/opt
+ linux64-aarch64-shippable: linux64-aarch64-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/kinds/mar-signing-autograph-stage/kind.yml b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml
new file mode 100644
index 0000000000..711c28c44b
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/mar-signing-l10n/kind.yml b/taskcluster/kinds/mar-signing-l10n/kind.yml
new file mode 100644
index 0000000000..8016833c15
--- /dev/null
+++ b/taskcluster/kinds/mar-signing-l10n/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-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-aarch64-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/kinds/mar-signing/kind.yml b/taskcluster/kinds/mar-signing/kind.yml
new file mode 100644
index 0000000000..e0feeaa0ff
--- /dev/null
+++ b/taskcluster/kinds/mar-signing/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:
+ - 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
+ - linux64-aarch64-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/kinds/maybe-release/kind.yml b/taskcluster/kinds/maybe-release/kind.yml
new file mode 100644
index 0000000000..8664e52168
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/merge-automation/kind.yml b/taskcluster/kinds/merge-automation/kind.yml
new file mode 100644
index 0000000000..8e2b34147e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/openh264-plugin/kind.yml b/taskcluster/kinds/openh264-plugin/kind.yml
new file mode 100644
index 0000000000..e8459df438
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+ 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/kinds/openh264-signing/kind.yml b/taskcluster/kinds/openh264-signing/kind.yml
new file mode 100644
index 0000000000..e4dc174cc7
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/packages/debian.yml b/taskcluster/kinds/packages/debian.yml
new file mode 100644
index 0000000000..0a87ef6782
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/packages/kind.yml b/taskcluster/kinds/packages/kind.yml
new file mode 100644
index 0000000000..5b21346de8
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/packages/ubuntu.yml b/taskcluster/kinds/packages/ubuntu.yml
new file mode 100644
index 0000000000..d9bbd5f2ad
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/partials-signing/kind.yml b/taskcluster/kinds/partials-signing/kind.yml
new file mode 100644
index 0000000000..2c2bf0a9a0
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/partials/kind.yml b/taskcluster/kinds/partials/kind.yml
new file mode 100644
index 0000000000..ea72198c5c
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/perftest/android.yml b/taskcluster/kinds/perftest/android.yml
new file mode 100644
index 0000000000..1ed071a1a1
--- /dev/null
+++ b/taskcluster/kinds/perftest/android.yml
@@ -0,0 +1,363 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-startup-chrome-m-cold-main-first-frame:
+ worker-type: t-bitbar-gw-perf-a51
+ description: Run android startup perftest on Chrome on a Samsung A51
+ treeherder:
+ symbol: perftest(startup-chrome-m-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=chrome-m
+ --AndroidStartUp-release-channel=release
+
+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/kinds/perftest/kind.yml b/taskcluster/kinds/perftest/kind.yml
new file mode 100644
index 0000000000..8a92fe55b2
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+ 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/kinds/perftest/linux.yml b/taskcluster/kinds/perftest/linux.yml
new file mode 100644
index 0000000000..1016469fb8
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/perftest/macosx.yml b/taskcluster/kinds/perftest/macosx.yml
new file mode 100644
index 0000000000..d98f7524b8
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/perftest/windows.yml b/taskcluster/kinds/perftest/windows.yml
new file mode 100644
index 0000000000..3e027e5741
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/post-balrog-dummy/kind.yml b/taskcluster/kinds/post-balrog-dummy/kind.yml
new file mode 100644
index 0000000000..e1a9849bbc
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/post-beetmover-checksums-dummy/kind.yml b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
new file mode 100644
index 0000000000..40ff97dce8
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/post-beetmover-components-dummy/kind.yml b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
new file mode 100644
index 0000000000..bf8d98a83c
--- /dev/null
+++ b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.post_dummy
+ - android_taskgraph.transforms.chunk
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - beetmover-components
+
+jobs:
+ post-beetmover:
+ description: Dummy task to wait on all builds before publishing them
+ from-deps:
+ group-by: build-type
+ unique-kinds: false
+ copy-attributes: true
+ attributes:
+ component: all
+ worker-type: succeed
+ treeherder:
+ kind: build
+ platform: AC-android-all/opt
+ symbol:
+ by-build-type:
+ release: post-beetmover-release
+ beta: post-beetmover-beta
+ nightly: post-beetmover-nightly
+ default: post-beetmover
+ tier: 1
diff --git a/taskcluster/kinds/post-beetmover-dummy/kind.yml b/taskcluster/kinds/post-beetmover-dummy/kind.yml
new file mode 100644
index 0000000000..e5d50ce256
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/post-langpack-dummy/kind.yml b/taskcluster/kinds/post-langpack-dummy/kind.yml
new file mode 100644
index 0000000000..95fe9f7684
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/post-signing/kind.yml b/taskcluster/kinds/post-signing/kind.yml
new file mode 100644
index 0000000000..b07436b619
--- /dev/null
+++ b/taskcluster/kinds/post-signing/kind.yml
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.post_dummy
+ - android_taskgraph.transforms.chunk
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - signing
+
+jobs:
+ post-signing:
+ description: Dummy task to wait on all builds before publishing them
+ from-deps:
+ group-by: build-type
+ unique-kinds: false
+ copy-attributes: true
+ attributes:
+ component: all
+ worker-type: succeed
+ worker: {}
+ treeherder:
+ kind: build
+ platform: AC-android-all/opt
+ symbol:
+ by-build-type:
+ release: post-signing-release
+ beta: post-signing-beta
+ nightly: post-signing-nightly
+ default: post-signing
+ tier: 1
diff --git a/taskcluster/kinds/post-update-verify-dummy/kind.yml b/taskcluster/kinds/post-update-verify-dummy/kind.yml
new file mode 100644
index 0000000000..6d7bfb3515
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/push-bundle/kind.yml b/taskcluster/kinds/push-bundle/kind.yml
new file mode 100644
index 0000000000..2c48a14177
--- /dev/null
+++ b/taskcluster/kinds/push-bundle/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
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.upstream_artifacts
+ - android_taskgraph.transforms.treeherder
+ - android_taskgraph.transforms.push_android_app
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - signing-bundle
+ - android-startup-test
+
+jobs:
+ push-bundle:
+ description: Publish Fenix and Focus AABs
+ from-deps:
+ with-attributes:
+ build-type:
+ - fenix-nightly
+ - fenix-beta
+ - fenix-release
+ - focus-nightly
+ - focus-beta
+ - focus-release
+ - klar-release
+ group-by:
+ attribute: build-type
+ copy-attributes: true
+ worker-type: push-apk
+ worker:
+ certificate-alias:
+ by-build-type:
+ fenix-nightly: fenix-nightly
+ fenix-beta: fenix-beta
+ fenix-release: fenix-release
+ default: focus
+ commit: true
+ channel:
+ by-build-type:
+ fenix-nightly: fenix-nightly
+ fenix-beta: fenix-beta
+ fenix-release: fenix-release
+ focus-nightly: focus-nightly
+ focus-beta: focus-beta
+ focus-release: focus-release
+ klar-release: klar-release
+ dep:
+ by-level:
+ '3': false
+ default: true
+ product:
+ by-build-type:
+ (fenix-nightly|fenix-release|fenix-beta): fenix
+ default: focus-android
+ shipping-phase: push
+ shipping-product: firefox-android
+ treeherder:
+ symbol:
+ by-build-type:
+ default: gp-aab
+ focus-release: gpf-aab
+ klar-release: gpkl-aab
+ kind: build
+ routes:
+ by-level:
+ '3':
+ - "notify.email.release-mgmt@mozilla.com.on-failed"
+ 'default': []
diff --git a/taskcluster/kinds/release-balrog-scheduling/kind.yml b/taskcluster/kinds/release-balrog-scheduling/kind.yml
new file mode 100644
index 0000000000..64bd751ca3
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
new file mode 100644
index 0000000000..dc1155df9d
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-beetmover-push-to-release/kind.yml b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
new file mode 100644
index 0000000000..affc0f2c77
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-beetmover-signed-langpacks-checksums/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml
new file mode 100644
index 0000000000..473f711a2a
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-beetmover-signed-langpacks/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
new file mode 100644
index 0000000000..744198c466
--- /dev/null
+++ b/taskcluster/kinds/release-beetmover-signed-langpacks/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.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: 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/kinds/release-beetmover-source-checksums/kind.yml b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
new file mode 100644
index 0000000000..d7a5bf828f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-bouncer-aliases/kind.yml b/taskcluster/kinds/release-bouncer-aliases/kind.yml
new file mode 100644
index 0000000000..d1ce834c48
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-bouncer-check/kind.yml b/taskcluster/kinds/release-bouncer-check/kind.yml
new file mode 100644
index 0000000000..7b7133ffd5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-bouncer-sub/kind.yml b/taskcluster/kinds/release-bouncer-sub/kind.yml
new file mode 100644
index 0000000000..131b41b0a7
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-early-tagging/kind.yml b/taskcluster/kinds/release-early-tagging/kind.yml
new file mode 100644
index 0000000000..775bb4ed7e
--- /dev/null
+++ b/taskcluster/kinds/release-early-tagging/kind.yml
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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
+
+ firefox-android:
+ name: firefox-android-tag-buildN
+ shipping-product: firefox-android
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: Rel(TagBuild)
+ tier: 1
+ kind: build
diff --git a/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml
new file mode 100644
index 0000000000..c75a85ac54
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-eme-free-repack-beetmover/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml
new file mode 100644
index 0000000000..7a33d0fb69
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-eme-free-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml
new file mode 100644
index 0000000000..ff04daf61d
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-eme-free-repack-mac-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml
new file mode 100644
index 0000000000..84d0e17dd1
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-eme-free-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml
new file mode 100644
index 0000000000..c369761202
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-eme-free-repack-repackage/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml
new file mode 100644
index 0000000000..78bc18fe6d
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-eme-free-repack/kind.yml b/taskcluster/kinds/release-eme-free-repack/kind.yml
new file mode 100644
index 0000000000..cc3e85071b
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-final-verify/kind.yml b/taskcluster/kinds/release-final-verify/kind.yml
new file mode 100644
index 0000000000..b1319665cd
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-flatpak-push/kind.yml b/taskcluster/kinds/release-flatpak-push/kind.yml
new file mode 100644
index 0000000000..94e0e42c16
--- /dev/null
+++ b/taskcluster/kinds/release-flatpak-push/kind.yml
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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: 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/kinds/release-flatpak-repackage/kind.yml b/taskcluster/kinds/release-flatpak-repackage/kind.yml
new file mode 100644
index 0000000000..ecc86bf4ab
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-generate-checksums-beetmover/kind.yml b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
new file mode 100644
index 0000000000..ca998ea2f2
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-generate-checksums-signing/kind.yml b/taskcluster/kinds/release-generate-checksums-signing/kind.yml
new file mode 100644
index 0000000000..a86b4c8dc5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-generate-checksums/kind.yml b/taskcluster/kinds/release-generate-checksums/kind.yml
new file mode 100644
index 0000000000..71018c8cef
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-mark-as-shipped/kind.yml b/taskcluster/kinds/release-mark-as-shipped/kind.yml
new file mode 100644
index 0000000000..05faa3f88e
--- /dev/null
+++ b/taskcluster/kinds/release-mark-as-shipped/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
+
+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
+
+ firefox-android:
+ name: release-firefox-android_mark_as_shipped
+ shipping-product: firefox-android
diff --git a/taskcluster/kinds/release-msix-push/kind.yml b/taskcluster/kinds/release-msix-push/kind.yml
new file mode 100644
index 0000000000..39de997bef
--- /dev/null
+++ b/taskcluster/kinds/release-msix-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_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: 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/kinds/release-notify-av-announce/kind.yml b/taskcluster/kinds/release-notify-av-announce/kind.yml
new file mode 100644
index 0000000000..45a0e5db53
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-notify-promote/kind.yml b/taskcluster/kinds/release-notify-promote/kind.yml
new file mode 100644
index 0000000000..bc53da5a49
--- /dev/null
+++ b/taskcluster/kinds/release-notify-promote/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
+ - release-generate-checksums-beetmover
+ - release-bouncer-sub
+ - signing-apk
+ - signing-bundle
+
+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
+ firefox-android:
+ shipping-product: firefox-android
diff --git a/taskcluster/kinds/release-notify-push/kind.yml b/taskcluster/kinds/release-notify-push/kind.yml
new file mode 100644
index 0000000000..be1a7b5be8
--- /dev/null
+++ b/taskcluster/kinds/release-notify-push/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
+
+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
+ - push-bundle
+
+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
+ firefox-android:
+ shipping-product: firefox-android
+ notifications:
+ subject: "Focus/Fenix {release_config[version]}-build{release_config[build_number]} has been pushed to the closed testing track on Google Play"
+ message:
+ by-level:
+ '3':
+ Focus/Fenix {release_config[version]}-build{release_config[build_number]} has been pushed to the closed testing track on Google Play
+ and Android-Components {release_config[version]}-build{release_config[build_number]} have been pushed to https://maven.mozilla.org/
+ default:
+ Focus/Fenix {release_config[version]}-build{release_config[build_number]} has not been pushed to the closed testing track on Google Play
+ and Android-Components {release_config[version]}-build{release_config[build_number]} have been pushed to https://maven-default.stage.mozaws.net/"
diff --git a/taskcluster/kinds/release-notify-ship/kind.yml b/taskcluster/kinds/release-notify-ship/kind.yml
new file mode 100644
index 0000000000..fe3eced6e7
--- /dev/null
+++ b/taskcluster/kinds/release-notify-ship/kind.yml
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.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
+ - push-bundle
+ - post-beetmover-components-dummy
+
+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!"
+ firefox-android:
+ shipping-product: firefox-android
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} is shipped!"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} is shipped!"
diff --git a/taskcluster/kinds/release-notify-started/kind.yml b/taskcluster/kinds/release-notify-started/kind.yml
new file mode 100644
index 0000000000..929c07ec59
--- /dev/null
+++ b/taskcluster/kinds/release-notify-started/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_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
+ firefox-android:
+ shipping-product: firefox-android
diff --git a/taskcluster/kinds/release-notify-testrail/kind.yml b/taskcluster/kinds/release-notify-testrail/kind.yml
new file mode 100644
index 0000000000..5e4fa41307
--- /dev/null
+++ b/taskcluster/kinds/release-notify-testrail/kind.yml
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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.test_apk
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - ui-test-apk
+
+job-defaults:
+ description: Sends Slack message to release testers that Testrail Milestone was created.
+ treeherder:
+ kind: other
+ tier: 2
+ symbol: testrail
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-ui-tests}
+ max-run-time: 1800
+ run:
+ use-caches: false
+ using: run-commands
+ secrets:
+ - name: project/mobile/ci/testrail
+ key: testrailCredentials
+ path: .testrail_credentials.json
+ json: true
+ run-on-projects: [mozilla-beta, mozilla-release]
+ routes:
+ by-level:
+ '3':
+ - notify.slack-channel.G016BC5FUHJ.on-failed
+ default: []
+ scopes:
+ by-level:
+ '3':
+ - queue:route:notify.slack-channel.G016BC5FUHJ # notify mobile-alerts-sandbox on failure
+ - notify:slack-channel:G016BC5FUHJ
+ - queue:route:notify.slack-channel.C02KDDS9QM9 # notify mobile-testeng on success
+ - notify:slack-channel:C02KDDS9QM9
+ default: []
+
+jobs:
+ create-milestone-focus:
+ dependencies:
+ ui-test-apk: ui-test-apk-focus-arm-beta
+ description: Create Testrail Milestone for Focus
+ treeherder:
+ platform: focus-android-all/opt
+ run:
+ pre-commands:
+ # get-secrets is called from '..' directory so we need to cd into any directory to make it work
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [python3, "../../../taskcluster/scripts/testrail_main.py"]
+ worker:
+ env:
+ SHIPPING_PRODUCT: focus
+ TESTRAIL_PRODUCT_TYPE: Focus
+ TESTRAIL_PROJECT_ID: '48' # Focus Browser
+ TESTRAIL_TEST_SUITE_ID: '49386' # Test Automation Release Milestone - Focus
+
+ create-milestone-fenix:
+ dependencies:
+ ui-test-apk: ui-test-apk-fenix-arm-beta
+ treeherder:
+ platform: fenix-android-all/opt
+ description: Create Testrail Milestone for Fenix
+ run:
+ pre-commands:
+ # get-secrets is called from '..' directory so we need to cd into any directory to make it work
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [python3, "../../../taskcluster/scripts/testrail_main.py"]
+ worker:
+ env:
+ SHIPPING_PRODUCT: fenix
+ TESTRAIL_PRODUCT_TYPE: Firefox
+ TESTRAIL_PROJECT_ID: '59' # Fenix Browser
+ TESTRAIL_TEST_SUITE_ID: '49319' # Test Automation Release Milestone - Fenix
diff --git a/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml
new file mode 100644
index 0000000000..2851ff7d37
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-attribution/kind.yml b/taskcluster/kinds/release-partner-attribution/kind.yml
new file mode 100644
index 0000000000..1da2656150
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-beetmover/kind.yml b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml
new file mode 100644
index 0000000000..164446f683
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-bouncer-sub/kind.yml b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml
new file mode 100644
index 0000000000..98fa149810
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-chunking-dummy/kind.yml b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml
new file mode 100644
index 0000000000..4975931312
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml
new file mode 100644
index 0000000000..ee7a78e54f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-mac-signing/kind.yml b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml
new file mode 100644
index 0000000000..dec5189979
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml
new file mode 100644
index 0000000000..2242023f91
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack-repackage/kind.yml b/taskcluster/kinds/release-partner-repack-repackage/kind.yml
new file mode 100644
index 0000000000..099c55240f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-partner-repack/kind.yml b/taskcluster/kinds/release-partner-repack/kind.yml
new file mode 100644
index 0000000000..2a5d2fc996
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-push-langpacks/kind.yml b/taskcluster/kinds/release-push-langpacks/kind.yml
new file mode 100644
index 0000000000..fbc5bcc8a9
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-secondary-balrog-scheduling/kind.yml b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml
new file mode 100644
index 0000000000..9a230639b9
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-secondary-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml
new file mode 100644
index 0000000000..d742b4fb61
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-secondary-final-verify/kind.yml b/taskcluster/kinds/release-secondary-final-verify/kind.yml
new file mode 100644
index 0000000000..0d2e58d01d
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-secondary-flatpak-push/kind.yml b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
new file mode 100644
index 0000000000..0f915d8d26
--- /dev/null
+++ b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.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: 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/kinds/release-secondary-notify-ship/kind.yml b/taskcluster/kinds/release-secondary-notify-ship/kind.yml
new file mode 100644
index 0000000000..ab9b20ed62
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-secondary-update-verify-config/kind.yml b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml
new file mode 100644
index 0000000000..7e28131a5e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-secondary-update-verify/kind.yml b/taskcluster/kinds/release-secondary-update-verify/kind.yml
new file mode 100644
index 0000000000..f567cf7ae3
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-snap-repackage/kind.yml b/taskcluster/kinds/release-snap-repackage/kind.yml
new file mode 100644
index 0000000000..73d9d8a410
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-source-checksums-signing/kind.yml b/taskcluster/kinds/release-source-checksums-signing/kind.yml
new file mode 100644
index 0000000000..de9f98acc0
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-source-signing/kind.yml b/taskcluster/kinds/release-source-signing/kind.yml
new file mode 100644
index 0000000000..9ab9e37d88
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-source/kind.yml b/taskcluster/kinds/release-source/kind.yml
new file mode 100644
index 0000000000..ff2ee375f7
--- /dev/null
+++ b/taskcluster/kinds/release-source/kind.yml
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build: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: []
+ 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/kinds/release-update-verify-config-next/kind.yml b/taskcluster/kinds/release-update-verify-config-next/kind.yml
new file mode 100644
index 0000000000..959d0afb9a
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-update-verify-config/kind.yml b/taskcluster/kinds/release-update-verify-config/kind.yml
new file mode 100644
index 0000000000..d4e40cda12
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-update-verify-next/kind.yml b/taskcluster/kinds/release-update-verify-next/kind.yml
new file mode 100644
index 0000000000..ad72e9b118
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-update-verify/kind.yml b/taskcluster/kinds/release-update-verify/kind.yml
new file mode 100644
index 0000000000..ec7f9874da
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/release-version-bump/kind.yml b/taskcluster/kinds/release-version-bump/kind.yml
new file mode 100644
index 0000000000..114d52df95
--- /dev/null
+++ b/taskcluster/kinds/release-version-bump/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_deps:transforms
+ - gecko_taskgraph.transforms.release_version_bump:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+ - post-beetmover-components-dummy
+ - push-bundle
+
+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
+ # We're bumping both desktop and mobile version regardless of which product is getting
+ # released, to avoid confusion from them getting out of sync.
+ bump-files:
+ by-project:
+ default:
+ - "browser/config/version_display.txt"
+ - "mobile/android/version.txt"
+ mozilla-release:
+ - "browser/config/version.txt"
+ - "browser/config/version_display.txt"
+ - "config/milestone.txt"
+ - "mobile/android/version.txt"
+ mozilla-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
+
+ firefox-android:
+ name: firefox-android-version-bump
+ shipping-product: firefox-android
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: Rel(VerBump)
+ tier: 1
+ kind: build
diff --git a/taskcluster/kinds/repackage-deb-l10n/kind.yml b/taskcluster/kinds/repackage-deb-l10n/kind.yml
new file mode 100644
index 0000000000..a22e50787a
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage-deb/kind.yml b/taskcluster/kinds/repackage-deb/kind.yml
new file mode 100644
index 0000000000..779aaf2659
--- /dev/null
+++ b/taskcluster/kinds/repackage-deb/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
+
+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
+ - linux64-aarch64-shippable/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/kinds/repackage-l10n/kind.yml b/taskcluster/kinds/repackage-l10n/kind.yml
new file mode 100644
index 0000000000..8be0cb19cc
--- /dev/null
+++ b/taskcluster/kinds/repackage-l10n/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:
+ - 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
+ - linux64-aarch64-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/kinds/repackage-msi/kind.yml b/taskcluster/kinds/repackage-msi/kind.yml
new file mode 100644
index 0000000000..fa2fb3ada3
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage-msix/kind.yml b/taskcluster/kinds/repackage-msix/kind.yml
new file mode 100644
index 0000000000..96ff07c77c
--- /dev/null
+++ b/taskcluster/kinds/repackage-msix/kind.yml
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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-aarch64/opt
+ - win64/debug
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch-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/kinds/repackage-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
new file mode 100644
index 0000000000..021896a7ad
--- /dev/null
+++ b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
@@ -0,0 +1,111 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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
+ - win64-aarch64-shippable/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-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/kinds/repackage-signing-l10n/kind.yml b/taskcluster/kinds/repackage-signing-l10n/kind.yml
new file mode 100644
index 0000000000..9d274b1ee3
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage-signing-msi/kind.yml b/taskcluster/kinds/repackage-signing-msi/kind.yml
new file mode 100644
index 0000000000..8a6691413a
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage-signing-msix/kind.yml b/taskcluster/kinds/repackage-signing-msix/kind.yml
new file mode 100644
index 0000000000..4976f08366
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage-signing-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
new file mode 100644
index 0000000000..0f6f7787ee
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage-signing/kind.yml b/taskcluster/kinds/repackage-signing/kind.yml
new file mode 100644
index 0000000000..49ea244a9e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/repackage/kind.yml b/taskcluster/kinds/repackage/kind.yml
new file mode 100644
index 0000000000..b9f94f4a89
--- /dev/null
+++ b/taskcluster/kinds/repackage/kind.yml
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+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
+ - linux64-aarch64-shippable/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/kinds/repo-update/kind.yml b/taskcluster/kinds/repo-update/kind.yml
new file mode 100644
index 0000000000..50c7c0ac0e
--- /dev/null
+++ b/taskcluster/kinds/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|beta): "1"
+ default: ""
+ USE_MOZILLA_CENTRAL:
+ by-project:
+ mozilla-central: "1"
+ default: ""
+
+
+jobs:
+ hsts-hpkp-blocklist:
+ name: periodic_file_update
+ description: HSTS, HPKP and remote settings update
+ run-on-projects: [] # Only run via cron
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: pfu
+ tier: 1
+ worker-type: b-linux-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/kinds/scriptworker-canary/kind.yml b/taskcluster/kinds/scriptworker-canary/kind.yml
new file mode 100644
index 0000000000..a1ee225b89
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/searchfox/kind.yml b/taskcluster/kinds/searchfox/kind.yml
new file mode 100644
index 0000000000..4ea3203d9f
--- /dev/null
+++ b/taskcluster/kinds/searchfox/kind.yml
@@ -0,0 +1,223 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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-python: default
+ # 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
+
+ ios-searchfox/debug:
+ description: "ios Debug Cross-compile Searchfox"
+ index:
+ job-name: ios-searchfox-debug
+ treeherder:
+ platform: ios/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "ios"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ keep-artifacts: false
+ extra-config:
+ app_name: mobile/ios
+ stage_platform: ios
+ mozconfig_platform: ios
+ disable_package_metrics: true
+ mozconfig-variant: debug-searchfox
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-ios
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - ios-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/kinds/sentry/kind.yml b/taskcluster/kinds/sentry/kind.yml
new file mode 100644
index 0000000000..bfc3cf07a2
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/shippable-l10n-mac-notarization/kind.yml b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
new file mode 100644
index 0000000000..461eac91ac
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/shippable-l10n-mac-signing/kind.yml b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
new file mode 100644
index 0000000000..21fe44b4f0
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/shippable-l10n-signing/kind.yml b/taskcluster/kinds/shippable-l10n-signing/kind.yml
new file mode 100644
index 0000000000..fdb545381f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/shippable-l10n/kind.yml b/taskcluster/kinds/shippable-l10n/kind.yml
new file mode 100644
index 0000000000..ddd6c25401
--- /dev/null
+++ b/taskcluster/kinds/shippable-l10n/kind.yml
@@ -0,0 +1,208 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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
+ - linux64-aarch64-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
+ linux64-aarch64-shippable: linux64-aarch64-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
+ linux64-aarch64-shippable: linux64-aarch64-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
+ linux64-aarch64-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/kinds/signing-apk/kind.yml b/taskcluster/kinds/signing-apk/kind.yml
new file mode 100644
index 0000000000..85b2f21bfd
--- /dev/null
+++ b/taskcluster/kinds/signing-apk/kind.yml
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.upstream_artifacts
+ - android_taskgraph.transforms.treeherder:transforms
+ - android_taskgraph.transforms.signing_android_app:transforms
+ - android_taskgraph.transforms.notify:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-apk
+
+jobs:
+ sign-apk:
+ description: Sign Android APKs
+ from-deps:
+ copy-attributes: true
+ worker:
+ implementation: scriptworker-signing
+ signing-format:
+ by-build-type:
+ (focus-.*|klar-.*): autograph_focus
+ fenix-(beta|release)-mozillaonline: autograph_apk_mozillaonline
+ default: autograph_apk
+ index:
+ by-build-type:
+ (focus-nightly|focus-release|klar-release|focus-beta|fenix-nightly|fenix-debug|fenix-nightly-simulation|fenix-beta|fenix-beta-mozillaonline|fenix-release|fenix-release-mozillaonline):
+ type: generic
+ product: mobile
+ default: {}
+ run-on-projects: []
+ treeherder:
+ symbol:
+ by-build-type:
+ default: Bs
+ focus-(debug|nightly|beta|release)$: Bfs
+ focus-(nightly|beta)-firebase$: Bffs
+ focus-android-test-(debug|nightly|beta)$: Bats
+ klar-.*: Bkls
+ fenix-android-test.+: Bats
+ fenix-android-test-mozillaonline: Bats-mo
+ fenix-beta-firebase: Bfs
+ fenix-nightly-firebase: Bfs
+ fenix-beta-mozillaonline: Bmos
+ fenix-release-mozillaonline: Bmos
+ kind: build
+ platform:
+ by-build-type:
+ (fenix.*): fenix-android-all/opt
+ default: focus-android-all/opt
+ tier: 1
+ notify:
+ by-build-type:
+ .*(fenix-beta|fenix-release)-mozillaonline:
+ by-level:
+ '3':
+ email:
+ content: The Mozilla Online Fenix {version} APKs are now available
+ link:
+ text: Taskcluster Task
+ href: 'https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}'
+ on-reasons: [completed]
+ subject: Mozilla Online Fenix {version} APKs are now available
+ to-addresses: [mozillaonline-fenix@mozilla.com]
+ default: {}
+ default: {}
diff --git a/taskcluster/kinds/signing-bundle/kind.yml b/taskcluster/kinds/signing-bundle/kind.yml
new file mode 100644
index 0000000000..e062282fd6
--- /dev/null
+++ b/taskcluster/kinds/signing-bundle/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:
+ - taskgraph.transforms.from_deps
+ - android_taskgraph.transforms.upstream_artifacts
+ - android_taskgraph.transforms.treeherder:transforms
+ - android_taskgraph.transforms.signing_android_app:transforms
+ - android_taskgraph.transforms.notify:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-bundle
+
+jobs:
+ sign-bundle:
+ description: Sign Android AABs
+ from-deps:
+ copy-attributes: true
+ worker:
+ implementation: scriptworker-signing
+ signing-format:
+ by-build-type:
+ (focus-.*|klar-.*): autograph_focus
+ default: autograph_apk
+ run-on-projects: []
+ treeherder:
+ symbol:
+ by-build-type:
+ focus-(debug|nightly|beta|release)$: AABfs
+ klar-.*: AABkls
+ default: AABs
+ kind: build
+ platform:
+ by-build-type:
+ (fenix.*): fenix-android-all/opt
+ default: focus-android-all/opt
+ tier: 1
diff --git a/taskcluster/kinds/signing/kind.yml b/taskcluster/kinds/signing/kind.yml
new file mode 100644
index 0000000000..655750438c
--- /dev/null
+++ b/taskcluster/kinds/signing/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
+ - android_taskgraph.transforms.upstream_artifacts
+ - android_taskgraph.transforms.signing
+ - android_taskgraph.transforms.treeherder
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-components
+
+jobs:
+ sign-build:
+ description: Sign component
+ from-deps:
+ with-attributes:
+ build-type:
+ - release
+ - beta
+ - nightly
+ group-by: component
+ copy-attributes: true
+ run-on-projects: []
+ treeherder:
+ symbol:
+ by-build-type:
+ release: BRs
+ beta: BBs
+ nightly: BNs
+ default: Bs
+ kind: build
+ worker-type:
+ by-level:
+ '3': linux-signing
+ default: linux-depsigning
+ worker:
+ implementation: scriptworker-signing
diff --git a/taskcluster/kinds/snap-upstream-build/kind.yml b/taskcluster/kinds/snap-upstream-build/kind.yml
new file mode 100644
index 0000000000..7016989ba8
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/snap-upstream-test/kind.yml b/taskcluster/kinds/snap-upstream-test/kind.yml
new file mode 100644
index 0000000000..585a1fca1f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/android-compare-locales.yml b/taskcluster/kinds/source-test/android-compare-locales.yml
new file mode 100644
index 0000000000..6423ad708d
--- /dev/null
+++ b/taskcluster/kinds/source-test/android-compare-locales.yml
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ description: 'Validate android strings.xml with compare-locales'
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: 'pip install --break-system-packages --user "compare-locales>=5.0.2,<6.0" && /builds/worker/.local/bin/compare-locales --validate l10n.toml .'
+ worker-type: t-linux-xlarge-source
+ platform: lint/opt
+ treeherder:
+ kind: other
+ tier: 2
+ worker:
+ docker-image: {in-tree: lint}
+ max-run-time: 1800
+ use-python: system
+
+
+compare-locales-android-components:
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/android-components/**"
+ run:
+ cwd: '{checkout}/mobile/android/android-components'
+ treeherder:
+ symbol: compare-locales(AC)
+
+compare-locales-focus:
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/focus-android/**"
+ run:
+ cwd: '{checkout}/mobile/android/focus-android'
+ treeherder:
+ symbol: compare-locales(focus)
+
+compare-locales-fenix:
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/fenix/**"
+ run:
+ cwd: '{checkout}/mobile/android/fenix'
+ treeherder:
+ symbol: compare-locales(fenix)
diff --git a/taskcluster/kinds/source-test/android-detekt.yml b/taskcluster/kinds/source-test/android-detekt.yml
new file mode 100644
index 0000000000..c39ebca218
--- /dev/null
+++ b/taskcluster/kinds/source-test/android-detekt.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/.
+---
+job-defaults:
+ description: 'Run detekt over all modules'
+ run:
+ using: gradlew
+ gradlew: ['detekt']
+ use-caches: false
+ worker:
+ docker-image: {in-tree: lint}
+ max-run-time: 1200
+ attributes:
+ code-review: true
+ always-target: true
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk-repack
+ platform: 'lint/opt'
+ treeherder:
+ kind: test
+ tier: 1
+ worker-type: b-linux-gcp
+ when:
+ files-changed:
+ - "mobile/android/android-components/**"
+
+
+detekt-android-components:
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ treeherder:
+ symbol: detekt(AC)
+ worker:
+ artifacts:
+ - name: public/reports
+ path: /builds/worker/checkouts/gecko/mobile/android/android-components/build/reports
+ type: directory
+
+detekt-focus:
+ when:
+ files-changed:
+ - "mobile/android/focus-android/**"
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/focus-android"]
+ treeherder:
+ symbol: detekt(focus)
+ worker:
+ artifacts:
+ - name: public/reports
+ path: /builds/worker/checkouts/gecko/mobile/android/focus-android/build/reports
+ type: directory
+
+detekt-fenix:
+ when:
+ files-changed:
+ - "mobile/android/fenix/**"
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/fenix"]
+ gradlew: [detekt, 'mozilla-detekt-rules:test']
+ treeherder:
+ symbol: detekt(fenix)
+ worker:
+ artifacts:
+ - name: public/reports
+ path: /builds/worker/checkouts/gecko/mobile/android/fenix/build/reports
+ type: directory
diff --git a/taskcluster/kinds/source-test/android-lint.yml b/taskcluster/kinds/source-test/android-lint.yml
new file mode 100644
index 0000000000..8cbbcc3385
--- /dev/null
+++ b/taskcluster/kinds/source-test/android-lint.yml
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ description: 'Run lint over all modules'
+ run:
+ using: gradlew
+ gradlew: ['lint']
+ use-caches: false
+ worker:
+ max-run-time: 2700
+ docker-image: {in-tree: lint}
+ always-target: false
+ attributes:
+ build_platform: android
+ code-review: true
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk-repack
+ build-fat-aar:
+ - target.maven.tar.xz
+ platform: 'lint/opt'
+ treeherder:
+ kind: test
+ tier: 1
+ worker-type: b-linux-gcp
+ when:
+ files-changed:
+ - "mobile/android/android-components/**"
+
+
+android-components:
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ gradlew: ["--no-parallel"]
+ treeherder:
+ symbol: lint(AC)
+
+focus:
+ when:
+ files-changed:
+ - "mobile/android/focus-android/**"
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/focus-android"]
+ treeherder:
+ symbol: lint(focus)
+
+fenix:
+ when:
+ files-changed:
+ - "mobile/android/fenix/**"
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/fenix"]
+ gradlew: ['lintDebug', 'mozilla-lint-rules:test']
+ treeherder:
+ symbol: lint(fenix)
diff --git a/taskcluster/kinds/source-test/buildconfig.yml b/taskcluster/kinds/source-test/buildconfig.yml
new file mode 100644
index 0000000000..a7dffefd09
--- /dev/null
+++ b/taskcluster/kinds/source-test/buildconfig.yml
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ description: Make sure the content of .buildconfig.yml matches what gradle knows about its projects
+ always-target: true
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ worker-type: t-linux-xlarge-source
+ worker:
+ artifacts:
+ - type: directory
+ name: public
+ path: '/builds/worker/artifacts'
+ docker-image: {in-tree: lint}
+ max-run-time: 1800
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-online"
+ MOZCONFIG: "/builds/worker/checkouts/gecko/mobile/android/config/mozconfigs/android-arm/nightly-android-lints"
+ ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux"
+ platform: lint/opt
+ treeherder:
+ kind: other
+ tier: 2
+ fetches:
+ toolchain:
+ - linux64-jdk-repack
+ - android-gradle-dependencies
+ - android-sdk-linux
+ use-python: system
+
+
+buildconfig-android-components:
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/android-components/**/build.gradle"
+ - "mobile/android/android-components/.buildconfig.yml"
+ run:
+ command: 'pip install --break-system-packages --user --require-hashes --requirement taskcluster/scripts/lint/requirements.txt && ./mach --log-no-times build pre-export export && taskcluster/scripts/lint/is_buildconfig_yml_up_to_date.py mobile/android/android-components'
+ treeherder:
+ symbol: buildconfig(AC)
+
+buildconfig-focus:
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/android-components/**/build.gradle" # A change in A-C may be reflected in focus
+ - "mobile/android/android-components/.buildconfig.yml"
+ - "mobile/android/focus-android/**/build.gradle"
+ - "mobile/android/focus-android/.buildconfig.yml"
+ run:
+ command: 'pip install --break-system-packages --user --require-hashes --requirement taskcluster/scripts/lint/requirements.txt && ./mach --log-no-times build pre-export export && taskcluster/scripts/lint/is_buildconfig_yml_up_to_date.py mobile/android/focus-android'
+ treeherder:
+ symbol: buildconfig(focus)
+
+buildconfig-fenix:
+ optimization:
+ skip-unless-changed:
+ - "mobile/android/android-components/**/build.gradle" # A change in A-C may be reflected in fenix
+ - "mobile/android/android-components/.buildconfig.yml"
+ - "mobile/android/fenix/**/build.gradle"
+ - "mobile/android/fenix/.buildconfig.yml"
+ run:
+ command: 'pip install --break-system-packages --user --require-hashes --requirement taskcluster/scripts/lint/requirements.txt && ./mach --log-no-times build pre-export export && taskcluster/scripts/lint/is_buildconfig_yml_up_to_date.py mobile/android/fenix'
+ treeherder:
+ symbol: buildconfig(fenix)
diff --git a/taskcluster/kinds/source-test/clang.yml b/taskcluster/kinds/source-test/clang.yml
new file mode 100644
index 0000000000..d77066afe7
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/cram.yml b/taskcluster/kinds/source-test/cram.yml
new file mode 100644
index 0000000000..6e29e7c6a6
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/doc.yml b/taskcluster/kinds/source-test/doc.yml
new file mode 100644
index 0000000000..b876d801ba
--- /dev/null
+++ b/taskcluster/kinds/source-test/doc.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/.
+---
+generate:
+ description: Generate the Sphinx documentation
+ use-python: "3.11"
+ platform: doc/opt
+ treeherder:
+ symbol: doc(generate)
+ kind: test
+ tier: 1
+ run-on-projects: ['trunk']
+ worker-type: b-linux-medium-gcp
+ 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
+ use-python: "3.11"
+ platform: doc/opt
+ attributes:
+ code-review: true
+ treeherder:
+ symbol: doc(upload)
+ kind: test
+ tier: 2
+ run-on-projects: [mozilla-central-only]
+ worker-type: b-linux-medium-gcp
+ 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/kinds/source-test/file-metadata.yml b/taskcluster/kinds/source-test/file-metadata.yml
new file mode 100644
index 0000000000..b1fffaf64f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/jsshell.yml b/taskcluster/kinds/source-test/jsshell.yml
new file mode 100644
index 0000000000..2ce0a846d4
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/kind.yml b/taskcluster/kinds/source-test/kind.yml
new file mode 100644
index 0000000000..f28ee39f96
--- /dev/null
+++ b/taskcluster/kinds/source-test/kind.yml
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+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
+ - build-fat-aar
+
+jobs-from:
+ - android-compare-locales.yml
+ - android-detekt.yml
+ - android-lint.yml
+ - buildconfig.yml
+ - clang.yml
+ - cram.yml
+ - doc.yml
+ - file-metadata.yml
+ - jsshell.yml
+ - ktlint.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-python: default
+ attributes:
+ retrigger: true
+ task-context:
+ from-object: {}
+ substitution-fields: []
diff --git a/taskcluster/kinds/source-test/ktlint.yml b/taskcluster/kinds/source-test/ktlint.yml
new file mode 100644
index 0000000000..1828887dc0
--- /dev/null
+++ b/taskcluster/kinds/source-test/ktlint.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:
+ description: 'Run ktlint over all modules'
+ run:
+ using: gradlew
+ gradlew: ['ktlint']
+ use-caches: false
+ attributes:
+ code-review: true
+ always-target: true
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk-repack
+ platform: 'lint/opt'
+ treeherder:
+ kind: test
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: lint}
+ max-run-time: 1200
+ when:
+ files-changed:
+ - "mobile/android/android-components/**"
+
+android-components:
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ treeherder:
+ symbol: ktlint(AC)
+
+focus:
+ when:
+ files-changed:
+ - "mobile/android/focus-android/**"
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/focus-android"]
+ treeherder:
+ symbol: ktlint(focus)
+
+fenix:
+ when:
+ files-changed:
+ - "mobile/android/fenix/**"
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/fenix"]
+ treeherder:
+ symbol: ktlint(fenix)
diff --git a/taskcluster/kinds/source-test/mozlint-android.yml b/taskcluster/kinds/source-test/mozlint-android.yml
new file mode 100644
index 0000000000..6602d8c818
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/mozlint.yml b/taskcluster/kinds/source-test/mozlint.yml
new file mode 100644
index 0000000000..e101049103
--- /dev/null
+++ b/taskcluster/kinds/source-test/mozlint.yml
@@ -0,0 +1,621 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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'
+
+ignorefile-test:
+ description: .gitignore vs .hgignore consistency check
+ platform: lint/opt
+ treeherder:
+ symbol: ignorefile
+ run:
+ mach: lint -v -l ignorefile .gitignore .hgignore
+ when:
+ files-changed:
+ - '.gitignore'
+ - '.hgignore'
diff --git a/taskcluster/kinds/source-test/node.yml b/taskcluster/kinds/source-test/node.yml
new file mode 100644
index 0000000000..1d8c8348fb
--- /dev/null
+++ b/taskcluster/kinds/source-test/node.yml
@@ -0,0 +1,221 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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/**'
+
+design-tokens-tests:
+ description: design tokens unit tests
+ platform: linux1804-64/opt
+ treeherder:
+ symbol: node(design-tokens)
+ 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/toolkit/themes/shared/design-system &&
+ rm -rf node_modules &&
+ npm ci &&
+ node tests/try-runner.js
+ when:
+ files-changed:
+ - "toolkit/themes/shared/design-system/**"
diff --git a/taskcluster/kinds/source-test/puppeteer.yml b/taskcluster/kinds/source-test/puppeteer.yml
new file mode 100644
index 0000000000..3bfd1a9645
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/python.yml b/taskcluster/kinds/source-test/python.yml
new file mode 100644
index 0000000000..c8214d17d5
--- /dev/null
+++ b/taskcluster/kinds/source-test/python.yml
@@ -0,0 +1,637 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ use-python: default
+ 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/kinds/**'
+ - '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/config.yml'
+ - 'taskcluster/kinds/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/kinds/source-test/shadow-scheduler.yml b/taskcluster/kinds/source-test/shadow-scheduler.yml
new file mode 100644
index 0000000000..97d1b1f30b
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/taskgraph.yml b/taskcluster/kinds/source-test/taskgraph.yml
new file mode 100644
index 0000000000..da3b27d33b
--- /dev/null
+++ b/taskcluster/kinds/source-test/taskgraph.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/.
+---
+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
+ task-context:
+ from-parameters:
+ base_rev: base_rev
+ substitution-fields:
+ - run.command
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >-
+ mkdir -p /builds/worker/artifacts/diffs &&
+ ./mach taskgraph target --fast -p "taskcluster/test/params" --force-local-files-changed -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/kinds/**'
+ - 'taskcluster/**/*.py'
diff --git a/taskcluster/kinds/source-test/vendor.yml b/taskcluster/kinds/source-test/vendor.yml
new file mode 100644
index 0000000000..c6594c6f68
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/webcompat.yml b/taskcluster/kinds/source-test/webcompat.yml
new file mode 100644
index 0000000000..66ff7910a6
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/webidl.yml b/taskcluster/kinds/source-test/webidl.yml
new file mode 100644
index 0000000000..eec7a75e38
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/wpt-manifest.yml b/taskcluster/kinds/source-test/wpt-manifest.yml
new file mode 100644
index 0000000000..06b29b60f5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/source-test/wpt-metadata.yml b/taskcluster/kinds/source-test/wpt-metadata.yml
new file mode 100644
index 0000000000..b2c54d62b9
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/spidermonkey/kind.yml b/taskcluster/kinds/spidermonkey/kind.yml
new file mode 100644
index 0000000000..560ac9a58b
--- /dev/null
+++ b/taskcluster/kinds/spidermonkey/kind.yml
@@ -0,0 +1,75 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.spidermonkey:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules: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/kinds/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/kinds/spidermonkey/linux.yml b/taskcluster/kinds/spidermonkey/linux.yml
new file mode 100644
index 0000000000..fbf3c8d0e2
--- /dev/null
+++ b/taskcluster/kinds/spidermonkey/linux.yml
@@ -0,0 +1,628 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-pbl-linux64/debug:
+ description: "Spidermonkey PBL Debug"
+ index:
+ job-name: sm-pbl-linux64-debug
+ treeherder:
+ symbol: SM(pbl)
+ platform: linux64/debug
+ tier: 2
+ run:
+ spidermonkey-variant: pbl-debug
+ 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/kinds/spidermonkey/windows.yml b/taskcluster/kinds/spidermonkey/windows.yml
new file mode 100644
index 0000000000..2fa90deb8e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/startup-test/kind.yml b/taskcluster/kinds/startup-test/kind.yml
new file mode 100644
index 0000000000..3e6975ae92
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+
+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/kinds/static-analysis-autotest/kind.yml b/taskcluster/kinds/static-analysis-autotest/kind.yml
new file mode 100644
index 0000000000..3901e0a7fd
--- /dev/null
+++ b/taskcluster/kinds/static-analysis-autotest/kind.yml
@@ -0,0 +1,102 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules: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-python: default
+ 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/kinds/system-symbols-reprocess/kind.yml b/taskcluster/kinds/system-symbols-reprocess/kind.yml
new file mode 100644
index 0000000000..e96f8f4fa3
--- /dev/null
+++ b/taskcluster/kinds/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: {task-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <system-symbols>"}
+ fetches:
+ fetch:
+ - symbol-scrapers
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-reprocess
diff --git a/taskcluster/kinds/system-symbols-upload/kind.yml b/taskcluster/kinds/system-symbols-upload/kind.yml
new file mode 100644
index 0000000000..e36f7afd84
--- /dev/null
+++ b/taskcluster/kinds/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: {task-reference: "python toolkit/crashreporter/tools/upload_symbols.py --task-id <system-symbols> --ignore-missing"}
+ sparse-profile: upload-symbols
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload
diff --git a/taskcluster/kinds/system-symbols/kind.yml b/taskcluster/kinds/system-symbols/kind.yml
new file mode 100644
index 0000000000..0090454a68
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/test-apk/kind.yml b/taskcluster/kinds/test-apk/kind.yml
new file mode 100644
index 0000000000..59225f431a
--- /dev/null
+++ b/taskcluster/kinds/test-apk/kind.yml
@@ -0,0 +1,157 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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.test_apk:transforms
+ # While not a build, the build optimization works well for these tasks.
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ attributes:
+ build_platform: android
+ retrigger: true
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ run:
+ using: gradlew
+ use-caches: false
+ treeherder:
+ kind: test
+ worker-type: b-linux-medium-gcp
+ worker:
+ docker-image: {in-tree: android-components}
+ max-run-time: 7200
+
+jobs:
+ focus-debug:
+ description: Focus unit tests
+ attributes:
+ build-type: focus-debug
+ shipping-product: focus
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/focus-android"]
+ gradlew: ['clean', 'test']
+ dummy-secrets:
+ - content: "faketoken"
+ path: .adjust_token
+ treeherder:
+ platform: 'focus-android-all/opt'
+ symbol: focus-debug(T)
+ tier: 1
+ worker:
+ artifacts:
+ - name: public/reports/index.html
+ path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests/testFocusDebugUnitTest/index.html
+ type: file
+ - name: public/reports/test
+ path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests
+ type: directory
+
+ fenix-debug:
+ description: Fenix unit tests
+ attributes:
+ build-type: fenix-debug
+ shipping-product: fenix
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/fenix"]
+ - ['java', '-version']
+ gradlew: ['clean', 'testFenixDebugUnitTest']
+ treeherder:
+ platform: 'fenix-android-all/opt'
+ symbol: fenix-debug(T)
+ tier: 1
+ worker:
+ artifacts:
+ - name: public/reports/index.html
+ path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests/testFenixDebugUnitTest/index.html
+ type: file
+ - name: public/reports/test
+ path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests
+ type: directory
+ routes:
+ by-level:
+ '3':
+ - notify.slack-channel.G016BC5FUHJ.on-failed
+ 'default': []
+ scopes:
+ by-level:
+ '3':
+ - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed
+ - notify:slack-channel:G016BC5FUHJ
+ 'default': []
+ extra:
+ notify:
+ by-level:
+ '3':
+ slackBlocks: |
+ [
+ {
+ "type": "header",
+ "text": {
+ "type": "plain_text",
+ "text": "firefox-android :firefox: ${task.metadata.name} :x:\n "
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Owner*: ${task.metadata.owner}"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Source*: <${task.payload.env.GECKO_HEAD_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Test Summary*: <https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/reports/index.html|Results> :debug:"
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "context",
+ "elements": [
+ {
+ "type": "mrkdwn",
+ "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>"
+ }
+ ]
+ }
+ ]
+ 'default': {}
diff --git a/taskcluster/kinds/test-components/kind.yml b/taskcluster/kinds/test-components/kind.yml
new file mode 100644
index 0000000000..8f4675b076
--- /dev/null
+++ b/taskcluster/kinds/test-components/kind.yml
@@ -0,0 +1,89 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - android_taskgraph.transforms.ui_tests:transforms
+ # While not a build, the build optimization works well for these tasks.
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+
+job-defaults:
+ attributes:
+ build_platform: android
+ build-type: debug
+ retrigger: true
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ run:
+ # TODO Generate APKs in a build task instead
+ gradlew: ['clean', 'assembleGecko', 'assembleAndroidTest', 'assembleDebug']
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ secrets:
+ - name: project/mobile/firefox-android/android-components/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ using: gradlew
+ use-caches: false
+ treeherder:
+ kind: test
+ platform: 'AC-ui-test/opt'
+ tier: 2
+ worker-type: b-linux-medium-gcp
+ worker:
+ artifacts:
+ - name: public
+ path: /builds/worker/artifacts
+ type: directory
+ docker-image: {in-tree: android-ui-tests}
+ env:
+ GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
+ GOOGLE_PROJECT: moz-android-components-230120
+ max-run-time: 2400
+ optimization:
+ skip-unless-backstop: null
+
+
+jobs:
+ unit-browser-engine-gecko-nightly:
+ component: browser
+ description: 'Run unit tests on device for browser component'
+ treeherder:
+ symbol: 'ui-components'
+ ui-browser:
+ component: samples-browser
+ description: 'Run ui tests for browser sample'
+ treeherder:
+ symbol: 'ui-samples-browser'
+ ui-glean:
+ component: samples-glean
+ description: 'Run ui tests for glean sample'
+ treeherder:
+ symbol: 'ui-samples-glean'
+ android-feature-containers: {}
+ android-feature-pwa: {}
+ android-feature-share: {}
+ android-feature-sitepermissions: {}
+ android-feature-top-sites: {}
+ android-feature-logins: {}
+ android-feature-prompts: {}
+ android-support-ktx: {}
+ android-feature-downloads: {}
+ android-feature-recentlyclosed: {}
diff --git a/taskcluster/kinds/test/awsy.yml b/taskcluster/kinds/test/awsy.yml
new file mode 100644
index 0000000000..6ba85dcb82
--- /dev/null
+++ b/taskcluster/kinds/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-noscratch
+ 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/kinds/test/browsertime-desktop.yml b/taskcluster/kinds/test/browsertime-desktop.yml
new file mode 100644
index 0000000000..90bf76201c
--- /dev/null
+++ b/taskcluster/kinds/test/browsertime-desktop.yml
@@ -0,0 +1,973 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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:
+ - .*64.*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.*
+ 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-tp7:
+ <<: &tp7-defaults
+ description: Raptor (browsertime) tp7 page-load tests
+ limit-platforms:
+ by-app:
+ chrome:
+ - .*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: []
+ treeherder-symbol: Btime(tp7)
+ raptor:
+ apps: [firefox, chrome]
+ test: tp7
+ run-visual-metrics: true
+ subtests:
+ - tiktok
+ - openai
+ - samsung
+ - weather
+ - docomo
+ tier:
+ by-app:
+ firefox: 3
+ default: 3
+
+browsertime-benchmark:
+ description: Raptor (browsertime) Benchmark tests
+ raptor:
+ apps: [firefox, chrome, safari, custom-car]
+ subtests:
+ by-test-platform:
+ macosx1400.*shippable.*:
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ 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]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ - [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]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ - [speedometer, sp]
+ # - [speedometer3, sp3] Perma fails on osx 10.15.x machines (Bug 1809535)
+ - [stylebench, sb]
+ - [sunspider, ss]
+ # - [unity-webgl, ugl] Almost Perma failing on osx 10.15.x machines (Bug 1888398)
+ - [webaudio, wa]
+ custom-car:
+ - [speedometer, sp]
+ - [speedometer3, sp3]
+ - [motionmark-animometer-ramp, mm-ar]
+ - [motionmark-htmlsuite-ramp, mm-hr]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ chrome:
+ by-test-platform:
+ macosx1015.*shippable.*:
+ - ares6
+ - [assorted-dom, dom]
+ - [jetstream2, js2]
+ - [matrix-react-bench, mrb]
+ - [motionmark-animometer, mm-a]
+ - [motionmark-htmlsuite, mm-h]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ - [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]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ - [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]
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ - [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
+ motionmark-1-3: 3000
+ motionmark-htmlsuite-1-3: 3000
+ 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.*
+ custom-car:
+ - .*64.*shippable.*
+ default: []
+ raptor:
+ apps: [firefox, chrome]
+ 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/kinds/test/browsertime-mobile.yml b/taskcluster/kinds/test/browsertime-mobile.yml
new file mode 100644
index 0000000000..0ef0c0519e
--- /dev/null
+++ b/taskcluster/kinds/test/browsertime-mobile.yml
@@ -0,0 +1,519 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.*/.*:
+ upstream-task: signing-apk
+ name: public/build/target.arm64-v8a.apk
+ default:
+ upstream-task: signing-apk
+ name: public/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
+ dependencies:
+ by-app:
+ fenix:
+ signing-apk: signing-apk-fenix-nightly-simulation
+ default: {}
+
+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
+ # Bug 1884667 - Fresh profiles cause high frequency intermittents
+ - --conditioned-profile=settled
+ tier:
+ by-app:
+ geckoview: 1
+ fenix: 2
+ 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]
+ - bild-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: []
+ fenix:
+ by-variant:
+ geckoview-no-fission:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: [trunk-only]
+ default: []
+ 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: []
+ fenix:
+ 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-app:
+ fenix:
+ by-test-platform:
+ android-hw-a51.*:
+ - [youtube-playback-av1-sfr, ytp-av1-sfr]
+ - [youtube-playback-hfr, ytp-hfr]
+ - [youtube-playback-vp9-sfr, ytp-vp9-sfr]
+ # Bug 1699469 - Disabled until a crash is fixed.
+ # - [youtube-playback-widevine-h264-sfr, ytp-widevine-h264-sfr]
+ # - [youtube-playback-widevine-hfr, ytp-widevine-hfr]
+ default:
+ 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:
+ fenix:
+ by-test-platform:
+ android-hw-a51.*shippable.*: [mozilla-central]
+ default: []
+ 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]
+ - bild-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:
+ fenix:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: [trunk]
+ default: []
+ 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:
+ fenix:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: [trunk-only]
+ android-hw-p6.*shippable-qr.*: [mozilla-central]
+ android-hw-s21.*shippable-qr.*: [mozilla-central]
+ default: []
+ geckoview:
+ by-test-platform:
+ android-hw-a51.*shippable-qr.*: [trunk-only]
+ android-hw-p6.*shippable-qr.*: [mozilla-central]
+ android-hw-s21.*shippable-qr.*: [mozilla-central]
+ default: []
+ cstm-car-m: [mozilla-central]
+ chrome-m:
+ by-test-platform:
+ android-hw-p6.*shippable-qr.*: [mozilla-central]
+ android-hw-s21.*shippable-qr.*: [mozilla-central]
+ default: []
+ 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-motionmark-1-3:
+ description: Raptor (browsertime) Motionmark 1.3 benchmark tests
+ run-without-variant: false
+ raptor:
+ apps: [geckoview, fenix, chrome-m, cstm-car-m]
+ subtests:
+ - [motionmark-1-3, mm-1.3]
+ - [motionmark-htmlsuite-1-3, mm-h-1.3]
+ 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/kinds/test/compiled.yml b/taskcluster/kinds/test/compiled.yml
new file mode 100644
index 0000000000..f91ccd9970
--- /dev/null
+++ b/taskcluster/kinds/test/compiled.yml
@@ -0,0 +1,138 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: large-noscratch
+ run-on-projects:
+ by-variant:
+ 1proc:
+ by-test-platform:
+ .*android.*: built-projects
+ .*(devedition|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: 6
+ windows.*: 1
+ macosx.*/opt: 1
+ macosx.*/debug: 3
+ android.*/opt: 3
+ android-hw-.*-aarch64-qr/debug: 8
+ default: 6
+ max-run-time:
+ by-test-platform:
+ windows.*-ccov.*/.*: 1800
+ android-hw.*: 2400
+ 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:
+ by-test-platform:
+ android-.*/opt: 3
+ android-.*/debug: 6
+ 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/kinds/test/firefox-ui.yml b/taskcluster/kinds/test/firefox-ui.yml
new file mode 100644
index 0000000000..c45bb3d138
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/test/kind.yml b/taskcluster/kinds/test/kind.yml
new file mode 100644
index 0000000000..e9c2b1e5e9
--- /dev/null
+++ b/taskcluster/kinds/test/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.test:loader
+
+kind-dependencies:
+ - build
+ - build-signing
+ - signing-apk
+ - 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
+ use-python: default
+ 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
+ - linux64-hostutils
+ android-hw.*:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ - linux64-hostutils
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
diff --git a/taskcluster/kinds/test/marionette.yml b/taskcluster/kinds/test/marionette.yml
new file mode 100644
index 0000000000..d586a6cf24
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/test/misc.yml b/taskcluster/kinds/test/misc.yml
new file mode 100644
index 0000000000..8f1f93157c
--- /dev/null
+++ b/taskcluster/kinds/test/misc.yml
@@ -0,0 +1,272 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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", "geckoview-no-fission-ship"]
+ 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
+ geckoview-no-fission-ship: 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
+ - linux64-hostutils
+
+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
+ - linux64-hostutils
+
+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/kinds/test/mochitest.yml b/taskcluster/kinds/test/mochitest.yml
new file mode 100644
index 0000000000..91e44b5fe5
--- /dev/null
+++ b/taskcluster/kinds/test/mochitest.yml
@@ -0,0 +1,1164 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ - headless
+ - http3
+ - http2
+ - geckoview-fission-isolate-high-value
+ - geckoview-no-fission-ship
+ 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.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central']
+ 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: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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: []
+ geckoview-no-fission-ship:
+ 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
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*64.*: 2
+ default: default
+ default: default
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan-qr/opt: xlarge-noscratch # 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
+ - linux64-hostutils
+
+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
+ .*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.*-qr/debug: 16
+ linux.*64-asan-qr/opt: 16
+ linux.*64-tsan-qr/opt: 32
+ macosx.*64.*/opt: 10
+ windows11-32.*/opt: 10
+ windows.*-ccov.*/.*: 14
+ windows.*-asan-qr/opt: 14
+ .*/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
+ instance-size:
+ by-test-platform:
+ linux.*64-asan-qr/opt: xlarge-noscratch # runs out of memory frequently
+ 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.*(-shippable)?-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:
+ 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-noscratch # 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
+ - http3
+ run-on-projects:
+ by-variant:
+ a11y-checks:
+ 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.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central']
+ 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-noscratch # 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
+ - linux64-hostutils
+
+
+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.*: ['mozilla-central']
+ linux.*64(-shippable)?-qr/(opt|debug): ['mozilla-central']
+ 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.*: ['mozilla-central'] # 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-variant:
+ no-fission:
+ by-test-platform:
+ linux.*64.*: 2
+ default: default
+ default:
+ 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-noscratch # 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-noscratch # 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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:
+ windows11.*hw-ref.*: ['autoland', 'mozilla-central', 'mozilla-beta']
+ (macosx.*64)(-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-variant:
+ no-fission:
+ by-test-platform:
+ linux.*64.*: 2
+ default: default
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*64.*: 2
+ default: default
+ socketprocess+no-fission:
+ by-test-platform:
+ linux.*64.*: 2
+ default: default
+ default:
+ 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.*: []
+ # 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
+ mozharness:
+ mochitest-flavor: plain
+ extra-options:
+ by-test-platform:
+ macos.*:
+ - --setpref=gfx.webgpu.ignore-blocklist=true
+ default: []
+
+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
+ run-on-projects:
+ by-variant:
+ socketprocess_networking:
+ by-test-platform:
+ .*asan.*: []
+ .*ccov.*: []
+ linux.*64.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central']
+ 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/kinds/test/reftest.yml b/taskcluster/kinds/test/reftest.yml
new file mode 100644
index 0000000000..be4518e592
--- /dev/null
+++ b/taskcluster/kinds/test/reftest.yml
@@ -0,0 +1,275 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: 4
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*wayland/debug.*: []
+ default: built-projects
+ max-run-time: 3600
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default:
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default: default
+
+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: 16
+ 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:
+ - draw-snapshot
+ - geckoview-no-fission-ship
+ - 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:
+ draw-snapshot:
+ by-test-platform:
+ linux1804.*/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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ android.*: built-projects
+ default: []
+ geckoview-no-fission-ship:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android-em.*: 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
+ extra-options:
+ - --setpref=layers.acceleration.force-enabled=true
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default:
+ 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
diff --git a/taskcluster/kinds/test/talos.yml b/taskcluster/kinds/test/talos.yml
new file mode 100644
index 0000000000..68e2f094ad
--- /dev/null
+++ b/taskcluster/kinds/test/talos.yml
@@ -0,0 +1,817 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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]
+ windows11-64-2009-hw-ref-shippable.*: [trunk]
+ windows11(?!.*shippable).*: []
+ default: []
+ webrender-sw:
+ by-test-platform:
+ (linux1804|windows10|macosx1015)-64-shippable-qr.*: [trunk]
+ default: []
+ default:
+ by-test-platform:
+ windows.*-32.*: []
+ (linux|windows10-64|windows11|macos)(?!.*shippable).*: []
+ (linux|windows10-64|windows11|macos)(?!.*-qr).*: []
+ default: [trunk]
+ max-run-time: 2100
+ mozharness:
+ extra-options:
+ by-test-platform:
+ windows11-64-2009-hw-ref.*:
+ - --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
+
+talos-pdfpaint:
+ description: Talos pdfpaint
+ try-name: pdfpaint
+ treeherder-symbol: T(pdfpaint)
+ 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]
+ max-run-time: 2100
+ mozharness:
+ extra-options:
+ - --suite=pdfpaint
+ fetches:
+ toolchain:
+ by-test-platform:
+ win.*:
+ - win32-minidump-stackwalk
+ - win32-fix-stacks
+ - talos-pdfs
+ macosx1015.*:
+ - macosx64-minidump-stackwalk
+ - macosx64-fix-stacks
+ - talos-pdfs
+ default:
+ - linux64-minidump-stackwalk
+ - linux64-fix-stacks
+ - talos-pdfs
diff --git a/taskcluster/kinds/test/test-platforms.yml b/taskcluster/kinds/test/test-platforms.yml
new file mode 100644
index 0000000000..b957b8a4db
--- /dev/null
+++ b/taskcluster/kinds/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
+ - 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
+ - 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
+ - web-platform-tests
+
+linux1804-64-asan-qr/opt:
+ build-platform: linux64-asan/opt
+ test-sets:
+ - linux1804-tests
+ - web-platform-tests
+
+linux1804-64-tsan-qr/opt:
+ build-platform: linux64-tsan/opt
+ test-sets:
+ - linux1804-tests
+ - web-platform-tests
+
+linux1804-64-ccov-qr/opt:
+ build-platform: linux64-ccov/opt
+ test-sets:
+ - ccov-code-coverage-tests
+ - linux1804-tests
+ - linux1804-ccov-tests
+ - 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
+ - webgpu
+
+linux2204-64-wayland/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - linux2204-wayland-tests
+ - web-platform-tests
+ - webgpu
+
+linux2204-64-wayland-shippable/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - linux2204-wayland-tests
+ - web-platform-tests
+ - webgpu
+
+##
+# 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
+
+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:
+ - talos-ref-hw
+ - 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:
+ - talos-ref-hw
+ - 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
+ - webgpu
+ - 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
+ - webgpu
+ - 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
+ - webgpu
+
+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
+ - webgpu
+
+macosx1015-64-qr/opt:
+ build-platform: macosx64/opt
+ test-sets:
+ - desktop-screenshot-capture
+ - macosx1015-64-qr-tests
+ - web-platform-tests
+ - web-platform-tests-backlog
+ - webgpu
+ - browsertime
+
+macosx1015-64-qr/debug:
+ build-platform: macosx64/debug
+ test-sets:
+ - macosx1015-64-qr-tests
+ - web-platform-tests
+ - webgpu
+
+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/kinds/test/test-sets.yml b/taskcluster/kinds/test/test-sets.yml
new file mode 100644
index 0000000000..ffc18b2d66
--- /dev/null
+++ b/taskcluster/kinds/test/test-sets.yml
@@ -0,0 +1,497 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+webgpu:
+ - mochitest-webgpu
+ - web-platform-tests-webgpu
+ - web-platform-tests-webgpu-backlog
+
+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-canvas
+
+web-platform-tests-backlog:
+ - web-platform-tests-backlog
+ - web-platform-tests-reftest-backlog
+
+mochitest-devtools-chrome:
+ - mochitest-devtools-chrome
+
+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-pdfpaint
+ # - 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-tp7
+ - 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
+ - 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
+ - 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
+ - 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-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
+ - 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
+ # - 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-pdfpaint
+ # - 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-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
+ - 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-pdfpaint
+ # - 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
+ - browsertime-benchmark-motionmark-1-3
+
+android-hw-browsertime-profiling:
+ - browsertime-tp6m-profiling
+
+android-hw-speedometer-tests:
+ - browsertime-benchmark-speedometer-mobile
+ - browsertime-benchmark-speedometer3-mobile
diff --git a/taskcluster/kinds/test/variants.yml b/taskcluster/kinds/test/variants.yml
new file mode 100644
index 0000000000..4914982895
--- /dev/null
+++ b/taskcluster/kinds/test/variants.yml
@@ -0,0 +1,436 @@
+---
+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
+ when:
+ $eval: '(
+ "linux" in task["test-platform"]
+ && (
+ "mochitest-plain" in task["try-name"]
+ || "marionette" in task["try-name"]
+ )
+ )
+ || "web-platform-tests-wdspec" == task["try-name"]'
+ merge:
+ mozharness:
+ extra-options:
+ - "--headless"
+
+a11y-checks:
+ description: "{description} with accessibility checks enabled"
+ component: "Core::Disability Access APIs"
+ expiration: "2024-09-01"
+ suffix: "a11y-checks"
+ mozinfo: "a11y_checks"
+ replace:
+ tier: 2
+ when:
+ $eval: '(
+ "linux" in task["test-platform"]
+ && "opt" in task["test-platform"]
+ && !(
+ "asan" in task["test-platform"]
+ || "tsan" in task["test-platform"]
+ || "ccov" in task["test-platform"]
+ )
+ ) && (
+ "mochitest-devtools-chrome" == task["try-name"]
+ || "mochitest-browser-chrome" == task["try-name"]
+ )'
+ merge:
+ mozharness:
+ extra-options:
+ - "--enable-a11y-checks"
+
+aab:
+ description: "{description} with aab test_runner"
+ component: "GeckoView::General"
+ expiration: "2024-09-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
+ - linux64-hostutils
+ replace:
+ target: "geckoview-test_runner.aab"
+
+geckoview-no-fission:
+ description: "{description} without fission enabled"
+ component: "GeckoView::Sandboxing"
+ expiration: "2024-09-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-09-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-09-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-09-01"
+ suffix: "nofis"
+ mozinfo: "fission"
+ when:
+ $eval: '
+ "linux" in task["test-platform"]
+ || "android" in task["test-platform"]
+ '
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-fission"
+
+geckoview-no-fission-ship:
+ description: "{description} with fission disabled and ship enabled"
+ component: "GeckoView::Sandboxing"
+ expiration: "2024-09-01"
+ suffix: "nofis-ship"
+ when:
+ <<: *gv_e10s_filter
+ merge:
+ mozharness:
+ extra-options:
+ - "--disable-fission"
+ - "--setpref=fission.disableSessionHistoryInParent=false"
+
+xorigin:
+ description: "{description} with cross-origin"
+ component: "Core::DOM: Content Processes"
+ expiration: "never"
+ suffix: "xorig"
+ mozinfo: "xorigin"
+ replace:
+ e10s: true
+ when:
+ $eval: '"mochitest-plain" in task["try-name"]'
+ 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-09-01"
+ suffix: "condprof"
+ mozinfo: "condprof"
+ when:
+ $eval: '
+ (
+ "linux" in task["test-platform"]
+ || "windows" in task["test-platform"]
+ ) && (
+ "opt" in task["test-platform"]
+ && !(
+ "asan" in task["test-platform"]
+ || "tsan" in task["test-platform"]
+ || "ccov" in task["test-platform"]
+ )
+ ) && (
+ "mochitest-plain" == task["try-name"]
+ || "xpcshell" == task["try-name"]
+ )'
+ 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"
+ when:
+ $eval: '"mochitest-media" in task["try-name"]'
+ 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"
+ when:
+ $eval: '
+ (
+ "linux" in task["test-platform"]
+ || "windows" in task["test-platform"]
+ || "macosx" in task["test-platform"]
+ ) && (
+ "mochitest" in task["try-name"]
+ || "xpcshell" == task["try-name"]
+ )'
+ 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-09-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-09-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-09-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-09-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: "never"
+ 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-09-01"
+ suffix: "gli"
+ merge:
+ mozharness:
+ extra-options:
+ - "--setpref=webgl.out-of-process=true"
+ - "--setpref=security.sandbox.content.headless=true"
+
+wmf-media-engine:
+ description: "{description} with Windows Media Foundation media engine enabled"
+ component: "Core::Audio/Video: Playback"
+ expiration: "2024-10-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"
+ - "--setpref=media.wmf.media-engine.bypass-gfx-blocklist=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"
+ when:
+ $eval: '
+ "windows" in task["test-platform"]
+ || "macosx" in task["test-platform"]
+ '
+ 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"]
+ )
+ '
+ replace:
+ mozharness:
+ extra-options:
+ - "--variant=msix"
+ - "--installer-path installer.msix"
+
+http3:
+ description: "{description} with http3 server"
+ component: "Core::Networking"
+ expiration: "2024-09-01"
+ suffix: "http3"
+ mozinfo: "http3"
+ when:
+ $eval: '(
+ "linux" in task["test-platform"]
+ && "debug" in task["test-platform"]
+ ) && (
+ "mochitest-plain" == task["try-name"]
+ || "mochitest-devtools-chrome" == task["try-name"]
+ )'
+ merge:
+ mozharness:
+ extra-options:
+ - "--use-http3-server"
+
+http2:
+ description: "{description} with http2 server"
+ component: "Core::Networking"
+ expiration: "2024-09-01"
+ suffix: "http2"
+ mozinfo: "http2"
+ when:
+ $eval: '(
+ "linux" in task["test-platform"]
+ && "debug" in task["test-platform"]
+ )
+ && "mochitest-plain" == task["try-name"]
+ '
+ merge:
+ mozharness:
+ extra-options:
+ - "--use-http2-server"
+
+draw-snapshot:
+ description: "{description} with draw snapshot"
+ component: "Core::Graphics"
+ suffix: "s"
+ mozinfo: "snapshot"
+ expiration: "never"
+ when:
+ $eval: '(
+ "linux" in task["test-platform"]
+ && "debug" in task["test-platform"]
+ )
+ && "reftest" == task["try-name"]
+ '
+ replace:
+ virtualization: virtual
+ mozharness:
+ extra-options:
+ - "--setpref=reftest.use-draw-snapshot=true"
diff --git a/taskcluster/kinds/test/web-platform.yml b/taskcluster/kinds/test/web-platform.yml
new file mode 100644
index 0000000000..b4cf3a732b
--- /dev/null
+++ b/taskcluster/kinds/test/web-platform.yml
@@ -0,0 +1,639 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-noscratch
+ 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-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default:
+ 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
+ - geckoview-no-fission-ship
+ run-on-projects:
+ by-variant:
+ geckoview-no-fission-ship:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ default: built-projects
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default:
+ 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:
+ android.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914
+ macos.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913
+ linux2204.*-64.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912
+ windows.*-64.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849911
+ default: 2
+ # 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: 1
+ max-run-time:
+ by-test-platform:
+ .*/debug: 2700 # 45m
+ default: 1800 # 30m
+ variants: [] # We don't need sw or nofis testing.
+ run-on-projects:
+ by-test-platform:
+ android.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1836811
+ .*-wayland/debug.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1864700
+ default: ['trunk']
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --skip-implementation-status=backlog
+ - --skip-implementation-status=not-implementing
+ - --default-exclude
+ - --tag=webgpu
+ - --exclude-tag=canvas
+
+web-platform-tests-webgpu-backlog:
+ description: "Web platform WebGPU test run (backlog)"
+ suite: web-platform-tests
+ treeherder-symbol: W(webgpu-backlog)
+ virtualization: virtual-with-gpu
+ tier: 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.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1836811
+ .*-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
+ - --skip-implementation-status=implementing
+ - --skip-implementation-status=not-implementing
+ - --backlog
+ - --setpref=gfx.webgpu.ignore-blocklist=true
+ default:
+ - --test-type=testharness
+ - --default-exclude
+ - --tag=webgpu
+ - --exclude-tag=canvas
+ - --skip-implementation-status=implementing
+ - --skip-implementation-status=not-implementing
+ - --backlog
+
+web-platform-tests-canvas:
+ description: "Web platform Canvas test run"
+ suite: web-platform-tests
+ treeherder-symbol: W(canvas)
+ virtualization: virtual-with-gpu
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default:
+ 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
+ run-on-projects:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android.*: built-projects
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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.*/.*: 6
+ .*-tsan.*/.*: 8
+ default: 5
+ mozharness:
+ extra-options:
+ by-test-platform:
+ android-em-7.*:
+ - --test-type=wdspec
+ - --setpref=gfx.canvas.accelerated=false
+ default:
+ - --test-type=wdspec
+ variants:
+ - no-fission
+ - headless
+ run-on-projects:
+ by-variant:
+ headless:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ default: built-projects
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ .*wayland.*: []
+ default: built-projects
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default: 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
+ - linux64-hostutils
+ 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ default: []
+ no-fission:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ android.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: []
+ android-em-7.0-x86_64-qr/debug: built-projects
+ default: built-projects
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default: default
+
+web-platform-tests-print-reftest:
+ description: "Web platform print-reftest run"
+ schedules-component: web-platform-tests-print-reftest
+ treeherder-symbol: W(Wp)
+ chunks: 1
+ test-manifest-loader: null # don't load tests in the taskgraph
+ tier:
+ by-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ webrender-sw+no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default: 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: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ default: []
+ no-fission:
+ by-test-platform:
+ linux1804-64-qr/debug: ['mozilla-central']
+ linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central']
+ 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/kinds/test/xpcshell.yml b/taskcluster/kinds/test/xpcshell.yml
new file mode 100644
index 0000000000..7b417e869b
--- /dev/null
+++ b/taskcluster/kinds/test/xpcshell.yml
@@ -0,0 +1,195 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: 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
+ - geckoview-no-fission-ship
+ instance-size:
+ by-variant:
+ conditioned_profile: large
+ default: large-noscratch
+ 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.*: ['mozilla-central']
+ default: []
+ socketprocess_networking:
+ by-test-platform:
+ macosx1015.*: ['trunk'] # All 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.*: ['mozilla-central']
+ default: []
+ msix:
+ by-test-platform:
+ windows11-64-2009(-shippable)?-qr/opt: built-projects
+ windows11-64-2009-qr/debug: built-projects
+ default: []
+ geckoview-no-fission-ship:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ android-em.*: built-projects
+ default: []
+ default:
+ by-test-platform:
+ android.*: built-projects
+ .*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: 10
+ (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-variant:
+ no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ socketprocess_networking+no-fission:
+ by-test-platform:
+ linux.*: 2
+ default: default
+ default:
+ 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
+ - linux64-hostutils
+
+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/kinds/toolchain/android.yml b/taskcluster/kinds/toolchain/android.yml
new file mode 100644
index 0000000000..333aa868fa
--- /dev/null
+++ b/taskcluster/kinds/toolchain/android.yml
@@ -0,0 +1,252 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.11+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"
+ ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux"
+ max-run-time: 2700
+ 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'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt'
+ - 'mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt'
+ - 'mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt'
+ 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'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt'
+ 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/kinds/toolchain/cargo-vet.yml b/taskcluster/kinds/toolchain/cargo-vet.yml
new file mode 100644
index 0000000000..3f1cb9756a
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/cbindgen.yml b/taskcluster/kinds/toolchain/cbindgen.yml
new file mode 100644
index 0000000000..69d34b6f3b
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/clang-tidy.yml b/taskcluster/kinds/toolchain/clang-tidy.yml
new file mode 100644
index 0000000000..02d089eca3
--- /dev/null
+++ b/taskcluster/kinds/toolchain/clang-tidy.yml
@@ -0,0 +1,128 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+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
+ - win64-libxml2
+
+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/kinds/toolchain/clang.yml b/taskcluster/kinds/toolchain/clang.yml
new file mode 100644
index 0000000000..a9cf04e0b9
--- /dev/null
+++ b/taskcluster/kinds/toolchain/clang.yml
@@ -0,0 +1,1284 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-libxml2
+
+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-libxml2
+
+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-libxml2
+
+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-libxml2
+
+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-libxml2
+
+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-libxml2
+
+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/kinds/toolchain/compiler-rt.yml b/taskcluster/kinds/toolchain/compiler-rt.yml
new file mode 100644
index 0000000000..631024fbf9
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/dist-toolchains.yml b/taskcluster/kinds/toolchain/dist-toolchains.yml
new file mode 100644
index 0000000000..31b60918e6
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/dump-syms.yml b/taskcluster/kinds/toolchain/dump-syms.yml
new file mode 100644
index 0000000000..05aee5e352
--- /dev/null
+++ b/taskcluster/kinds/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
+ - 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
+ - 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
+ - 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
+ - vs-toolchain
diff --git a/taskcluster/kinds/toolchain/fix-stacks.yml b/taskcluster/kinds/toolchain/fix-stacks.yml
new file mode 100644
index 0000000000..e11bf0b166
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/gcc.yml b/taskcluster/kinds/toolchain/gcc.yml
new file mode 100644
index 0000000000..2a09c37e6c
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/geckodriver.yml b/taskcluster/kinds/toolchain/geckodriver.yml
new file mode 100644
index 0000000000..252befa3fb
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/gn.yml b/taskcluster/kinds/toolchain/gn.yml
new file mode 100644
index 0000000000..d12b0f19c5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/grcov.yml b/taskcluster/kinds/toolchain/grcov.yml
new file mode 100644
index 0000000000..15fed68732
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/hostutils.yml b/taskcluster/kinds/toolchain/hostutils.yml
new file mode 100644
index 0000000000..d9974e917a
--- /dev/null
+++ b/taskcluster/kinds/toolchain/hostutils.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/.
+---
+job-defaults:
+ description: "hostutils toolchain build"
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ run:
+ using: toolchain-script
+ script: get-hostutils.sh
+ toolchain-artifact: public/build/hostutils.tar.zst
+
+linux64-hostutils:
+ treeherder:
+ symbol: TL(hostutils)
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: testing/config/tooltool-manifests/linux64/hostutils.manifest
+ run:
+ resources:
+ - testing/config/tooltool-manifests/linux64/hostutils.manifest
diff --git a/taskcluster/kinds/toolchain/kind.yml b/taskcluster/kinds/toolchain/kind.yml
new file mode 100644
index 0000000000..524bb20670
--- /dev/null
+++ b/taskcluster/kinds/toolchain/kind.yml
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: 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
+ - hostutils.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/kinds/toolchain/libunwind.yml b/taskcluster/kinds/toolchain/libunwind.yml
new file mode 100644
index 0000000000..5a1972f3f6
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/llvm-symbolizer.yml b/taskcluster/kinds/toolchain/llvm-symbolizer.yml
new file mode 100644
index 0000000000..11b63397c2
--- /dev/null
+++ b/taskcluster/kinds/toolchain/llvm-symbolizer.yml
@@ -0,0 +1,361 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ - build/build-clang/llvm-symbolizer-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-17.json
+ resources:
+ - build/build-clang/clang-17.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-18.json
+ resources:
+ - build/build-clang/clang-18.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - build/build-clang/llvm-symbolizer-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
+ - build/build-clang/llvm-symbolizer-trunk.json
+ resources:
+ - build/build-clang/clang-trunk.json
+ - build/build-clang/llvm-symbolizer-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/kinds/toolchain/macos-sdk.yml b/taskcluster/kinds/toolchain/macos-sdk.yml
new file mode 100644
index 0000000000..194a1ee20a
--- /dev/null
+++ b/taskcluster/kinds/toolchain/macos-sdk.yml
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+job-defaults:
+ 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.4:
+ description: "MacOSX14.4 SDK"
+ treeherder:
+ symbol: TM(sdk14.4)
+ run:
+ arguments:
+ - https://swcdn.apple.com/content/downloads/14/48/052-59890-A_I0F5YGAY0Y/p9n40hio7892gou31o1v031ng6fnm9sb3c/CLTools_macOSNMOS_SDK.pkg
+ - a4e05d2a051027620c86f72694da126a2ceed59b8740270426c4ca3adb38e16fe981b536a373a7f0cdcc84bbe9d9149608ccd03967dbd94262548ccadbfa0f5d
+ - Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk
+ toolchain-artifact: project/gecko/mac-sdk/MacOSX14.4.sdk.tar.zst
+ toolchain-alias:
+ - macosx64-sdk
+ - macosx64-sdk-toolchain
+ - MacOSX14.4.sdk
+
+ios-sdk-17.4:
+ description: "iPhoneOS17.4 SDK"
+ treeherder:
+ symbol: TM(ios17.4)
+ # Because it's using an internal tooltool artifact, it can't be used as a local-toolchain for
+ # bootstrap. But we still want to use the same script as local-toolchains.
+ attributes:
+ local-toolchain: false
+ run:
+ script: private_local_toolchain.sh
+ arguments:
+ - unpack-sdk.py
+ - http://taskcluster/tooltool.mozilla-releng.net/sha512/7d9f1f1e0d4963fbafc8ec20ee604665e99d66699db2515f388b3b061aaab83349815e1ef862922f4f46ffbe1ac2d86fb00701802c7a9994c74f6e1d32894c34
+ - 7d9f1f1e0d4963fbafc8ec20ee604665e99d66699db2515f388b3b061aaab83349815e1ef862922f4f46ffbe1ac2d86fb00701802c7a9994c74f6e1d32894c34
+ - Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
+ toolchain-artifact: project/gecko/mac-sdk/iPhoneOS17.4.sdk.tar.zst
+ toolchain-alias: ios-sdk
+
+ios-sim-sdk-17.4:
+ description: "iPhoneSimulator17.4 SDK"
+ treeherder:
+ symbol: TM(ios-sim-17.4)
+ # Because it's using an internal tooltool artifact, it can't be used as a local-toolchain for
+ # bootstrap. But we still want to use the same script as local-toolchains.
+ attributes:
+ local-toolchain: false
+ run:
+ script: private_local_toolchain.sh
+ arguments:
+ - unpack-sdk.py
+ - http://taskcluster/tooltool.mozilla-releng.net/sha512/7d9f1f1e0d4963fbafc8ec20ee604665e99d66699db2515f388b3b061aaab83349815e1ef862922f4f46ffbe1ac2d86fb00701802c7a9994c74f6e1d32894c34
+ - 7d9f1f1e0d4963fbafc8ec20ee604665e99d66699db2515f388b3b061aaab83349815e1ef862922f4f46ffbe1ac2d86fb00701802c7a9994c74f6e1d32894c34
+ - Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
+ toolchain-artifact: project/gecko/mac-sdk/iPhoneSimulator17.4.sdk.tar.zst
+ toolchain-alias: ios-sim-sdk
diff --git a/taskcluster/kinds/toolchain/mingw.yml b/taskcluster/kinds/toolchain/mingw.yml
new file mode 100644
index 0000000000..a14413669f
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/minidump-stackwalk.yml b/taskcluster/kinds/toolchain/minidump-stackwalk.yml
new file mode 100644
index 0000000000..f0f9b3e70c
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/misc.yml b/taskcluster/kinds/toolchain/misc.yml
new file mode 100644
index 0000000000..63bd1f3c02
--- /dev/null
+++ b/taskcluster/kinds/toolchain/misc.yml
@@ -0,0 +1,622 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+ resources:
+ - taskcluster/scripts/misc/cctools.patch
+ 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: 40000
+ use-python: default
+ 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.4
+
+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-python: default
+ 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.4
+
+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-python: default
+ 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-python: default
+ 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-python: default
+ 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
+
+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-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
+ toolchain-alias:
+ - vs
+ - vs-toolchain
+
+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
+
+win64-libxml2:
+ description: "libxml2 toolchain build"
+ treeherder:
+ symbol: TW64(libxml2)
+ run:
+ script: build-libxml2.sh
+ toolchain-artifact: public/build/libxml2.tar.zst
+ fetches:
+ fetch:
+ - libxml2
+ toolchain:
+ - linux64-clang-toolchain
+ - vs-toolchain
+
+talos-pdfs:
+ description: "Gathers all the PDFs needed for the pdfpaint test"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(talos-pdfs)
+ worker:
+ max-run-time: 3600
+ run:
+ script: run-fetch-talos-pdfs.sh
+ sparse-profile: null
+ resources:
+ - 'taskcluster/scripts/misc/fetch-talos-pdfs.py'
+ toolchain-artifact: public/build/talos-pdfs.tar.zst
+ fetches:
+ fetch:
+ - mozilla-pdf.js
diff --git a/taskcluster/kinds/toolchain/nasm.yml b/taskcluster/kinds/toolchain/nasm.yml
new file mode 100644
index 0000000000..866aa5b0f6
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/node.yml b/taskcluster/kinds/toolchain/node.yml
new file mode 100644
index 0000000000..6ab3511aab
--- /dev/null
+++ b/taskcluster/kinds/toolchain/node.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:
+ 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-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
+ toolchain-alias:
+ - linux64-node
+ fetches:
+ fetch:
+ - nodejs-18-source
+ toolchain:
+ - linux64-gcc-11
+ - linux64-toolchain-sysroot
+
+macosx64-node-18:
+ treeherder:
+ symbol: TM(node-18)
+ run:
+ toolchain-alias:
+ - macosx64-node
+
+ fetches:
+ fetch:
+ - nodejs-18-macosx64
+
+macosx64-aarch64-node-18:
+ treeherder:
+ symbol: TM(node-18-arm64)
+ run:
+ toolchain-alias:
+ - macosx64-aarch64-node
+ fetches:
+ fetch:
+ - nodejs-18-macosx64-arm64
+
+win64-node-18:
+ treeherder:
+ symbol: TW64(node-18)
+ run:
+ toolchain-alias:
+ - win64-node
+ fetches:
+ fetch:
+ - nodejs-18-win64
+
+win32-node-18:
+ treeherder:
+ symbol: TW32(node-18)
+ run:
+ toolchain-alias:
+ - win32-node
+ fetches:
+ fetch:
+ - nodejs-18-win32
diff --git a/taskcluster/kinds/toolchain/pkgconf.yml b/taskcluster/kinds/toolchain/pkgconf.yml
new file mode 100644
index 0000000000..c97ead7acc
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/python.yml b/taskcluster/kinds/toolchain/python.yml
new file mode 100644
index 0000000000..e610ee6e4e
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/resourcemonitor.yml b/taskcluster/kinds/toolchain/resourcemonitor.yml
new file mode 100644
index 0000000000..f4ef9a41c4
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/rust-size.yml b/taskcluster/kinds/toolchain/rust-size.yml
new file mode 100644
index 0000000000..09963589a6
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/rust.yml b/taskcluster/kinds/toolchain/rust.yml
new file mode 100644
index 0000000000..e1e2778f68
--- /dev/null
+++ b/taskcluster/kinds/toolchain/rust.yml
@@ -0,0 +1,233 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.76:
+ treeherder:
+ symbol: TL(rust-1.76)
+ run:
+ arguments: [
+ '--channel', '1.76.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.77:
+ treeherder:
+ symbol: TL(rust)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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.77.2
+ toolchain:
+ - linux64-clang-toolchain
+ - linux64-toolchain-sysroot
+
+linux64-rust-cross-1.77:
+ description: "rust repack with macos and windows cross support"
+ treeherder:
+ symbol: TL(rust-cross)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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.77:
+ description: "rust repack with static linking support"
+ treeherder:
+ symbol: TL(rust-static)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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.77:
+ description: "rust repack with macos-cross support"
+ treeherder:
+ symbol: TL(rust-macos)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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-ios-1.77:
+ description: "rust repack with ios-cross support"
+ treeherder:
+ symbol: TL(rust-ios)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--host', 'x86_64-unknown-linux-gnu',
+ '--target', 'x86_64-unknown-linux-gnu',
+ '--target', 'aarch64-apple-ios',
+ '--target', 'aarch64-apple-ios-sim',
+ ]
+ toolchain-alias: linux64-rust-ios
+
+linux64-rust-android-1.77:
+ description: "rust repack with android-cross support"
+ treeherder:
+ symbol: TL(rust-android)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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.77:
+ description: "rust repack with windows-cross support"
+ treeherder:
+ symbol: TL(rust-win)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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.77:
+ treeherder:
+ symbol: TW64(rust)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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.77:
+ treeherder:
+ symbol: TM(rust)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--host', 'x86_64-apple-darwin',
+ '--target', 'x86_64-apple-darwin',
+ ]
+ toolchain-alias: macosx64-rust
+
+mingw32-rust-1.77:
+ treeherder:
+ symbol: TMW(rust)
+ run:
+ arguments: [
+ '--channel', '1.77.2',
+ '--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/kinds/toolchain/sccache.yml b/taskcluster/kinds/toolchain/sccache.yml
new file mode 100644
index 0000000000..6fa9ab46a5
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/toolchain/sysroot.yml b/taskcluster/kinds/toolchain/sysroot.yml
new file mode 100644
index 0000000000..e4479d16e0
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/trigger-comm-central/kind.yml b/taskcluster/kinds/trigger-comm-central/kind.yml
new file mode 100644
index 0000000000..0b6dfb2c64
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/ui-test-apk/kind.yml b/taskcluster/kinds/ui-test-apk/kind.yml
new file mode 100644
index 0000000000..d80d5139b7
--- /dev/null
+++ b/taskcluster/kinds/ui-test-apk/kind.yml
@@ -0,0 +1,354 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy 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.test_apk:transforms
+ # While not a build, the build optimization works well for these tasks.
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - signing-apk
+
+job-defaults:
+ attributes:
+ build_platform: android
+ build-type: debug
+ retrigger: true
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ optimization:
+ skip-unless-backstop: null
+ worker-type: b-linux-medium-gcp
+ worker:
+ docker-image: {in-tree: android-ui-tests}
+ max-run-time: 7200
+ env:
+ GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
+ artifacts:
+ - name: public
+ path: /builds/worker/artifacts
+ type: directory
+ retry-exit-status: [20]
+ treeherder:
+ kind: test
+ tier: 2
+ run:
+ use-caches: false
+ using: run-commands
+ dummy-secrets:
+ - content: "faketoken"
+ path: .adjust_token
+ routes:
+ by-level:
+ '3':
+ - notify.slack-channel.G016BC5FUHJ.on-failed
+ 'default': []
+ scopes:
+ by-level:
+ '3':
+ - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed
+ - notify:slack-channel:G016BC5FUHJ
+ 'default': []
+ extra:
+ notify:
+ by-level:
+ '3':
+ slackText: 'https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId} | ${task.metadata.name} | ${task.metadata.source}'
+ slackBlocks: |
+ [
+ {
+ "type": "header",
+ "text": {
+ "type": "plain_text",
+ "text": "firefox-android :firefox: ${task.metadata.name} :x:\n "
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Owner*: ${task.metadata.owner}"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Source*: <${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "context",
+ "elements": [
+ {
+ "type": "mrkdwn",
+ "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>"
+ }
+ ]
+ }
+ ]
+ 'default': {}
+
+jobs:
+ focus-arm-debug:
+ attributes:
+ build-type: focus-debug-firebase
+ shipping-product: focus
+ description: 'Focus UI tests with firebase'
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk]
+ dependencies:
+ # key is arbitrary, the value corresponds to <kind name>-<build-name>
+ signed-apk-debug-apk: signing-apk-focus-debug
+ signed-apk-android-test: signing-apk-focus-android-test-debug
+ treeherder:
+ platform: 'focus-ui-test/opt'
+ symbol: focus-debug(ui-test-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: 'moz-focus-android'
+ focus-arm-nightly:
+ attributes:
+ build-type: focus-nightly-firebase
+ shipping-product: focus
+ description: 'UI tests on Nightly with firebase'
+ dependencies:
+ signed-apk-debug-apk: signing-apk-focus-nightly-firebase
+ signed-apk-android-test: signing-apk-focus-android-test-nightly
+ run-on-projects: [trunk]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'focus-ui-test/opt'
+ symbol: focus-nightly(ui-test-arm-nightly)
+ worker:
+ env:
+ GOOGLE_PROJECT: 'moz-focus-android'
+ focus-arm-beta:
+ attributes:
+ build-type: focus-beta-firebase
+ shipping-product: focus
+ description: 'UI tests on Beta with firebase'
+ dependencies:
+ signed-apk-debug-apk: signing-apk-focus-beta-firebase
+ signed-apk-android-test: signing-apk-focus-android-test-beta
+ run-on-projects: [release]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'focus-ui-test/opt'
+ symbol: focus-beta(ui-test-arm-beta)
+ worker:
+ env:
+ GOOGLE_PROJECT: 'moz-focus-android'
+ fenix-arm-debug:
+ attributes:
+ build-type: fenix-debug-firebase
+ shipping-product: fenix
+ description: Test Fenix
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ signed-apk-android-test: signing-apk-fenix-android-test-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(ui-test-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ screenshots-arm:
+ attributes:
+ build-type: fenix-debug-screenshots
+ shipping-product: fenix
+ screenshots: true
+ cron: true
+ description: Run UI screenshots tests to keep them up to date
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ signed-apk-android-test: signing-apk-fenix-android-test-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-screenshots-tests, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(screenshots-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ fenix-arm-beta:
+ attributes:
+ build-type: fenix-beta-firebase
+ shipping-product: fenix
+ description: Test Fenix
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-beta-firebase
+ signed-apk-android-test: signing-apk-fenix-android-test-beta
+ run-on-projects: [release]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-beta(ui-test-arm-beta)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ fenix-arm-nightly:
+ attributes:
+ build-type: fenix-nightly-firebase
+ shipping-product: fenix
+ description: Test Fenix
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-nightly-firebase
+ signed-apk-android-test: signing-apk-fenix-android-test-nightly
+ run-on-projects: [trunk]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-nightly(ui-test-arm-nightly)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ fenix-legacy-arm:
+ attributes:
+ build-type: fenix-legacy
+ legacy: true
+ shipping-product: fenix
+ description: Run select UI tests on legacy Android devices and API levels
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ signed-apk-android-test: signing-apk-fenix-android-test-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-legacy-api-tests, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(legacy-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+
+ fenix-robo-arm-debug:
+ attributes:
+ build-type: fenix-robo
+ shipping-product: fenix
+ description: Run Robo test on ARM devices
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-robo-test, app.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(robo-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
diff --git a/taskcluster/kinds/updatebot/kind.yml b/taskcluster/kinds/updatebot/kind.yml
new file mode 100644
index 0000000000..8b6ed560a1
--- /dev/null
+++ b/taskcluster/kinds/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: 4500
+ 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", "fbraun@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: 4500
+ 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/kinds/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/kinds/updatebot/moz.build b/taskcluster/kinds/updatebot/moz.build
new file mode 100644
index 0000000000..315dc32600
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/updatebot/tooltool-manifests/updatebot.manifest b/taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest
new file mode 100644
index 0000000000..f284d80914
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/upload-generated-sources-dummy/kind.yml b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml
new file mode 100644
index 0000000000..56e6762839
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/upload-generated-sources/kind.yml b/taskcluster/kinds/upload-generated-sources/kind.yml
new file mode 100644
index 0000000000..8ae78b0b28
--- /dev/null
+++ b/taskcluster/kinds/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: b-linux-medium-gcp
+ 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/kinds/upload-symbols-dummy/kind.yml b/taskcluster/kinds/upload-symbols-dummy/kind.yml
new file mode 100644
index 0000000000..d9202ef373
--- /dev/null
+++ b/taskcluster/kinds/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/kinds/upload-symbols/kind.yml b/taskcluster/kinds/upload-symbols/kind.yml
new file mode 100644
index 0000000000..cf6875520a
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+ 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/kinds/valgrind/kind.yml b/taskcluster/kinds/valgrind/kind.yml
new file mode 100644
index 0000000000..068fd572a1
--- /dev/null
+++ b/taskcluster/kinds/valgrind/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
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ use-python: default
+
+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/kinds/webrender/kind.yml b/taskcluster/kinds/webrender/kind.yml
new file mode 100644
index 0000000000..9443a096c1
--- /dev/null
+++ b/taskcluster/kinds/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-python: default
+
+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.vs2022'
+ - '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/**'