diff options
Diffstat (limited to '')
-rw-r--r-- | taskcluster/ci/config.yml | 621 |
1 files changed, 621 insertions, 0 deletions
diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml new file mode 100644 index 0000000000..2b9dcdc0fc --- /dev/null +++ b/taskcluster/ci/config.yml @@ -0,0 +1,621 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +trust-domain: gecko +project-repo-param-prefix: '' +product-dir: 'browser' +treeherder: + group-names: + 'cram': 'Cram tests' + 'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey' + 'js-bench-v8': 'JavaScript shell benchmarks with Google V8' + 'node': 'Node tests' + 'py2': 'Python 2 unit tests' + 'py3': 'Python 3 unit tests' + 'A': 'Android Gradle tests' + 'Bpgo': 'Profile-guided optimization builds' + 'Btime': 'Browsertime performance tests on Firefox' + 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s' + 'Btime-wr-1proc': 'Browsertime performance tests on Firefox without e10s, with webrender enabled' + 'Btime-fis': 'Browsertime performance tests on Firefox with fission enabled' + 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling' + 'Btime-Prof-wr': 'Browsertime performance tests on Firefox with Gecko Profiling, webrender enabled' + 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s' + 'Btime-live': 'Browsertime performance tests on Firefox' + 'Btime-live-fenix': 'Browsertime performance tests on Firefox' + 'Btime-live-fenix-wr': 'Browsertime performance tests on Firefox with webrender enabled' + 'Btime-live-ChR': 'Browsertime performance tests on Firefox' + 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release' + 'Btime-Cr': 'Browsertime performance tests on Google Chromium' + 'Btime-P': 'Browsertime power tests on Firefox/Geckoview' + 'Btime-P-wr': 'Browsertime power tests on Firefox/Geckoview with webrender enabled' + 'Btime-P-fenix': 'Browsertime power tests on Fenix' + 'Btime-P-fenix-wr': 'Browsertime power tests on Fenix with webrender enabled' + 'Btime-P-1proc': 'Browsertime power tests on Fennec' + 'Btime-P-1proc-wr': 'Browsertime power tests on Fennec with webrender enabled' + 'Btime-P-refbrow': 'Browsertime power tests on reference browser' + 'Btime-P-refbrow-wr': 'Browsertime power tests on reference browser with webrender enabled' + 'Btime-fenix': 'Browsertime performance tests on Fenix' + 'Btime-fenix-wr': 'Browsertime performance tests on Fenix with webrender enabled' + 'Btime-fennec': 'Browsertime performance tests on Fennec' + 'Btime-fennec-1proc': 'Browsertime performance tests on Fennec without e10s' + 'Btime-refbrow': 'Browsertime performance tests on the reference browser' + 'Btime-refbrow-wr': 'Browsertime performance tests on the reference browser with webrender enabled' + 'Btime-Prof-fenix': 'Browsertime performance tests on Fenix with Gecko Profiling' + 'Btime-Prof-fennec': 'Browsertime performance tests on Fennec with Gecko Profiling' + 'Btime-Prof-fennec-1proc': 'Browsertime performance tests on Fennec without e10s with Gecko Profiling' + 'Btime-Prof-refbrow': 'Browsertime performance tests on the reference browser with Gecko Profiling' + 'Btime-wr': 'Browsertime performance tests on Android with webrender enabled' + 'Btime-live-wr': 'Browsertime performance tests on Android with webrender enabled' + 'Fetch': 'Fetch and store content' + 'Fxfn-l': 'Firefox functional tests (local)' + 'Fxfn-l-1proc': 'Firefox functional tests (local) without e10s' + 'Fxfn-r': 'Firefox functional tests (remote)' + 'Fxfn-r-1proc': 'Firefox functional tests (remote) without e10s' + 'iris': 'Iris testing suite' + 'l10n-bump': 'L10n Bumper' + 'M': 'Mochitests' + 'M-1proc': 'Mochitests without e10s' + 'M-a11y-checks': 'Mochitests with accessibility checks enabled' + 'M-fis': 'Mochitests with fission enabled' + 'M-fis-xorig': 'Mochitests with cross-origin and fission enabled' + 'M-gli': 'Mochitests with WebGL over IPC' + 'M-spi': 'Mochitests with socket process' + 'M-spi-1proc': 'Mochitests with socket process without e10s' + 'M-spi-nw': 'Mochitests with networking on socket process' + 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s' + 'M-V-1proc': 'Mochitests on Valgrind without e10s' + 'MSI': 'Repack installers into MSIs' + 'MSIs': 'Signing of Repacked installers of MSIs' + 'R': 'Reftests' + 'R-1proc': 'Reftests without e10s' + 'R-fis': 'Reftests with fission enabled' + 'R-swr': 'Reftests with software webrender enabled' + 'Rap': 'Raptor performance tests on Firefox' + 'Rap-wr': 'Raptor performance tests on Firefox' + 'Rap-live': 'Raptor performance tests on Firefox with live sites' + 'Rap-1proc': 'Raptor performance tests on Firefox without e10s' + 'Rap-fis': 'Raptor performance tests on Firefox with fission enabled' + 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling' + 'Rap-Prof-1proc': 'Raptor performance tests on Firefox with Gecko Profiling and without e10s' + 'Rap-ChR': 'Raptor performance tests on Google Chrome Release' + 'Rap-Cr': 'Raptor performance tests on Google Chromium' + 'Rap-P': 'Raptor power tests on Firefox' + 'Rap-P-1proc': 'Raptor power tests on Firefox without e10s' + 'Rap-fenix': 'Raptor performance tests on Fenix' + 'Rap-fennec': 'Raptor performance tests on Fennec' + 'Rap-fennec-1proc': 'Raptor performance tests on Fennec without e10s' + 'Rap-refbrow': 'Raptor performance tests on the reference browser' + 'Rap-refbrow-wr': 'Raptor performance tests on the reference browser' + 'remote': 'Remote debugging protocol tests' + 'T': 'Talos performance tests' + 'T-1proc': 'Talos performance tests without e10s' + 'T-fis': 'Talos performance tests with fission enabled' + 'T-gli': 'Talos performance tests with WebGL over IPC' + 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling' + 'T-Prof-1proc': 'Talos performance tests on Firefox with Gecko Profiling and without e10s' + 'T-Prof-fis': 'Talos performance tests on Firefox with fission and Gecko Profiling' + 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling' + 'T-swr': 'Talos performance tests with software webrender enabled' + 'Tss': 'Talos performance tests, Stylo sequential' + 'Tss-fis': 'Talos performance tests, Stylo sequential with fission enabled' + 'Tss-1proc': 'Talos performance tests with Stylo sequential without e10s' + 'tt': 'Telemetry tests' + 'tt-1proc': 'Telemetry tests without e10s' + 'SY': 'Are we slim yet tests by TaskCluster' + 'SY-fis': 'Are we slim yet tests by TaskCluster, fission enabled' + 'VP': 'VideoPuppeteer tests' + 'W': 'Web platform tests' + 'W-1proc': 'Web platform tests without e10s' + 'W-fis': 'Web platform tests with fission enabled' + 'W-b': 'Web platform tests (backlog)' + 'W-b-fis': 'Web platform tests (backlog) with fission enabled' + 'X': 'Xpcshell tests' + 'X-1proc': 'Xpcshell tests, without e10s' + 'X-fis': 'Xpcshell tests with fission enabled' + 'X-spi-nw': 'Xpcshell tests with networking on socket process' + 'X-f': 'Xpcshell tests that fail on a given config' + 'X-f-fis': 'Xpcshell tests that fail on a given config w/fission' + 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process' + 'L10n': 'Localised Repacks' + 'L10n-Rpk': 'Localized Repackaged Repacks' + 'BM': 'Beetmover' + 'BMR': 'Beetmover repackages' + 'c-Up': 'Balrog submission of complete updates' + 'cs': 'Checksum signing' + 'css': 'Checksum signing for source' + 'rs': 'Repackage signing' + 'BMcs': 'Beetmover checksums' + 'BMcslang': 'Beetmover checksums for language packs' + 'BMcss': 'Beetmover checksums for source' + 'Aries': 'Aries Device Image' + 'Deb8': 'Packages for Debian 8' + 'Deb8-32': 'Packages for Debian 8 32-bits' + 'Deb9': 'Packages for Debian 9' + 'Deb10': 'Packages for Debian 10' + 'Nexus 5-L': 'Nexus 5-L Device Image' + 'I': 'Docker Image Builds' + 'TL': 'Toolchain builds for Linux 64-bits' + 'TL32': 'Toolchain builds for Linux 32-bits' + 'TM': 'Toolchain builds for OSX' + 'TMW': 'Toolchain builds for Windows MinGW' + 'TW32': 'Toolchain builds for Windows 32-bits' + 'TW64': 'Toolchain builds for Windows 64-bits' + 'WMC32': 'MinGW-Clang builds for Windows 32-bits' + 'WMC64': 'MinGW-Clang builds for Windows 64-bits' + 'Searchfox': 'Searchfox builds' + 'SM': 'Spidermonkey builds' + 'pub': 'APK publishing' + 'p': 'Partial generation' + 'ps': 'Partials signing' + 'ms': 'Complete MAR signing' + 'ms-stage': 'Autograph-stage MAR signing test' + 'Rel': 'Release promotion' + 'Snap': 'Snap image generation' + 'Flatpak': 'Flatpak image generation' + 'langpack': 'Langpack sigatures and uploads' + 'TPS': 'Sync tests' + 'UV': 'Update verify' + 'pydep': 'python dependency update' + 'WR': 'WebRender standalone' + 'Wgpu': 'WebGPU standalone' + 'Gd': 'Geckodriver' + 'cpp': 'C/C++ checks' + 'pedantic': 'pedantic checks' + 'text': 'Check on texts' + 'misc': 'Misc checks' + 'js': 'JavaScript checks' + 'py': 'Python checks' + 'java': 'Java checks' + 'rust': 'Rust checks' + 'Static-Analysis': 'Full tree static-analysis' + 'SS': 'Shadow scheduler' + 'test-info': 'Test manifest skip/fail information' + 'vismet': 'Visual Metrics Analysis' + 'condprof': 'Conditioned Profile Builder' + 'doc': 'Documentation' + 'GhS': 'GitHub Synchronization' + 'perftest': 'Performance tests' + 'perftest-http3': 'Performance tests with HTTP/3' + 'fuzzing': 'Fuzzing checks' + +index: + products: + - 'firefox' + - 'fennec' + - 'mobile' + - 'static-analysis' + - 'devedition' + - 'source' + - 'system-symbols' + - 'geckodriver' + +try: + # We have a few platforms for which we want to do some "extra" builds, or at + # least build-ish things. Sort of. Anyway, these other things are implemented + # as different "platforms". These do *not* automatically ride along with "-p + # all" + ridealong-builds: + 'linux': + - 'sm-arm-sim-linux32' + 'linux64': + - 'sm-plain-linux64' + - 'sm-nojit-linux64' + - 'sm-nonunified-linux64' + - 'sm-arm-sim-linux32' + - 'sm-arm64-sim-linux64' + - 'sm-compacting-linux64' + - 'sm-rootanalysis-linux64' + - 'sm-package-linux64' + - 'sm-tsan-linux64' + - 'sm-asan-linux64' + - 'sm-mozjs-sys-linux64' + - 'sm-msan-linux64' + - 'sm-fuzzing-linux64' + - 'sm-rust-bindings-linux64' + 'win32': + - 'sm-plain-win32' + - 'sm-compacting-win32' + +release-promotion: + products: + - 'devedition' + - 'fennec' + - 'firefox' + flavors: + promote_devedition: + product: devedition + target-tasks-method: promote_desktop + partial-updates: true + promote_firefox: + product: firefox + target-tasks-method: promote_desktop + partial-updates: true + promote_firefox_partner_repack: + product: firefox + rebuild-kinds: + - release-partner-repack + - release-partner-repack-chunking-dummy + - release-partner-repack-signing + - release-partner-repack-notarization-part-1 + - release-partner-repack-notarization-poller + - release-partner-repack-repackage + - release-partner-repack-repackage-signing + - release-partner-repack-beetmover + target-tasks-method: promote_desktop + promote_firefox_partner_attribution: + product: firefox + rebuild-kinds: + - release-partner-attribution + - release-partner-attribution-beetmover + target-tasks-method: promote_desktop + promote_firefox_rc: + product: firefox + is-rc: true + target-tasks-method: promote_desktop + partial-updates: true + push_devedition: + product: devedition + target-tasks-method: push_desktop + partial-updates: true + push_firefox: + product: firefox + target-tasks-method: push_desktop + partial-updates: true + ship_devedition: + product: devedition + target-tasks-method: ship_desktop + version-bump: true + partial-updates: true + ship_firefox: + product: firefox + target-tasks-method: ship_desktop + version-bump: true + partial-updates: true + ship_firefox_rc: + product: firefox + is-rc: true + target-tasks-method: ship_desktop + partial-updates: true + + +merge-automation: + behaviors: + central-to-beta: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "config/milestone.txt" + new-suffix: '' + - filename: "browser/config/version.txt" + new-suffix: '' + - filename: "browser/config/version_display.txt" + new-suffix: 'b1' + replacements: + - - browser/config/mozconfigs/linux32/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/linux64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/win32/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/win64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/win64-aarch64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/macosx64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - build/mozconfig.common + - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}' + - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}' + - - build/mozconfig.common + - '# Disable enforcing that add-ons are signed by the trusted root' + - '# Enable enforcing that add-ons are signed by the trusted root' + merge-old-head: true + base-tag: 'FIREFOX_BETA_{major_version}_BASE' + end-tag: 'FIREFOX_BETA_{major_version}_END' + from-repo: 'https://hg.mozilla.org/mozilla-central' + from-branch: 'central' + to-repo: 'https://hg.mozilla.org/releases/mozilla-beta' + to-branch: 'beta' + beta-to-release: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "browser/config/version_display.txt" + new-suffix: '' + replacements: [] + merge-old-head: true + base-tag: 'FIREFOX_RELEASE_{major_version}_BASE' + end-tag: 'FIREFOX_RELEASE_{major_version}_END' + from-repo: 'https://hg.mozilla.org/releases/mozilla-beta' + from-branch: 'beta' + to-repo: 'https://hg.mozilla.org/releases/mozilla-release' + to-branch: 'release' + release-to-esr: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "browser/config/version_display.txt" + new-suffix: 'esr' + replacements: + - - "build/mozconfig.common" + - "# Enable enforcing that add-ons are signed by the trusted root" + - "# Disable enforcing that add-ons are signed by the trusted root" + - - build/mozconfig.common + - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}' + - 'MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}' + merge-old-head: false + base-tag: "FIREFOX_ESR_{major_version}_BASE" + from-repo: 'https://hg.mozilla.org/releases/mozilla-release' + from-branch: 'release' + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr78' + to-branch: 'esr78' + bump-central: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "config/milestone.txt" + version-bump: "major" + new-suffix: 'a1' + - filename: "browser/config/version.txt" + version-bump: "major" + new-suffix: 'a1' + - filename: "browser/config/version_display.txt" + version-bump: "major" + new-suffix: 'a1' + replacements: + - - "xpcom/components/Module.h" + - "static const unsigned int kVersion = {current_major_version};" + - "static const unsigned int kVersion = {next_major_version};" + - - "services/sync/modules/constants.js" + - 'WEAVE_VERSION: "1.{current_weave_version}.0"' + - 'WEAVE_VERSION: "1.{next_weave_version}.0"' + merge-old-head: false + end-tag: 'FIREFOX_NIGHTLY_{major_version}_END' + to-repo: 'https://hg.mozilla.org/mozilla-central' + to-branch: 'central' + bump-esr: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "config/milestone.txt" + version-bump: "minor" + - filename: "browser/config/version.txt" + version-bump: "minor" + - filename: "browser/config/version_display.txt" + version-bump: "minor" + replacements: [] + merge-old-head: false + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr78' + to-branch: 'esr78' + +scriptworker: + # See additional configuration in taskcluster/taskgraph/util/scriptworker.py + scope-prefix: 'project:releng' + +partner-urls: + release-partner-repack: + by-release-product: + default: null + firefox: + by-release-type: + default: null + beta|release.*: + by-release-level: + production: 'git@github.com:mozilla-partners/repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git' + esr.*: + by-release-level: + production: 'git@github.com:mozilla-partners/esr-repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git' + release-partner-attribution: + by-release-product: + default: null + firefox: + by-release-type: + default: null + beta|release.*: + by-release-level: + production: 'git@github.com:mozilla-partners/repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git' + release-eme-free-repack: + by-release-product: + default: null + firefox: + by-release-type: + default: null + beta|release.*: + by-release-level: + production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git' + staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git' + + +task-priority: + by-project: + 'mozilla-release': 'highest' + 'mozilla-esr.*': 'very-high' + 'mozilla-beta': 'high' + 'mozilla-central': 'medium' + 'autoland': 'low' + 'mozilla-inbound': 'low' + 'default': 'very-low' + +taskgraph: {} + +workers: + aliases: + b-linux.*: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' + b-win2012: + provisioner: '{trust-domain}-{level}' + implementation: generic-worker + os: windows + worker-type: '{alias}' + images: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' + balrog: + provisioner: scriptworker-k8s + implementation: balrog + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-balrog' + staging: '{trust-domain}-1-balrog' + bouncer: + provisioner: scriptworker-k8s + # Note that this implementation doesn't correspond with an + # payload_builder, there are several `bouncer-*` implemenations. + implementation: bouncer + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-bouncer' + staging: '{trust-domain}-1-bouncer' + beetmover: + provisioner: scriptworker-k8s + implementation: beetmover + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-beetmover' + staging: '{trust-domain}-1-beetmover' + linux-depsigning: + provisioner: scriptworker-k8s + implementation: scriptworker-signing + os: linux + worker-type: '{trust-domain}-t-signing' + linux-signing: + provisioner: scriptworker-k8s + implementation: scriptworker-signing + os: linux + worker-type: + by-release-level: + production: '{trust-domain}-3-signing' + staging: '{trust-domain}-t-signing' + mac-depsigning: + provisioner: scriptworker-prov-v1 + implementation: scriptworker-signing + os: macosx + worker-type: depsigning-mac-v1 + mac-notarization-poller: + provisioner: scriptworker-prov-v1 + implementation: notarization-poller + os: macosx + worker-type: mac-notarization-poller + mac-signing: + provisioner: scriptworker-prov-v1 + implementation: scriptworker-signing + os: macosx + worker-type: + by-release-level: + production: signing-mac-v1 + staging: depsigning-mac-v1 + tree: + provisioner: scriptworker-k8s + implementation: treescript + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-tree' + staging: '{trust-domain}-1-tree' + tree-dev: + provisioner: scriptworker-k8s + implementation: treescript + os: scriptworker + worker-type: '{trust-domain}-1-tree-dev' + t-bitbar-gw.*: + provisioner: proj-autophone + implementation: generic-worker + os: linux-bitbar + worker-type: 'gecko-{alias}' + t-linux(-large|-xlarge|-xlarge-source|-metal): + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: '{alias}' + t-linux-talos: + provisioner: releng-hardware + implementation: generic-worker + os: linux + worker-type: 'gecko-{alias}' + t-osx-1014: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: 'gecko-{alias}' + t-osx-1014-power: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: 'gecko-{alias}' + t-linux-xlarge-pgo: + provisioner: + by-level: + '3': '{trust-domain}-{level}' + default: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: 't-linux-xlarge' + b-osx-1015: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: + by-level: + '3': 'gecko-3-b-osx-1015' + default: 'gecko-1-b-osx-1015' + t-win10-64(|-gpu-s|-source): + provisioner: '{trust-domain}-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + t-win10-64(-hw|-ref-hw|-1803-hw): + provisioner: releng-hardware + implementation: generic-worker + os: windows + worker-type: 'gecko-{alias}' + t-win7-32(|-gpu): + provisioner: '{trust-domain}-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + t-win64-aarch64-laptop: + provisioner: bitbar + implementation: generic-worker + os: windows + worker-type: 'gecko-{alias}' + succeed: + provisioner: built-in + implementation: succeed + os: none + worker-type: succeed + misc: + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: misc + + +mac-notarization: + mac-behavior: + by-project: + mozilla-(central|beta|release|esr.*): + by-shippable: + "true": mac_notarize + default: mac_sign_and_pkg + default: mac_sign_and_pkg + mac-entitlements: + by-platform: + macosx64.*: + by-release-level: + production: security/mac/hardenedruntime/production.entitlements.xml + default: security/mac/hardenedruntime/developer.entitlements.xml + default: '' |