diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
commit | d8bbc7858622b6d9c278469aab701ca0b609cddf (patch) | |
tree | eff41dc61d9f714852212739e6b3738b82a2af87 /taskcluster/ci | |
parent | Releasing progress-linux version 125.0.3-1~progress7.99u1. (diff) | |
download | firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip |
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'taskcluster/ci')
99 files changed, 3707 insertions, 535 deletions
diff --git a/taskcluster/ci/addon/kind.yml b/taskcluster/ci/addon/kind.yml index 84d616581b..eb24cf6a41 100644 --- a/taskcluster/ci/addon/kind.yml +++ b/taskcluster/ci/addon/kind.yml @@ -13,7 +13,7 @@ transforms: - gecko_taskgraph.transforms.task:transforms job-defaults: - use-system-python: false + use-python: default jobs: tps-xpi: diff --git a/taskcluster/ci/android-l10n/kind.yml b/taskcluster/ci/android-l10n/kind.yml new file mode 100644 index 0000000000..8e5d35995d --- /dev/null +++ b/taskcluster/ci/android-l10n/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.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 + ignore-closed-tree: true + push: true + +jobs: + import: + name: android_l10n_import + description: Import strings from android-l10n repo + treeherder: + symbol: android-l10n(I) + worker: + 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: + 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/ci/android-startup-test/kind.yml b/taskcluster/ci/android-startup-test/kind.yml new file mode 100644 index 0000000000..d7fe550f99 --- /dev/null +++ b/taskcluster/ci/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/ci/are-we-esmified-yet/kind.yml b/taskcluster/ci/are-we-esmified-yet/kind.yml deleted file mode 100644 index f2c462f455..0000000000 --- a/taskcluster/ci/are-we-esmified-yet/kind.yml +++ /dev/null @@ -1,42 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - - fetch - -transforms: - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -jobs: - check: - description: Extracts statistics on remaining JSMs in the codebase - run-on-projects: [] - attributes: - cron: true - index: - product: firefox - job-name: are-we-esmified-yet - treeherder: - platform: lint/opt - kind: other - symbol: js(esm) - tier: 2 - worker-type: t-linux-xlarge-source - worker: - docker-image: {in-tree: "lint"} - max-run-time: 3600 - artifacts: - - type: file - name: public/are-we-esmified-yet.json - path: /builds/worker/artifacts/are-we-esmified-yet.json - run: - using: run-task - command: >- - mkdir -p /builds/worker/artifacts && - cd ${GECKO_PATH} && - python3 ./taskcluster/scripts/misc/are-we-esmified-yet.py > /builds/worker/artifacts/are-we-esmified-yet.json diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml index 76eb0003a4..d91249fce9 100644 --- a/taskcluster/ci/artifact-build/kind.yml +++ b/taskcluster/ci/artifact-build/kind.yml @@ -39,7 +39,7 @@ job-defaults: secrets: true tooltool-downloads: public keep-artifacts: false - use-system-python: false + use-python: default jobs: linux64-artifact/opt: diff --git a/taskcluster/ci/attribution-l10n/kind.yml b/taskcluster/ci/attribution-l10n/kind.yml index 7042411fa2..48774cb1f6 100644 --- a/taskcluster/ci/attribution-l10n/kind.yml +++ b/taskcluster/ci/attribution-l10n/kind.yml @@ -99,7 +99,7 @@ job-defaults: - /builds/worker/artifacts/target.dmg - __MOZCUSTOM__ - __MOZCUSTOM__dlsource%3D{attribution_code[json][dlsource]} - use-system-python: false + use-python: default jobs: win32-devedition/opt: diff --git a/taskcluster/ci/attribution/kind.yml b/taskcluster/ci/attribution/kind.yml index 6a13ee5096..9fac5ac71d 100644 --- a/taskcluster/ci/attribution/kind.yml +++ b/taskcluster/ci/attribution/kind.yml @@ -84,7 +84,7 @@ job-defaults: - /builds/worker/artifacts/target.dmg - __MOZCUSTOM__ - __MOZCUSTOM__dlsource%3D{attribution_code[json][dlsource]} - use-system-python: false + use-python: default jobs: win32-devedition/opt: diff --git a/taskcluster/ci/beetmover-android-app/kind.yml b/taskcluster/ci/beetmover-android-app/kind.yml new file mode 100644 index 0000000000..59ef9cb149 --- /dev/null +++ b/taskcluster/ci/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/ci/beetmover-components/kind.yml b/taskcluster/ci/beetmover-components/kind.yml new file mode 100644 index 0000000000..3b3fd5c8ea --- /dev/null +++ b/taskcluster/ci/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/ci/beetmover-geckoview/kind.yml b/taskcluster/ci/beetmover-geckoview/kind.yml index e608ded508..d37316c5da 100644 --- a/taskcluster/ci/beetmover-geckoview/kind.yml +++ b/taskcluster/ci/beetmover-geckoview/kind.yml @@ -20,7 +20,7 @@ only-for-attributes: not-for-build-platforms: - linux-shippable/opt - linux64-shippable/opt - - linux-aarch64-shippable/opt + - linux64-aarch64-shippable/opt - linux64-nightlyasrelease/opt - macosx64-shippable/opt - macosx64-nightlyasrelease/opt @@ -54,8 +54,8 @@ jobs: by-project: # Beetmoving geckoview makes it available to the official maven repo. # That happens: - # 1. as part of the ship-geckoview graph on mozilla-central - # 2. as part of Firefox promote graphs on both mozilla-beta and mozilla-release + # 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. # diff --git a/taskcluster/ci/build-apk/kind.yml b/taskcluster/ci/build-apk/kind.yml new file mode 100644 index 0000000000..99132d17f8 --- /dev/null +++ b/taskcluster/ci/build-apk/kind.yml @@ -0,0 +1,518 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL 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}' + + +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/ci/build-bundle/kind.yml b/taskcluster/ci/build-bundle/kind.yml new file mode 100644 index 0000000000..081b5aba60 --- /dev/null +++ b/taskcluster/ci/build-bundle/kind.yml @@ -0,0 +1,213 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +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' + 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/ci/build-components/kind.yml b/taskcluster/ci/build-components/kind.yml new file mode 100644 index 0000000000..4d9ae555fa --- /dev/null +++ b/taskcluster/ci/build-components/kind.yml @@ -0,0 +1,134 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. 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 + - android-gradle-python-envs + - linux64-jdk + build-fat-aar: + - target.maven.tar.xz + 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/ci/build-fat-aar/kind.yml b/taskcluster/ci/build-fat-aar/kind.yml index 3d45e76d79..0d3b1208ec 100644 --- a/taskcluster/ci/build-fat-aar/kind.yml +++ b/taskcluster/ci/build-fat-aar/kind.yml @@ -23,7 +23,7 @@ job-defaults: index: product: mobile worker-type: b-linux-gcp - use-system-python: false + use-python: default worker: docker-image: {in-tree: android-build} max-run-time: 7200 @@ -58,6 +58,9 @@ job-defaults: - 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" @@ -83,6 +86,7 @@ job-defaults: default: null fetches: toolchain: + - android-gradle-python-envs - android-ndk-linux - android-sdk-linux - linux64-clang diff --git a/taskcluster/ci/build-samples-browser/kind.yml b/taskcluster/ci/build-samples-browser/kind.yml new file mode 100644 index 0000000000..8949d70fad --- /dev/null +++ b/taskcluster/ci/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-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 + - android-gradle-python-envs + - 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/ci/build/android-asan.yml b/taskcluster/ci/build/android-asan.yml index 4cc846dece..ac0ff56251 100644 --- a/taskcluster/ci/build/android-asan.yml +++ b/taskcluster/ci/build/android-asan.yml @@ -71,5 +71,6 @@ android-x86_64-asan-fuzzing/opt: - linux64-clang - linux64-sccache - android-gradle-dependencies + - android-gradle-python-envs optimization: skip-unless-expanded: null diff --git a/taskcluster/ci/build/android-stuff.yml b/taskcluster/ci/build/android-stuff.yml index 52bed7b18f..cf4c44124d 100644 --- a/taskcluster/ci/build/android-stuff.yml +++ b/taskcluster/ci/build/android-stuff.yml @@ -43,6 +43,7 @@ android-geckoview-docs/opt: fetches: toolchain: - android-gradle-dependencies + - android-gradle-python-envs - android-sdk-linux - linux64-jdk - linux64-node diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml index 7c37b2680f..ac3d2a5a31 100644 --- a/taskcluster/ci/build/android.yml +++ b/taskcluster/ci/build/android.yml @@ -58,6 +58,7 @@ job-defaults: - linux64-node - sysroot-x86_64-linux-gnu - sysroot-wasm32-wasi + - android-gradle-python-envs android-arm/debug: description: "Android 5.0 Arm Debug" diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/ci/build/kind.yml index b09cbe6926..2e49ca18c5 100644 --- a/taskcluster/ci/build/kind.yml +++ b/taskcluster/ci/build/kind.yml @@ -12,8 +12,10 @@ kind-dependencies: 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 @@ -34,7 +36,7 @@ job-defaults: worker: env: MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system - use-system-python: false + use-python: default run: mozconfig-variant: by-release-type: diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml index 1e38416e1c..99eae6639e 100644 --- a/taskcluster/ci/build/linux.yml +++ b/taskcluster/ci/build/linux.yml @@ -1796,12 +1796,12 @@ linux64-aarch64/opt: - sysroot-x86_64-linux-gnu - sysroot-wasm32-wasi -linux-aarch64-shippable/opt: +linux64-aarch64-shippable/opt: description: "Linux AArch64 (a.k.a. ARM64) Shippable" use-pgo: linux64-shippable/opt index: product: firefox - job-name: linux-aarch64-opt + job-name: linux64-aarch64-opt type: shippable attributes: shippable: true @@ -1810,7 +1810,7 @@ linux-aarch64-shippable/opt: shipping-phase: build shipping-product: firefox treeherder: - platform: linux-aarch64-shippable/opt + platform: linux64-aarch64-shippable/opt symbol: Bpgo(B) worker-type: b-linux-xlarge-gcp worker: @@ -1835,6 +1835,7 @@ linux-aarch64-shippable/opt: secrets: true tooltool-downloads: public run-on-projects: ['mozilla-central'] + run-on-releases: ['nightly'] fetches: toolchain: - linux64-clang diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/ci/build/macosx.yml index 0b148f01d5..928350e1bf 100644 --- a/taskcluster/ci/build/macosx.yml +++ b/taskcluster/ci/build/macosx.yml @@ -313,7 +313,7 @@ macosx64-x64-devedition/opt: macosx64-aarch64-devedition/opt: description: "MacOS X Dev Edition Aarch64 (shippable)" - use-pgo: macosx64-shippable/opt + use-pgo: macosx64-aarch64-shippable/opt attributes: enable-full-crashsymbols: true skip-verify-test-packaging: true diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/ci/build/windows.yml index cde5e216da..af0bebb4f0 100644 --- a/taskcluster/ci/build/windows.yml +++ b/taskcluster/ci/build/windows.yml @@ -558,7 +558,7 @@ win64-shippable/opt: win64-nightlyasrelease/opt: description: "Win64 Opt Nightly-As-Release" - use-pgo: win64-shippable/opt + use-pgo: win64-nightlyasrelease/opt attributes: enable-full-crashsymbols: true index: diff --git a/taskcluster/ci/code-review/kind.yml b/taskcluster/ci/code-review/kind.yml index b57af6acaf..16586e5a20 100644 --- a/taskcluster/ci/code-review/kind.yml +++ b/taskcluster/ci/code-review/kind.yml @@ -14,7 +14,7 @@ kind-dependencies: - toolchain job-defaults: - use-system-python: false + use-python: default jobs: issues: diff --git a/taskcluster/ci/condprof/kind.yml b/taskcluster/ci/condprof/kind.yml index 75afd4a3e2..d1e50620c8 100644 --- a/taskcluster/ci/condprof/kind.yml +++ b/taskcluster/ci/condprof/kind.yml @@ -29,7 +29,7 @@ job-defaults: worker: taskcluster-proxy: true max-run-time: 10800 - use-system-python: false + use-python: default jobs: windows2012-64-firefox: worker-type: b-win2022 diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 894ce9399a..a26eb9818d 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -33,12 +33,10 @@ treeherder: 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s' 'Btime-live': 'Browsertime performance tests on Firefox' 'Btime-live-fenix': 'Browsertime performance tests on Firefox' - 'Btime-live-ChR': 'Browsertime performance tests on Firefox' - 'Btime-live-Cr': 'Browsertime performance tests on Google Chromium' + 'Btime-live-ChR': 'Browsertime performance tests on Google Chrome Release' 'Btime-live-Saf': 'Browsertime performance tests on Safari' 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release' 'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled' - 'Btime-Cr': 'Browsertime performance tests on Google Chromium' 'Btime-P': 'Browsertime power tests on Firefox/Geckoview' 'Btime-P-fenix': 'Browsertime power tests on Fenix' 'Btime-P-refbrow': 'Browsertime power tests on reference browser' @@ -78,6 +76,8 @@ treeherder: 'M-gli-cf': 'Mochitests confirm failure with WebGL over IPC' 'M-nofis': 'Mochitests without fission enabled' 'M-nofis-cf': 'Mochitests confirm failure without fission enabled' + 'M-nofis-ship': "Mochitests without fission and with SHIP (session history in parent) enabled (Android-specific)" + 'M-nofis-ship-cf': "Mochitests confirm failure without fission and with SHIP (session history in parent) enabled (Android-specific)" 'M-spi': 'Mochitests with socket process' 'M-spi-cf': 'Mochitests confirm failure with socket process' 'M-spi-nofis': 'Mochitests with socket process without fission enabled' @@ -104,8 +104,6 @@ treeherder: 'M-f-swr': 'Mochitest failures software webrender' 'M-f-cf': 'Mochitest failures w/confirm failure' 'M-f-swr-cf': 'Mochitest failures software webrender w/confirm failure' - 'M-dt-no-eft-nofis': 'DevTools Mochitests with EFT disabled without fission enabled' - 'M-dt-no-eft-nofis-cf': 'DevTools Mochitests confirm failure with EFT disabled without fission enabled' 'M-msix': 'Mochitests from MSIX builds' 'M-msix-cf': 'Mochitests confirm failure from MSIX builds' 'MSI': 'Repack installers into MSIs' @@ -117,6 +115,8 @@ treeherder: 'R-cf': 'Reftests confirm failure' 'R-nofis': 'Reftests without fission enabled' 'R-nofis-cf': 'Reftests confirm failure without fission enabled' + 'R-nofis-ship': 'Reftests without fission and with SHIP (session history in parent) enabled (Android specific)' + 'R-nofis-ship-cf': 'Reftests confirm failure without fission and with SHIP (session history in parent) enabled (Android specific)' 'R-swr': 'Reftests with software webrender enabled' 'R-swr-cf': 'Reftests confirm failure with software webrender enabled' 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled' @@ -133,7 +133,6 @@ treeherder: 'Rap-live': 'Raptor performance tests on Firefox with live sites' 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling' 'Rap-ChR': 'Raptor performance tests on Google Chrome Release' - 'Rap-Cr': 'Raptor performance tests on Google Chromium' 'Rap-refbrow': 'Raptor performance tests on the reference browser' 'T': 'Talos performance tests' 'T-gli': 'Talos performance tests with WebGL over IPC' @@ -162,6 +161,8 @@ treeherder: 'X-condprof-cf': 'Xpcshell tests confirm failure with a conditioned profile' 'X-nofis': 'Xpcshell tests without fission enabled' 'X-nofis-cf': 'Xpcshell tests confirm failure without fission enabled' + 'X-nofis-ship': 'Xpcshell tests without fission and with SHIP (session history in parent) enabled (Android specific)' + 'X-nofis-ship-cf': 'Xpcshell tests confirm failure without fission and with SHIP (session history in parent) enabled (Android specific)' 'X-spi-nw': 'Xpcshell tests with networking on socket process' 'X-spi-nw-cf': 'Xpcshell tests confirm failure with networking on socket process' 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled' @@ -242,6 +243,161 @@ treeherder: 'wc': 'webcompat' 'Boot': 'Bootstrap' 'Attr-L10n': 'Build Attribution' + 'android-l10n': 'Import strings from android-l10n repo' + + # The below symbols are from firefox-android (fenix/focus/android-components) + 'buildconfig': 'Make sure the content of .buildconfig.yml matches what gradle knows about its projects' + 'compare-locales': 'Validate strings.xml with compare-locales' + 'detekt': 'detekt linter' + 'ktlint': 'ktlint linter' + 'lint': 'gradle lint linter' + + 'focus': 'Focus general tasks no matter the variant' + 'focus-beta': 'Focus beta-related tasks' + 'focus-debug': 'Focus builds made for testing' + 'focus-nightly': 'Focus nightly-related tasks' + 'focus-release': 'Focus production-related tasks' + + 'fenix': 'Fenix general tasks no matter the variant' + 'fenix-beta': 'Fenix beta-related tasks' + 'fenix-debug': 'Fenix builds made for testing' + 'fenix-nightly': 'Fenix nightly-related tasks' + 'fenix-nightlySim': 'Nightly-related tasks that run on each github push' + 'fenix-release': 'Fenix production-related tasks' + + # This list is based on mobile/android/android-components/.buildconfig.yml except the exceptions down below + 'browser-domains': 'browser-domains' + 'browser-engine-gecko': 'browser-engine-gecko' + 'browser-engine-system': 'browser-engine-system' + 'browser-errorpages': 'browser-errorpages' + 'browser-icons': 'browser-icons' + 'browser-menu': 'browser-menu' + 'browser-menu2': 'browser-menu2' + 'browser-session-storage': 'browser-session-storage' + 'browser-state': 'browser-state' + 'browser-storage-sync': 'browser-storage-sync' + 'browser-tabstray': 'browser-tabstray' + 'browser-thumbnails': 'browser-thumbnails' + 'browser-toolbar': 'browser-toolbar' + 'compose-awesomebar': 'compose-engine' + 'compose-browser-toolbar': 'awesomebar-browser-toolbar' + 'compose-engine': 'compose-engine' + 'compose-tabstray': 'compose-tabstray' + 'concept-awesomebar': 'concept-awesomebar' + 'concept-base': 'concept-base' + 'compose-cfr': 'compose-cfr' + 'concept-engine': 'concept-engine' + 'concept-fetch': 'concept-fetch' + 'concept-menu': 'concept-menu' + 'concept-push': 'concept-push' + 'concept-storage': 'concept-storage' + 'concept-sync': 'concept-sync' + 'concept-tabstray': 'concept-tabstray' + 'concept-toolbar': 'concept-toolbar' + 'feature-accounts-push': 'feature-accounts-push' + 'feature-accounts': 'feature-accounts' + 'feature-addons': 'feature-addons' + 'feature-app-links': 'feature-app-links' + 'feature-autofill': 'feature-autofill' + 'feature-awesomebar': 'feature-awesomebar' + 'feature-containers': 'feature-containers' + 'feature-contextmenu': 'feature-contextmenu' + 'feature-customtabs': 'feature-customtabs' + 'feature-downloads': 'feature-downloads' + 'feature-findinpage': 'feature-findinpage' + 'feature-fxsuggest': 'feature-fxsuggest' + 'feature-intent': 'feature-intent' + 'feature-logins': 'feature-logins' + 'feature-media': 'feature-media' + 'feature-privatemode': 'feature-privatemode' + 'feature-prompts': 'feature-prompts' + 'feature-push': 'feature-push' + 'feature-pwa': 'feature-pwa' + 'feature-qr': 'feature-qr' + 'feature-readerview': 'feature-readerview' + 'feature-recentlyclosed': 'feature-recentlyclosed' + 'feature-search': 'feature-search' + 'feature-serviceworker': 'feature-serviceworker' + 'feature-session': 'feature-session' + 'feature-share': 'feature-share' + 'feature-sitepermissions': 'feature-sitepermissions' + 'feature-syncedtabs': 'feature-syncedtabs' + 'feature-tab-collections': 'feature-tab-collections' + 'feature-tabs': 'feature-tabs' + 'feature-toolbar': 'feature-toolbar' + 'feature-top-sites': 'feature-top-sites' + 'feature-webauthn': 'feature-webauthn' + 'feature-webcompat': 'feature-webcompat' + 'feature-webnotifications': 'feature-webnotifications' + 'lib-crash': 'lib-crash' + 'lib-auth': 'lib-auth' + 'lib-crash-sentry': 'lib-crash-sentry' + 'lib-crash-sentry-legacy': 'lib-crash-sentry-legacy' + 'lib-dataprotect': 'lib-dataprotect' + 'lib-fetch-okhttp': 'lib-fetch-okhttp' + 'lib-jexl': 'lib-jexl' + 'lib-publicsuffixlist': 'lib-publicsuffixlist' + 'lib-push-firebase': 'lib-push-firebase' + 'lib-state': 'lib-state' + 'samples-compose-browser': 'samples-compose-browser' + 'samples-crash': 'samples-crash' + 'samples-dataprotect': 'samples-dataprotect' + 'samples-firefox-accounts': 'samples-firefox-accounts' + 'samples-glean-library': 'samples-glean-library' + 'samples-glean': 'samples-glean' + 'samples-sync-logins': 'samples-sync-logins' + 'samples-sync': 'samples-sync' + 'samples-toolbar': 'samples-toolbar' + 'service-contile': 'service-contile' + 'service-digitalassetlinks': 'service-digitalassetlinks' + 'service-experiments': 'service-experiments' + 'service-firefox-accounts': 'service-firefox-accounts' + 'service-fretboard': 'service-fretboard' + 'service-glean': 'service-glean' + 'service-location': 'service-location' + 'service-nimbus': 'service-nimbus' + 'service-pocket': 'service-pocket' + 'service-sync-autofill': 'service-sync-autofill' + 'service-sync-logins': 'service-sync-logins' + 'support-android-test': 'support-android-test' + 'support-base': 'support-base' + 'support-images': 'support-images' + 'support-ktx': 'support-ktx' + 'support-license': 'support-license' + 'support-locale': 'support-locale' + 'support-migration': 'support-migration' + 'support-remotesettings': 'support-remotesettings' + 'support-rusthttp': 'support-rusthttp' + 'support-rusterrors': 'support-rusterrors' + 'support-rustlog': 'support-rustlog' + 'support-sync-telemetry': 'support-sync-telemetry' + 'support-test-appservices': 'support-test-appservices' + 'support-test-fakes': 'support-test-fakes' + 'support-test-libstate': 'support-test-libstate' + 'support-test': 'support-test' + 'support-utils': 'support-utils' + 'support-webextensions': 'support-webextensions' + 'tooling-detekt': 'tooling-detekt' + 'tooling-fetch-tests': 'tooling-fetch-tests' + 'tooling-lint': 'tooling-lint' + 'ui-autocomplete': 'ui-autocomplete' + 'ui-colors': 'ui-colors' + 'ui-fonts': 'ui-fonts' + 'ui-icons': 'ui-icons' + 'ui-tabcounter': 'ui-tabcounter' + 'ui-widgets': 'ui-widgets' + + # These ones are too long to fit in 25 chars + 'lib-fetch-httpurlconnecti': 'lib-fetch-httpurlconnection' + 'feature-webcompat-reporte': 'feature-webcompat-reporter' + + # Groups aren't generated off buildconfig.yml: + 'samples-browser': 'samples-browser' + 'samples-browser-gecko': 'samples-browser-gecko' + 'samples-browser-system': 'samples-browser-system' + + # forPerformanceTest: Builds made for Raptor and other performance tests + 'Rap-P': 'Raptor power tests' index: products: @@ -285,6 +441,7 @@ release-promotion: - 'devedition' - 'fennec' - 'firefox' + - 'firefox-android' rebuild-kinds: - docker-image - fetch @@ -345,6 +502,15 @@ release-promotion: is-rc: true target-tasks-method: ship_desktop partial-updates: true + promote_android: + product: firefox-android + target-tasks-method: promote_android + push_android: + product: firefox-android + target-tasks-method: push_android + ship_android: + product: firefox-android + target-tasks-method: ship_android merge-automation: @@ -358,6 +524,8 @@ merge-automation: new-suffix: '' - filename: "browser/config/version_display.txt" new-suffix: 'b1' + - filename: "mobile/android/version.txt" + new-suffix: 'b1' replacements: - - browser/config/mozconfigs/linux32/l10n-mozconfig - ac_add_options --with-branding=browser/branding/nightly @@ -399,6 +567,8 @@ merge-automation: version-files: - filename: "browser/config/version_display.txt" new-suffix: '' + - filename: "mobile/android/version.txt" + new-suffix: '' replacements: [] merge-old-head: true base-tag: 'FIREFOX_RELEASE_{major_version}_BASE' @@ -429,6 +599,9 @@ merge-automation: - filename: "browser/config/version_display.txt" version-bump: "major" new-suffix: 'a1' + - filename: "mobile/android/version.txt" + version-bump: "major" + new-suffix: 'a1' replacements: - - "services/sync/modules/constants.sys.mjs" - 'WEAVE_VERSION = "1.{current_weave_version}.0"' @@ -511,6 +684,11 @@ taskgraph: workers: aliases: + b-linux-gcp-aarch64: + provisioner: '{trust-domain}-{level}' + implementation: generic-worker + os: linux + worker-type: '{alias}' b-linux.*: provisioner: '{trust-domain}-{level}' implementation: docker-worker @@ -575,6 +753,14 @@ workers: by-release-level: production: '{trust-domain}-3-beetmover' staging: '{trust-domain}-1-beetmover' + beetmover-android: + provisioner: scriptworker-k8s + implementation: scriptworker-beetmover + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-beetmover' + staging: '{trust-domain}-1-beetmover' shipit: provisioner: scriptworker-k8s implementation: shipit @@ -609,6 +795,11 @@ workers: by-release-level: production: signing-mac-v1 staging: depsigning-mac-v1 + push-apk: + provisioner: scriptworker-k8s + implementation: scriptworker-pushapk + os: scriptworker + worker-type: '{trust-domain}-{level}-pushapk' tree: provisioner: scriptworker-k8s implementation: treescript @@ -635,11 +826,16 @@ workers: implementation: docker-worker os: linux worker-type: '{alias}-gcp' + t-linux(-large|-xlarge|-xlarge-source)-noscratch: + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: '{alias}-gcp' t-linux-kvm: provisioner: '{trust-domain}-t' implementation: docker-worker os: linux - worker-type: 't-linux-kvm-gcp' + worker-type: 't-linux-kvm-noscratch-gcp' t-linux-talos: provisioner: releng-hardware implementation: generic-worker @@ -682,7 +878,7 @@ workers: default: '{trust-domain}-t' implementation: docker-worker os: linux - worker-type: 't-linux-xlarge-gcp' + worker-type: 't-linux-xlarge-noscratch-gcp' b-osx-1015: provisioner: releng-hardware implementation: generic-worker @@ -704,7 +900,7 @@ workers: implementation: generic-worker os: windows worker-type: '{alias}' - t-win10-64(-hw|-ref-hw|-1803-hw): + t-win10-64(-hw|-1803-hw): provisioner: releng-hardware implementation: generic-worker os: windows @@ -756,20 +952,11 @@ workers: worker-type: misc-gcp -mac-notarization: - mac-entitlements: - by-platform: - macosx64.*: - by-release-level: - production: security/mac/hardenedruntime/v1/production/browser.xml - default: security/mac/hardenedruntime/v1/developer/browser.xml - default: '' +mac-signing: mac-requirements: by-platform: macosx64.*: build/package/mac_osx/requirements.plist default: '' - -mac-signing: hardened-sign-config: by-hardened-signing-type: production: @@ -790,9 +977,10 @@ mac-signing: - deep: false runtime: true force: true - # These files are signed wihtout entitlements + # These files are signed without entitlements globs: - "/Contents/MacOS/crashreporter.app" + - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework" - "/Contents/MacOS/updater.app" - "/Contents/Library/LaunchServices/org.mozilla.updater" - "/Contents/MacOS/XUL" @@ -801,6 +989,7 @@ mac-signing: - "/Contents/MacOS/nmhproxy" - "/Contents/MacOS/*.dylib" - "/Contents/Resources/gmp-clearkey/*/*.dylib" + - "/Contents/Frameworks/ChannelPrefs.framework" - deep: false runtime: true @@ -836,11 +1025,13 @@ mac-signing: entitlements: security/mac/hardenedruntime/v2/developer/utility.xml globs: - "/Contents/MacOS/crashreporter.app" + - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework" - "/Contents/MacOS/updater.app" - "/Contents/Library/LaunchServices/org.mozilla.updater" - "/Contents/MacOS/pingsender" - "/Contents/MacOS/minidump-analyzer" - "/Contents/MacOS/nmhproxy" + - "/Contents/Frameworks/ChannelPrefs.framework" - deep: false runtime: true diff --git a/taskcluster/ci/diffoscope/artifacts.yml b/taskcluster/ci/diffoscope/artifacts.yml index 0e901f50fd..b06604f3cb 100644 --- a/taskcluster/ci/diffoscope/artifacts.yml +++ b/taskcluster/ci/diffoscope/artifacts.yml @@ -18,7 +18,7 @@ job-defaults: # artifact and not-artifact builds, so remove its line if present. - sed -i '/telemetry\.fog\.artifact\_build/d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js # artifact builds are not fed with accepted-mar-channel-ids - - sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini + - if [ -f a/"$RESOURCE_DIR"/update-settings.ini ]; then sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini; fi # Extra diffoscope arguments to account for: # - about:buildconfig being expectedly different. extra-args: >- diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml index 149186fb3b..12dc16cdd1 100644 --- a/taskcluster/ci/docker-image/kind.yml +++ b/taskcluster/ci/docker-image/kind.yml @@ -245,3 +245,9 @@ jobs: 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/ci/fetch/browsertime.yml b/taskcluster/ci/fetch/browsertime.yml index 84cb862b7a..730ca3c279 100644 --- a/taskcluster/ci/fetch/browsertime.yml +++ b/taskcluster/ci/fetch/browsertime.yml @@ -37,89 +37,6 @@ linux64-chromedriver: sha256: 461919e080e19335a34224e2d353b96b07c7d068621aa940f9c136e86d090047 size: 5404417 -win32-chromedriver-120: - description: "Win32 chromedriver v120" - fetch: - type: static-url - artifact-name: chromedriver_win32_120.tar.zst - add-prefix: "120" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/win32/chromedriver-win32.zip - sha256: f07b320a3e739c619b9bda0c62169d6173350e7415317125fba76c8b002458ce - size: 7360109 - -linux64-chromedriver-120: - description: "Linux64 chromedriver v120" - fetch: - type: static-url - artifact-name: chromedriver_linux64_120.tar.zst - add-prefix: "120" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/linux64/chromedriver-linux64.zip - sha256: 3990b819b9b8866784dcd634e284e6e02f2b92f81ba89fb7b6c98061ad2b3c6e - size: 8575905 - -mac64-chromedriver-120: - description: "Mac64 chromedriver v120" - fetch: - type: static-url - artifact-name: chromedriver_mac64_120.tar.zst - add-prefix: "120" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/mac-x64/chromedriver-mac-x64.zip - sha256: f645302e046e4314477b72244335c60098563d202fc0c9467df7d71b850c21f1 - size: 9235668 - -mac-arm-chromedriver-120: - description: "Mac64 arm chromedriver v120" - fetch: - type: static-url - artifact-name: chromedriver_mac-arm_120.tar.zst - add-prefix: "120" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.18/mac-arm64/chromedriver-mac-arm64.zip - sha256: 141e0abedfe2a1df6c3eb334becdf1993dce8b4fc0f906457606470c6542f236 - size: 8293703 - -win32-chromedriver-121: - description: "Win32 chromedriver v121" - fetch: - type: static-url - artifact-name: chromedriver_win32_121.tar.zst - add-prefix: "121" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/win32/chromedriver-win32.zip - sha256: a6618777d23e2d65a4938c150df1c7516be6d8e52748f635c7bf1df36e0a143f - size: 7989797 - - -linux64-chromedriver-121: - description: "Linux64 chromedriver v121" - fetch: - type: static-url - artifact-name: chromedriver_linux64_121.tar.zst - add-prefix: "121" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/linux64/chromedriver-linux64.zip - sha256: f4a3fe88694cd67484041d01dfc33e9769b9709335e97e3283f11da0e95a73f8 - size: 8625832 - - -mac64-chromedriver-121: - description: "Mac64 chromedriver v121" - fetch: - type: static-url - artifact-name: chromedriver_mac64_121.tar.zst - add-prefix: "121" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/mac-x64/chromedriver-mac-x64.zip - sha256: c89fa84060d18ed03f3f68de67400051691836b85e8b7d77b386d6239f9b8ced - size: 9233941 - - -mac-arm-chromedriver-121: - description: "Mac-arm chromedriver v121" - fetch: - type: static-url - artifact-name: chromedriver_mac-arm_121.tar.zst - add-prefix: "121" - url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.57/mac-arm64/chromedriver-mac-arm64.zip - sha256: e162f11cebcb7d255daf3f7af2e8f6046389f2b5264c0a991022957af0524afc - size: 8318525 - win32-chromedriver-122: description: "Win32 chromedriver v122" fetch: @@ -160,6 +77,96 @@ mac-arm-chromedriver-122: sha256: 645f277c05d7f7d238c7a45412f42489767f48cba05d8632ce00b54b3704d4e1 size: 8293896 +win32-chromedriver-123: + description: "Win32 chromedriver v123" + fetch: + type: static-url + artifact-name: chromedriver_win32_123.tar.zst + add-prefix: "123" + url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/win32/chromedriver-win32.zip" + sha256: 5367d72e2a90463bda103450b893ec12a7272dc62094d230a4433c449b96993e + size: 8125668 + +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 + +win32-chromedriver-124: + description: "Win32 chromedriver v124" + fetch: + type: static-url + artifact-name: chromedriver_win32_124.tar.zst + add-prefix: "124" + url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/win32/chromedriver-win32.zip" + sha256: 5a47fb7ed7094021fd3faa25fcdaf69e893082e3b0f5d31f9d341082eceb80dc + size: 8171680 + +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: diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/ci/fetch/toolchains.yml index 4ab075aacd..9c58eaddc7 100644 --- a/taskcluster/ci/fetch/toolchains.yml +++ b/taskcluster/ci/fetch/toolchains.yml @@ -311,7 +311,7 @@ mingw-w64: fetch: type: git repo: https://git.code.sf.net/p/mingw-w64/mingw-w64 - revision: 95a2cf4b7260200c4a60f4f1d1127e72799a3541 + revision: cd4cf9b279f8fb0815f8b9665d3cea60a30290bc mingw-w64-trunk: description: mingw-w64 master branch source code @@ -362,11 +362,11 @@ clang-17: revision: 6009708b4367171ccdbf4b5905cb6a803753fe18 clang-18: - description: clang 18.1.0-rc2 source code + description: clang 18.1.1 source code fetch: type: git repo: https://github.com/llvm/llvm-project - revision: c6c86965d967886ca5a2ed8968c949cd42cdd49a + revision: dba2a75e9c7ef81fe84774ba5eee5e67e01d801a clang-trunk: description: clang main branch source code @@ -380,13 +380,13 @@ clang-trunk: # We build stable rust from source so the resulting compiler acts as a nightly # rust compiler, allowing to use unstable features like -Zbuild-std and # sanitizers. -rust-1.76.0: - description: Rust 1.76.0 source code +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: 07dca489ac2d933c78d3c5158e3f43beefeb02ce + revision: 25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04 wasi-sdk-11: description: wasi-sdk-11 source code @@ -428,7 +428,7 @@ dump-syms: fetch: type: git repo: https://github.com/mozilla/dump_syms/ - revision: b1951e4ccec48a2e97460a7ec40be35aa79e0037 + revision: 96c647f0a63912b68b0bc2613cef77d9b3f305fd rust-minidump: description: rust-minidump 0.19.1 source code (for minidump-stackwalk) @@ -668,3 +668,10 @@ libxml2: 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/ci/fuzzing/kind.yml b/taskcluster/ci/fuzzing/kind.yml index 68e212bb9c..444240c619 100644 --- a/taskcluster/ci/fuzzing/kind.yml +++ b/taskcluster/ci/fuzzing/kind.yml @@ -20,7 +20,7 @@ job-defaults: worker: max-run-time: 3600 docker-image: {in-tree: debian12-amd64-build} - use-system-python: false + use-python: default treeherder: kind: test tier: 3 diff --git a/taskcluster/ci/generate-profile/kind.yml b/taskcluster/ci/generate-profile/kind.yml index 839c5aa7fe..b71afb23d0 100644 --- a/taskcluster/ci/generate-profile/kind.yml +++ b/taskcluster/ci/generate-profile/kind.yml @@ -21,8 +21,7 @@ job-defaults: symbol: Bpgo(run) kind: build tier: 1 - run-on-projects: ['release'] - use-system-python: false + use-python: default jobs: linux-shippable/opt: @@ -81,6 +80,7 @@ jobs: cwd: '{checkout}' command: > ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: ['release'] fetches: toolchain: - linux64-clang @@ -118,10 +118,12 @@ jobs: - 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 @@ -158,10 +160,12 @@ jobs: - 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 @@ -199,10 +203,12 @@ jobs: - 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 @@ -231,6 +237,7 @@ jobs: sparse-profile: profile-generate cwd: '{checkout}' command: ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: ['release'] fetches: toolchain: - win64-clang-toolchain @@ -260,6 +267,37 @@ jobs: 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 @@ -289,6 +327,7 @@ jobs: sparse-profile: profile-generate cwd: '{checkout}' command: ./taskcluster/scripts/misc/run-profileserver-macos.sh + run-on-projects: ['release'] fetches: toolchain: - macosx64-clang @@ -318,6 +357,7 @@ jobs: sparse-profile: profile-generate cwd: '{checkout}' command: ./taskcluster/scripts/misc/run-profileserver-macos.sh + run-on-projects: ['release'] fetches: toolchain: - macosx64-clang diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/ci/hazard/kind.yml index 569141e8c8..8bdc1bbb17 100644 --- a/taskcluster/ci/hazard/kind.yml +++ b/taskcluster/ci/hazard/kind.yml @@ -23,7 +23,7 @@ job-defaults: worker: max-run-time: 10800 docker-image: {in-tree: debian12-amd64-build} - use-system-python: false + use-python: default jobs: linux64-shell-haz/debug: diff --git a/taskcluster/ci/instrumented-build/kind.yml b/taskcluster/ci/instrumented-build/kind.yml index 0350bc51af..9823970185 100644 --- a/taskcluster/ci/instrumented-build/kind.yml +++ b/taskcluster/ci/instrumented-build/kind.yml @@ -26,7 +26,7 @@ job-defaults: env: PERFHERDER_EXTRA_OPTIONS: instrumented MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system - use-system-python: false + use-python: default run: using: mozharness actions: [get-secrets, build] @@ -39,7 +39,6 @@ job-defaults: fetches: toolchain: - linux64-sccache - run-on-projects: ['release'] jobs: linux-shippable/opt: @@ -87,6 +86,40 @@ jobs: - 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 @@ -97,6 +130,7 @@ jobs: - linux64-nasm - linux64-node - linux64-pkgconf + - sysroot-aarch64-linux-gnu - sysroot-x86_64-linux-gnu - sysroot-wasm32-wasi @@ -120,6 +154,7 @@ jobs: script: "mozharness/scripts/fx_desktop_build.py" secrets: true mozconfig-variant: profile-generate + run-on-projects: ['release'] fetches: toolchain: - linux64-clang @@ -157,6 +192,7 @@ jobs: mozconfig-variant: profile-generate extra-config: mozconfig_platform: macosx64-aarch64 + run-on-projects: ['release'] fetches: toolchain: - linux64-clang @@ -210,9 +246,11 @@ jobs: - 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-gradle-python-envs - android-ndk-linux - android-sdk-linux - linux64-jdk @@ -264,9 +302,11 @@ jobs: - 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-gradle-python-envs - android-ndk-linux - android-sdk-linux - linux64-jdk @@ -318,9 +358,11 @@ jobs: - 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-gradle-python-envs - android-ndk-linux - android-sdk-linux - linux64-jdk @@ -352,6 +394,47 @@ jobs: 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 @@ -389,6 +472,7 @@ jobs: extra-config: stage_platform: win64 mozconfig_platform: win64 + run-on-projects: ['release'] fetches: toolchain: - linux64-clang diff --git a/taskcluster/ci/l10n-bump/kind.yml b/taskcluster/ci/l10n-bump/kind.yml index 2dd21e4068..d40f9c48e9 100644 --- a/taskcluster/ci/l10n-bump/kind.yml +++ b/taskcluster/ci/l10n-bump/kind.yml @@ -50,6 +50,7 @@ job-defaults: - linux-devedition - linux64 - linux64-devedition + - linux64-aarch64 - win32 - win32-devedition - win64 @@ -64,6 +65,7 @@ job-defaults: "linux", "linux-devedition", "linux64", + "linux64-aarch64", "linux64-devedition", "macosx64", "macosx64-devedition", @@ -90,6 +92,7 @@ job-defaults: - linux - linux-devedition - linux64 + - linux64-aarch64 - linux64-devedition - win32 - win32-devedition @@ -105,6 +108,7 @@ job-defaults: "linux", "linux-devedition", "linux64", + "linux64-aarch64", "linux64-devedition", "macosx64", "macosx64-devedition", diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/ci/l10n/kind.yml index d1effef2e6..eeb0b2c54e 100644 --- a/taskcluster/ci/l10n/kind.yml +++ b/taskcluster/ci/l10n/kind.yml @@ -19,6 +19,7 @@ kind-dependencies: only-for-build-platforms: - linux64-shippable/opt + - linux64-aarch64-shippable/opt - linux-shippable/opt - macosx64-shippable/opt - win32-shippable/opt @@ -65,7 +66,8 @@ jobs: job-name: by-build-platform: linux(?!64).*: linux-opt - linux64.*: linux64-opt + linux64(?!-aarch64).*: linux64-opt + linux64-aarch64.*: linux64-aarch64-opt macosx64.*: macosx64-opt win32.*: win32-opt win64.*: win64-opt @@ -81,6 +83,8 @@ jobs: 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 diff --git a/taskcluster/ci/mar-signing/kind.yml b/taskcluster/ci/mar-signing/kind.yml index b91498cf62..e0feeaa0ff 100644 --- a/taskcluster/ci/mar-signing/kind.yml +++ b/taskcluster/ci/mar-signing/kind.yml @@ -16,7 +16,7 @@ kind-dependencies: only-for-build-platforms: - linux-shippable/opt - linux64-shippable/opt - - linux-aarch64-shippable/opt + - linux64-aarch64-shippable/opt - macosx64-shippable/opt - win32-shippable/opt - win64-shippable/opt diff --git a/taskcluster/ci/openh264-plugin/kind.yml b/taskcluster/ci/openh264-plugin/kind.yml index 993489e3f6..e8459df438 100644 --- a/taskcluster/ci/openh264-plugin/kind.yml +++ b/taskcluster/ci/openh264-plugin/kind.yml @@ -21,7 +21,7 @@ job-defaults: run-on-projects: [] repo: 'https://github.com/cisco/openh264.git' revision: '31c4d2e4a037526fd30d4e5c39f60885986cf865' - use-system-python: false + use-python: default worker: chain-of-trust: true diff --git a/taskcluster/ci/perftest/android.yml b/taskcluster/ci/perftest/android.yml index 6faebffee9..1ed071a1a1 100644 --- a/taskcluster/ci/perftest/android.yml +++ b/taskcluster/ci/perftest/android.yml @@ -189,6 +189,31 @@ hw-a51-startup-geckoview-cold-view-nav-start: --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 diff --git a/taskcluster/ci/perftest/kind.yml b/taskcluster/ci/perftest/kind.yml index 5d8f253653..8a92fe55b2 100644 --- a/taskcluster/ci/perftest/kind.yml +++ b/taskcluster/ci/perftest/kind.yml @@ -25,7 +25,7 @@ job-defaults: attributes: retrigger: true run-on-projects: [] - use-system-python: false + use-python: default treeherder: kind: other tier: 3 diff --git a/taskcluster/ci/post-beetmover-components-dummy/kind.yml b/taskcluster/ci/post-beetmover-components-dummy/kind.yml new file mode 100644 index 0000000000..bf8d98a83c --- /dev/null +++ b/taskcluster/ci/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/ci/post-signing/kind.yml b/taskcluster/ci/post-signing/kind.yml new file mode 100644 index 0000000000..b07436b619 --- /dev/null +++ b/taskcluster/ci/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/ci/push-bundle/kind.yml b/taskcluster/ci/push-bundle/kind.yml new file mode 100644 index 0000000000..2c48a14177 --- /dev/null +++ b/taskcluster/ci/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/ci/release-early-tagging/kind.yml b/taskcluster/ci/release-early-tagging/kind.yml index 9b194fb441..775bb4ed7e 100644 --- a/taskcluster/ci/release-early-tagging/kind.yml +++ b/taskcluster/ci/release-early-tagging/kind.yml @@ -44,3 +44,12 @@ jobs: 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/ci/release-mark-as-shipped/kind.yml b/taskcluster/ci/release-mark-as-shipped/kind.yml index c9f6c82973..05faa3f88e 100644 --- a/taskcluster/ci/release-mark-as-shipped/kind.yml +++ b/taskcluster/ci/release-mark-as-shipped/kind.yml @@ -38,3 +38,7 @@ jobs: 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/ci/release-notify-promote/kind.yml b/taskcluster/ci/release-notify-promote/kind.yml index 9fcc8a3262..bc53da5a49 100644 --- a/taskcluster/ci/release-notify-promote/kind.yml +++ b/taskcluster/ci/release-notify-promote/kind.yml @@ -13,6 +13,8 @@ kind-dependencies: - post-beetmover-dummy - release-generate-checksums-beetmover - release-bouncer-sub + - signing-apk + - signing-bundle job-defaults: name: notify-release-drivers-promote @@ -34,3 +36,5 @@ jobs: shipping-product: firefox devedition: shipping-product: devedition + firefox-android: + shipping-product: firefox-android diff --git a/taskcluster/ci/release-notify-push/kind.yml b/taskcluster/ci/release-notify-push/kind.yml index 1b641d383e..be1a7b5be8 100644 --- a/taskcluster/ci/release-notify-push/kind.yml +++ b/taskcluster/ci/release-notify-push/kind.yml @@ -11,6 +11,7 @@ transforms: kind-dependencies: - release-beetmover-push-to-release + - push-bundle job-defaults: name: notify-release-drivers-push @@ -32,3 +33,15 @@ jobs: 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/ci/release-notify-ship/kind.yml b/taskcluster/ci/release-notify-ship/kind.yml index 6f0c0f7627..fe3eced6e7 100644 --- a/taskcluster/ci/release-notify-ship/kind.yml +++ b/taskcluster/ci/release-notify-ship/kind.yml @@ -14,6 +14,8 @@ kind-dependencies: - release-bouncer-aliases - release-version-bump - release-mark-as-shipped + - push-bundle + - post-beetmover-components-dummy job-defaults: name: notify-release-drivers-ship @@ -39,3 +41,8 @@ jobs: 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/ci/release-notify-started/kind.yml b/taskcluster/ci/release-notify-started/kind.yml index 004665789d..929c07ec59 100644 --- a/taskcluster/ci/release-notify-started/kind.yml +++ b/taskcluster/ci/release-notify-started/kind.yml @@ -30,3 +30,5 @@ jobs: shipping-product: firefox devedition: shipping-product: devedition + firefox-android: + shipping-product: firefox-android diff --git a/taskcluster/ci/release-notify-testrail/kind.yml b/taskcluster/ci/release-notify-testrail/kind.yml new file mode 100644 index 0000000000..5e4fa41307 --- /dev/null +++ b/taskcluster/ci/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/ci/release-version-bump/kind.yml b/taskcluster/ci/release-version-bump/kind.yml index be1d9cd85f..114d52df95 100644 --- a/taskcluster/ci/release-version-bump/kind.yml +++ b/taskcluster/ci/release-version-bump/kind.yml @@ -11,6 +11,8 @@ transforms: kind-dependencies: - release-beetmover-push-to-release + - post-beetmover-components-dummy + - push-bundle job-defaults: description: Release Promotion version bump/tag @@ -22,10 +24,19 @@ job-defaults: 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"] - mozilla-(release|esr.*): + 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" @@ -57,3 +68,12 @@ jobs: 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/ci/repackage-msix/kind.yml b/taskcluster/ci/repackage-msix/kind.yml index 90e3506f54..96ff07c77c 100644 --- a/taskcluster/ci/repackage-msix/kind.yml +++ b/taskcluster/ci/repackage-msix/kind.yml @@ -19,11 +19,14 @@ kind-dependencies: 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: diff --git a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml b/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml index 6be2a95bf0..021896a7ad 100644 --- a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml +++ b/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml @@ -25,8 +25,10 @@ not-for-kind-dependencies: 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: diff --git a/taskcluster/ci/repackage/kind.yml b/taskcluster/ci/repackage/kind.yml index 2644e9d5f5..b9f94f4a89 100644 --- a/taskcluster/ci/repackage/kind.yml +++ b/taskcluster/ci/repackage/kind.yml @@ -27,7 +27,7 @@ only-for-build-platforms: - linux64-devedition/opt - linux64-asan-reporter-shippable/opt - linux64/opt - - linux-aarch64-shippable/opt + - linux64-aarch64-shippable/opt - macosx64-shippable/opt - macosx64-devedition/opt - macosx64/opt diff --git a/taskcluster/ci/repo-update/kind.yml b/taskcluster/ci/repo-update/kind.yml index 414c3bd4f8..50c7c0ac0e 100644 --- a/taskcluster/ci/repo-update/kind.yml +++ b/taskcluster/ci/repo-update/kind.yml @@ -30,7 +30,7 @@ job-defaults: default: "" DO_MOBILE_EXPERIMENTS: by-project: - mozilla-central: "" # TODO: enable after firefox-android merge + mozilla-(central|beta): "1" default: "" USE_MOZILLA_CENTRAL: by-project: diff --git a/taskcluster/ci/searchfox/kind.yml b/taskcluster/ci/searchfox/kind.yml index 71f94197ce..492cba940d 100644 --- a/taskcluster/ci/searchfox/kind.yml +++ b/taskcluster/ci/searchfox/kind.yml @@ -24,7 +24,7 @@ job-defaults: tier: 2 run-on-projects: ['mozilla-central'] optimization: null - use-system-python: false + 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 @@ -209,6 +209,7 @@ jobs: fetches: toolchain: - android-gradle-dependencies + - android-gradle-python-envs - android-ndk-linux - android-sdk-linux - linux64-jdk diff --git a/taskcluster/ci/signing-apk/kind.yml b/taskcluster/ci/signing-apk/kind.yml new file mode 100644 index 0000000000..85b2f21bfd --- /dev/null +++ b/taskcluster/ci/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/ci/signing-bundle/kind.yml b/taskcluster/ci/signing-bundle/kind.yml new file mode 100644 index 0000000000..e062282fd6 --- /dev/null +++ b/taskcluster/ci/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/ci/signing/kind.yml b/taskcluster/ci/signing/kind.yml new file mode 100644 index 0000000000..655750438c --- /dev/null +++ b/taskcluster/ci/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/ci/source-test/android-compare-locales.yml b/taskcluster/ci/source-test/android-compare-locales.yml new file mode 100644 index 0000000000..6423ad708d --- /dev/null +++ b/taskcluster/ci/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/ci/source-test/android-detekt.yml b/taskcluster/ci/source-test/android-detekt.yml new file mode 100644 index 0000000000..84f46ed6b7 --- /dev/null +++ b/taskcluster/ci/source-test/android-detekt.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/. +--- +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 + env: + JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" + attributes: + code-review: true + always-target: true + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - android-gradle-python-envs + - 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/ci/source-test/android-lint.yml b/taskcluster/ci/source-test/android-lint.yml new file mode 100644 index 0000000000..c7eb456021 --- /dev/null +++ b/taskcluster/ci/source-test/android-lint.yml @@ -0,0 +1,66 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + description: 'Run lint over all modules' + run: + using: gradlew + gradlew: ['lint'] + use-caches: false + worker: + max-run-time: 2700 + env: + JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" + docker-image: {in-tree: lint} + always-target: false + attributes: + code-review: true + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - android-gradle-python-envs + - 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/ci/source-test/buildconfig.yml b/taskcluster/ci/source-test/buildconfig.yml new file mode 100644 index 0000000000..85f0828a54 --- /dev/null +++ b/taskcluster/ci/source-test/buildconfig.yml @@ -0,0 +1,68 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + description: Make sure the content of .buildconfig.yml matches what gradle knows about its projects + 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: + JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" + 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-gradle-python-envs + - 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/ci/source-test/kind.yml b/taskcluster/ci/source-test/kind.yml index bb605e939a..f28ee39f96 100644 --- a/taskcluster/ci/source-test/kind.yml +++ b/taskcluster/ci/source-test/kind.yml @@ -16,13 +16,19 @@ 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 @@ -37,7 +43,7 @@ jobs-from: - wpt-metadata.yml job-defaults: - use-system-python: false + use-python: default attributes: retrigger: true task-context: diff --git a/taskcluster/ci/source-test/ktlint.yml b/taskcluster/ci/source-test/ktlint.yml new file mode 100644 index 0000000000..988f2b6660 --- /dev/null +++ b/taskcluster/ci/source-test/ktlint.yml @@ -0,0 +1,59 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + 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 + - android-gradle-python-envs + - 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 + env: + JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" + 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/ci/source-test/mozlint-android.yml b/taskcluster/ci/source-test/mozlint-android.yml index 6602d8c818..d98abe9734 100644 --- a/taskcluster/ci/source-test/mozlint-android.yml +++ b/taskcluster/ci/source-test/mozlint-android.yml @@ -81,6 +81,7 @@ lints: toolchain: # Aliases aren't allowed for toolchains installed by fetch. - linux64-android-gradle-dependencies + - android-gradle-python-envs - linux64-android-sdk-linux-repack - linux64-jdk-repack - linux64-node diff --git a/taskcluster/ci/source-test/node.yml b/taskcluster/ci/source-test/node.yml index f1df46b73d..1d8c8348fb 100644 --- a/taskcluster/ci/source-test/node.yml +++ b/taskcluster/ci/source-test/node.yml @@ -184,3 +184,38 @@ eslint-plugin-mozilla: 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/ci/source-test/python.yml b/taskcluster/ci/source-test/python.yml index d9e0ede88b..43680aacad 100644 --- a/taskcluster/ci/source-test/python.yml +++ b/taskcluster/ci/source-test/python.yml @@ -24,7 +24,7 @@ job-defaults: PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin" default: max-run-time: 3600 - use-system-python: false + use-python: default treeherder: kind: test tier: 1 diff --git a/taskcluster/ci/source-test/taskgraph.yml b/taskcluster/ci/source-test/taskgraph.yml index ab6883919a..3065c80482 100644 --- a/taskcluster/ci/source-test/taskgraph.yml +++ b/taskcluster/ci/source-test/taskgraph.yml @@ -24,11 +24,18 @@ diff: 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: >- - echo 'disabled' + 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/ci/**' diff --git a/taskcluster/ci/startup-test/kind.yml b/taskcluster/ci/startup-test/kind.yml index bc62e7e764..3e6975ae92 100644 --- a/taskcluster/ci/startup-test/kind.yml +++ b/taskcluster/ci/startup-test/kind.yml @@ -36,7 +36,7 @@ job-defaults: symbol: SUT kind: test tier: 1 - use-system-python: false + use-python: default jobs: linux32: diff --git a/taskcluster/ci/static-analysis-autotest/kind.yml b/taskcluster/ci/static-analysis-autotest/kind.yml index 6a01325598..39497268a8 100644 --- a/taskcluster/ci/static-analysis-autotest/kind.yml +++ b/taskcluster/ci/static-analysis-autotest/kind.yml @@ -23,7 +23,7 @@ job-defaults: max-run-time: 3600 env: PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest - use-system-python: false + use-python: default run-on-projects: ['mozilla-central'] run: using: mozharness diff --git a/taskcluster/ci/test-apk/kind.yml b/taskcluster/ci/test-apk/kind.yml new file mode 100644 index 0000000000..b1fe6c2a88 --- /dev/null +++ b/taskcluster/ci/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: + retrigger: true + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - android-gradle-python-envs + - 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/ci/test-components/kind.yml b/taskcluster/ci/test-components/kind.yml new file mode 100644 index 0000000000..bbdc5f7edd --- /dev/null +++ b/taskcluster/ci/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-type: debug + retrigger: true + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - android-gradle-python-envs + - 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/ci/test/awsy.yml b/taskcluster/ci/test/awsy.yml index c3cafe7e9a..6ba85dcb82 100644 --- a/taskcluster/ci/test/awsy.yml +++ b/taskcluster/ci/test/awsy.yml @@ -5,7 +5,7 @@ job-defaults: suite: awsy max-run-time: 7200 - instance-size: xlarge + instance-size: xlarge-noscratch virtualization: by-test-platform: windows.*(?:-shippable)?-qr/.*: virtual-with-gpu diff --git a/taskcluster/ci/test/browsertime-desktop.yml b/taskcluster/ci/test/browsertime-desktop.yml index fab92c40a6..f4a1abe080 100644 --- a/taskcluster/ci/test/browsertime-desktop.yml +++ b/taskcluster/ci/test/browsertime-desktop.yml @@ -16,8 +16,6 @@ job-defaults: by-app: chrome: - .*shippable.* - chromium: - - .*shippable.* safari: - .*macos.*shippable.* custom-car: @@ -84,8 +82,6 @@ browsertime-tp6: by-app: chrome: - .*shippable.* - chromium: - - .*shippable.* safari: - .*macos.*shippable.* custom-car: @@ -103,11 +99,6 @@ browsertime-tp6: - --browsertime-no-ffwindowrecorder - --conditioned-profile=settled - --extra-profiler-run - macosx1015.*: - - --chimera - - --browsertime-no-ffwindowrecorder - - --conditioned-profile=settled - - --extra-profiler-run default: - --chimera - --conditioned-profile=settled @@ -184,11 +175,6 @@ browsertime-responsiveness: - --browsertime-no-ffwindowrecorder - --conditioned-profile=settled - --extra-profiler-run - macosx1015.*: - - --cold - - --browsertime-no-ffwindowrecorder - - --conditioned-profile=settled - - --extra-profiler-run default: - --cold - --conditioned-profile=settled @@ -218,11 +204,6 @@ browsertime-tp6-essential: - --conditioned-profile=settled - --collect-perfstats - --extra-profiler-run - macosx1015.*: - - --chimera - - --browsertime-no-ffwindowrecorder - - --conditioned-profile=settled - - --extra-profiler-run default: - --chimera - --conditioned-profile=settled @@ -298,13 +279,6 @@ browsertime-tp6-bytecode: - --conditioned-profile=settled - --test-bytecode-cache - --extra-profiler-run - macosx1015.*: - - --chimera - - --browsertime - - --browsertime-no-ffwindowrecorder - - --conditioned-profile=settled - - --test-bytecode-cache - - --extra-profiler-run default: - --chimera - --browsertime @@ -317,6 +291,51 @@ browsertime-tp6-bytecode: 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: @@ -363,7 +382,7 @@ browsertime-benchmark: # - [speedometer3, sp3] Perma fails on osx 10.15.x machines (Bug 1809535) - [stylebench, sb] - [sunspider, ss] - - [unity-webgl, ugl] + # - [unity-webgl, ugl] Almost Perma failing on osx 10.15.x machines (Bug 1888398) - [webaudio, wa] custom-car: - [speedometer, sp] @@ -901,11 +920,6 @@ browsertime-tp6-webextensions: - --browsertime - --browsertime-no-ffwindowrecorder - --conditioned-profile=settled-webext - macosx1015.*: - - --chimera - - --browsertime-no-ffwindowrecorder - - --conditioned-profile=settled - - --extra-profiler-run default: - --chimera - --browsertime @@ -922,13 +936,11 @@ browsertime-indexeddb: by-app: chrome: - .*shippable.* - chromium: - - .*shippable.* custom-car: - .*64.*shippable.* default: [] raptor: - apps: [firefox, chrome, chromium] + apps: [firefox, chrome] run-visual-metrics: false subtests: - addMab1 diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/ci/test/browsertime-mobile.yml index 8e685a590e..0ef0c0519e 100644 --- a/taskcluster/ci/test/browsertime-mobile.yml +++ b/taskcluster/ci/test/browsertime-mobile.yml @@ -15,11 +15,11 @@ job-defaults: fenix: by-test-platform: android-hw.*-aarch64.*/.*: - index: mobile.v3.firefox-android.apks.fenix-nightly.latest.arm64-v8a - name: build/target.arm64-v8a.apk + upstream-task: signing-apk + name: public/build/target.arm64-v8a.apk default: - index: mobile.v3.firefox-android.apks.fenix-nightly.latest.armeabi-v7a - name: build/target.armeabi-v7a.apk + upstream-task: signing-apk + name: public/build/target.armeabi-v7a.apk refbrow: by-test-platform: android-hw.*-aarch64.*/.*: @@ -69,6 +69,11 @@ job-defaults: default: - linux64-minidump-stackwalk - linux64-fix-stacks + dependencies: + by-app: + fenix: + signing-apk: signing-apk-fenix-nightly-simulation + default: {} browsertime-tp6m: <<: &tp6m-defaults @@ -92,6 +97,7 @@ browsertime-tp6m: tier: by-app: geckoview: 1 + fenix: 2 refbrow: 2 default: 3 treeherder-symbol: Btime(tp6m) @@ -142,6 +148,13 @@ browsertime-tp6m: 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: @@ -172,6 +185,10 @@ browsertime-tp6m-essential: 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: @@ -216,13 +233,24 @@ browsertime-youtube-playback-mobile: raptor: apps: [fenix, geckoview, refbrow] subtests: - by-test-platform: - android-hw-a51.*: - - [youtube-playback-h264-sfr, ytp-h264-sfr] - - [youtube-playback-hfr, ytp-hfr] - # Bug 1699469 - Disabled until a crash is fixed. - # - [youtube-playback-widevine-h264-sfr, ytp-widevine-h264-sfr] - # - [youtube-playback-widevine-hfr, ytp-widevine-hfr] + 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 @@ -244,6 +272,10 @@ browsertime-youtube-playback-mobile: 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] @@ -347,7 +379,10 @@ browsertime-benchmark-speedometer-mobile: default: 3 run-on-projects: by-app: - refbrow: [] + fenix: + by-test-platform: + android-hw-a51.*shippable-qr.*: [trunk] + default: [] geckoview: by-test-platform: android-hw-a51.*shippable-qr.*: [trunk] @@ -375,10 +410,17 @@ browsertime-benchmark-speedometer3-mobile: default: 3 run-on-projects: by-app: - refbrow: [] + 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: diff --git a/taskcluster/ci/test/compiled.yml b/taskcluster/ci/test/compiled.yml index 08434d5ac7..ebe6b9bb2b 100644 --- a/taskcluster/ci/test/compiled.yml +++ b/taskcluster/ci/test/compiled.yml @@ -49,7 +49,7 @@ gtest: description: "GTests run" suite: gtest treeherder-symbol: GTest - instance-size: xlarge + instance-size: xlarge-noscratch run-on-projects: by-variant: 1proc: @@ -81,17 +81,17 @@ jittest: default: [] chunks: by-test-platform: - windows.*-ccov-qr/opt: 8 + windows.*-ccov-qr/opt: 6 windows.*: 1 macosx.*/opt: 1 macosx.*/debug: 3 - android.*: 10 + android.*/opt: 3 + android-hw-.*-aarch64-qr/debug: 8 default: 6 max-run-time: by-test-platform: - windows.*-ccov.*/.*: 7200 - macosx.*-ccov.*/.*: 7200 - android-hw.*: 5400 + windows.*-ccov.*/.*: 1800 + android-hw.*: 2400 default: 3600 mozharness: chunked: @@ -116,7 +116,10 @@ jittest-all: by-test-platform: android-hw-.*-arm7(?:-shippable)?-qr/.*: ['mozilla-central', 'release'] default: [] - chunks: 10 + chunks: + by-test-platform: + android-.*/opt: 3 + android-.*/debug: 6 max-run-time: 3600 mozharness: chunked: true diff --git a/taskcluster/ci/test/kind.yml b/taskcluster/ci/test/kind.yml index 514fb648c4..e9c2b1e5e9 100644 --- a/taskcluster/ci/test/kind.yml +++ b/taskcluster/ci/test/kind.yml @@ -7,6 +7,7 @@ loader: gecko_taskgraph.loader.test:loader kind-dependencies: - build - build-signing + - signing-apk - repackage-signing-shippable-l10n-msix - repackage-signing-msix - repackage-signing @@ -45,6 +46,7 @@ jobs-from: job-defaults: attributes: retrigger: true + use-python: default require-signed-extensions: by-release-type: release|esr.*: true @@ -83,6 +85,11 @@ job-defaults: - 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/ci/test/misc.yml b/taskcluster/ci/test/misc.yml index ba6fd7aec8..8f1f93157c 100644 --- a/taskcluster/ci/test/misc.yml +++ b/taskcluster/ci/test/misc.yml @@ -128,6 +128,7 @@ test-verify: - 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" @@ -229,6 +230,7 @@ test-coverage: - linux64-node - linux64-minidump-stackwalk - linux64-fix-stacks + - linux64-hostutils test-coverage-gpu: description: "Per-test coverage for tests that require gpu instances" diff --git a/taskcluster/ci/test/mochitest.yml b/taskcluster/ci/test/mochitest.yml index afe9530364..1339652baf 100644 --- a/taskcluster/ci/test/mochitest.yml +++ b/taskcluster/ci/test/mochitest.yml @@ -58,13 +58,11 @@ mochitest-plain: - xorigin - no-fission - socketprocess_networking - - webrender-sw+no-fission - - webrender-sw - headless - - headless+socketprocess_networking - http3 - http2 - geckoview-fission-isolate-high-value + - geckoview-no-fission-ship run-on-projects: by-variant: conditioned_profile: @@ -86,17 +84,7 @@ mochitest-plain: socketprocess_networking: by-test-platform: .*(asan|ccov|wayland).*: [] - (linux.*64|macosx.*64|windows11-64.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central'] - default: [] - webrender-sw+no-fission: - by-test-platform: - android-em-7.0-x86_64-qr/debug: built-projects - linux.*asan.*: ['trunk'] - linux.*64(-shippable)?-qr/(opt|debug): ['trunk'] - default: [] - webrender-sw: - by-test-platform: - linux1804-64-qr/debug: built-projects + linux.*64.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central'] default: [] aab+no-fission: by-test-platform: @@ -107,17 +95,12 @@ mochitest-plain: .*wayland.*: [] linux1804-64.*: ['mozilla-central'] default: [] - headless+socketprocess_networking: - by-test-platform: - .*wayland.*: [] - linux1804-64.*: ['mozilla-central'] - default: [] no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug-isolated-process: [] android.*: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] http3: by-test-platform: @@ -132,6 +115,11 @@ mochitest-plain: 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: [] @@ -146,9 +134,16 @@ mochitest-plain: 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 # runs out of memory using 8GB + linux.*64-tsan-qr/opt: xlarge-noscratch # runs out of memory using 8GB default: default max-run-time: 3600 allow-software-gl-layers: false @@ -188,6 +183,7 @@ mochitest-plain: - android-emulator-linux - linux64-node - linux64-minidump-stackwalk + - linux64-hostutils mochitest-a11y: description: "Mochitest a11y run" @@ -236,7 +232,6 @@ mochitest-browser-chrome: linux.*64-shippable-qr/opt: ['release'] linux.*64(-shippable)?-qr/opt: built-projects linux.*64-devedition-qr/opt: built-projects - windows1.*-64.*-qr/debug: built-projects .*wayland.*: [] # will change to built-projects when greened up default: [] webrender-sw+a11y-checks: @@ -305,11 +300,9 @@ mochitest-browser-chrome: mozharness: mochitest-flavor: browser chunked: true - # Bug 1281241: migrating to m3.large instances instance-size: by-test-platform: - linux.*64-tsan-qr/opt: xlarge # runs out of memory using 8GB - linux.*64-asan-qr/opt: xlarge # runs out of memory using 8GB + linux.*64-asan-qr/opt: xlarge # runs out of memory frequently default: default allow-software-gl-layers: false @@ -444,7 +437,7 @@ mochitest-chrome: by-test-platform: .*asan.*: [] .*ccov.*: [] - (linux.*64|macosx.*64|windows11-64.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central'] + linux.*64.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central'] default: [] webrender-sw+1proc: by-test-platform: @@ -465,7 +458,7 @@ mochitest-chrome: chunked: true instance-size: by-test-platform: - linux.*64-tsan-qr/opt: xlarge # runs out of memory otherwise using 8GB + linux.*64-tsan-qr/opt: xlarge-noscratch # runs out of memory otherwise using 8GB default: default mochitest-devtools-chrome: @@ -478,8 +471,6 @@ mochitest-devtools-chrome: variants: - a11y-checks - socketprocess_networking - - webrender-sw - - devtools-no-eft+no-fission - http3 run-on-projects: by-variant: @@ -487,10 +478,6 @@ mochitest-devtools-chrome: by-test-platform: linux.*64(-shippable)?-qr/opt: ['trunk'] default: [] - devtools-no-eft+no-fission: - by-test-platform: - linux.*64(-shippable)?-qr/opt: ['trunk'] - default: [] http3: by-test-platform: linux1804-64-qr/debug: built-projects @@ -499,12 +486,7 @@ mochitest-devtools-chrome: by-test-platform: .*asan.*: [] .*ccov.*: [] - (linux.*64|macosx.*64|windows.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central'] - default: [] - webrender-sw: - by-test-platform: - linux.*64-qr/debug: built-projects - .*wayland.*: [] # will change to built-projects when greened up + linux.*64.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central'] default: [] default: by-test-platform: @@ -534,7 +516,7 @@ mochitest-devtools-chrome: chunked: true instance-size: by-test-platform: - linux.*64-[at]san(-qr)?/opt: xlarge # runs out of memory otherwise using 8GB + 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 @@ -563,6 +545,7 @@ mochitest-devtools-chrome: - android-emulator-linux - linux64-node - linux64-minidump-stackwalk + - linux64-hostutils mochitest-devtools-chrome-failures: @@ -615,8 +598,8 @@ mochitest-plain-gpu: webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects - linux.*asan.*: ['trunk'] - linux.*64(-shippable)?-qr/(opt|debug): ['trunk'] + linux.*asan.*: ['mozilla-central'] + linux.*64(-shippable)?-qr/(opt|debug): ['mozilla-central'] default: [] webrender-sw: by-test-platform: @@ -629,7 +612,7 @@ mochitest-plain-gpu: linux1804-32.*: [] .*-tsan-qr/opt: [] .*wayland.*: [] - linux.*: ['trunk'] # linux opt/debug/asan + linux.*: ['mozilla-central'] # linux opt/debug/asan android.*: built-projects default: [] default: @@ -638,9 +621,15 @@ mochitest-plain-gpu: default: built-projects virtualization: virtual-with-gpu tier: - by-test-platform: - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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: @@ -652,7 +641,7 @@ mochitest-plain-gpu: - --mochitest-suite=mochitest-plain-gpu instance-size: by-test-platform: - linux.*64-tsan-qr/opt: xlarge # runs out of memory otherwise using 8GB + linux.*64-tsan-qr/opt: xlarge-noscratch # runs out of memory otherwise using 8GB default: default mochitest-chrome-gpu: @@ -691,7 +680,7 @@ mochitest-chrome-gpu: - --mochitest-suite=mochitest-chrome-gpu instance-size: by-test-platform: - linux.*64-tsan-qr/opt: xlarge # runs out of memory using 8GB of memory + linux.*64-tsan-qr/opt: xlarge-noscratch # runs out of memory using 8GB of memory default: default mochitest-media: @@ -731,8 +720,8 @@ mochitest-media: .*hw-ref.*: [] android-em-7.0-x86_64-qr/debug: ['autoland', 'mozilla-central'] android-hw-.*-aarch64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] socketprocess: by-test-platform: @@ -749,8 +738,8 @@ mochitest-media: by-test-platform: .*hw-ref.*: [] android-em-7.0-x86_64-qr/debug: ['autoland', 'mozilla-central'] - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] webrender-sw: by-test-platform: @@ -765,8 +754,8 @@ mochitest-media: android-hw-.*-arm7.*/(?:debug)?: ['trunk', 'mozilla-beta', 'mozilla-release'] android-em-7.0-x86_64-qr/debug-isolated-process: [] android.*: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] wmf-media-engine: by-test-platform: @@ -828,12 +817,26 @@ mochitest-media: - --setpref=webgl.out-of-process=false - --setpref=security.sandbox.content.headless=false tier: - by-test-platform: - .*ccov.*: 2 - android-em.*: 1 - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - android-hw.*: 1 - default: default + 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" @@ -1112,7 +1115,6 @@ mochitest-webgpu: default: by-test-platform: android.*: [] - macosx.*: [] # Things like asan/tsan/32bit are restricted to --full # via UNCOMMON_TRY_TASK_LABELS # in taskcluster/gecko_taskgraph/target_tasks.py. @@ -1121,10 +1123,13 @@ mochitest-webgpu: by-test-platform: macosx.*64-ccov.*/.*: 7200 default: 1800 - # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety - allow-software-gl-layers: false mozharness: mochitest-flavor: plain + extra-options: + by-test-platform: + macos.*: + - --setpref=gfx.webgpu.ignore-blocklist=true + default: [] mochitest-remote: description: "Mochitest for the remote agent (/remote folder)" @@ -1135,23 +1140,13 @@ mochitest-remote: variants: - no-fission - socketprocess_networking - - webrender-sw+no-fission - - webrender-sw run-on-projects: by-variant: socketprocess_networking: by-test-platform: .*asan.*: [] .*ccov.*: [] - (linux.*64|macosx.*64|windows1.*-64.*)(-shippable)?-qr/(opt|debug): ['autoland', 'mozilla-central'] - default: [] - webrender-sw+no-fission: - by-test-platform: - linux.*64-qr/debug: ['trunk'] - default: [] - webrender-sw: - by-test-platform: - linux.*64-qr/debug: ['all'] + linux.*64.*(-shippable)?-qr/debug: ['autoland', 'mozilla-central'] default: [] no-fission: by-test-platform: diff --git a/taskcluster/ci/test/reftest.yml b/taskcluster/ci/test/reftest.yml index 5e19ec3fd5..21474f7aad 100644 --- a/taskcluster/ci/test/reftest.yml +++ b/taskcluster/ci/test/reftest.yml @@ -41,7 +41,7 @@ crashtest: chunks: by-test-platform: android-em-7.*: 1 - linux.*64-tsan-qr/opt: 32 + linux.*64-tsan-qr/opt: 4 default: 1 variants: - no-fission @@ -52,8 +52,8 @@ crashtest: webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] webrender-sw: by-test-platform: @@ -66,8 +66,8 @@ crashtest: no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug-isolated-process: [] - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] android.*: built-projects default: [] default: @@ -77,10 +77,20 @@ crashtest: default: built-projects max-run-time: 3600 tier: - by-test-platform: - android-hw-.*-qr/.*: 2 - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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" @@ -127,8 +137,8 @@ jsreftest: by-variant: no-fission: by-test-platform: - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + 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 @@ -138,6 +148,13 @@ jsreftest: android.*/.*: [] default: built-projects virtualization: virtual + tier: + by-variant: + no-fission: + by-test-platform: + linux.*: 2 + default: default + default: default reftest: description: "Reftest run" @@ -147,7 +164,7 @@ reftest: by-test-platform: android-em-7.*: 6 linux1804-64(-shippable|-devedition|-qr)?/opt: 5 - linux.*64-tsan-qr/opt: 32 + linux.*64-tsan-qr/opt: 16 macosx101.*-64-shippable(-qr)?/opt: 3 macosx101.*-64/debug: 4 macosx101.*-64(-ccov.*|-qr)/debug: 6 @@ -159,6 +176,7 @@ reftest: windows11.*/opt: 3 default: 8 variants: + - geckoview-no-fission-ship - no-fission - webrender-dcomp-disabled - webrender-dcomp-present @@ -171,8 +189,8 @@ reftest: webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] webrender-sw: by-test-platform: @@ -184,10 +202,15 @@ reftest: no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug-isolated-process: [] - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + 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.*/.*: [] @@ -209,9 +232,19 @@ reftest: windows.*/opt: false default: true tier: - by-test-platform: - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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" diff --git a/taskcluster/ci/test/talos.yml b/taskcluster/ci/test/talos.yml index 28da3b47f4..3ce85fd039 100644 --- a/taskcluster/ci/test/talos.yml +++ b/taskcluster/ci/test/talos.yml @@ -694,7 +694,7 @@ talos-webgl: mozharness: extra-options: by-test-platform: - windows(10-64-ref-hw|11-64-2009-hw-ref).*: + windows11-64-2009-hw-ref.*: - --suite=webgl - --skip-preflight default: @@ -777,3 +777,41 @@ talos-realworld-webextensions-profiling: 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: 1800 + 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/ci/test/test-platforms.yml b/taskcluster/ci/test/test-platforms.yml index 0f124e0878..b957b8a4db 100644 --- a/taskcluster/ci/test/test-platforms.yml +++ b/taskcluster/ci/test/test-platforms.yml @@ -43,7 +43,6 @@ linux1804-64-qr/opt: - awsy - desktop-screenshot-capture - linux1804-tests - - mochitest-webgpu - web-platform-tests - web-platform-tests-backlog - talos @@ -55,7 +54,6 @@ linux1804-64-shippable-qr/opt: - awsy - desktop-screenshot-capture - linux1804-tests - - mochitest-webgpu - web-platform-tests - web-platform-tests-backlog - talos @@ -72,21 +70,18 @@ linux1804-64-qr/debug: build-platform: linux64/debug test-sets: - linux1804-tests - - mochitest-webgpu - web-platform-tests linux1804-64-asan-qr/opt: build-platform: linux64-asan/opt test-sets: - linux1804-tests - - mochitest-webgpu - web-platform-tests linux1804-64-tsan-qr/opt: build-platform: linux64-tsan/opt test-sets: - linux1804-tests - - mochitest-webgpu - web-platform-tests linux1804-64-ccov-qr/opt: @@ -95,7 +90,6 @@ linux1804-64-ccov-qr/opt: - ccov-code-coverage-tests - linux1804-tests - linux1804-ccov-tests - - mochitest-webgpu - web-platform-tests linux1804-64-devedition-qr/opt: @@ -116,18 +110,21 @@ linux2204-64-wayland/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.*/) @@ -191,11 +188,6 @@ windows10-64-qr/opt: - windows-talos - browsertime -windows10-64-ref-hw-2017-qr/opt: - build-platform: win64-shippable/opt - test-sets: - - talos-ref-hw - windows11-64-2009-hw-ref-shippable/opt: build-platform: win64-shippable/opt build-signing-label: @@ -274,6 +266,7 @@ windows11-64-2009-qr/debug: default: build-signing-win64/debug test-sets: - web-platform-tests + - webgpu - windows11-2009-tests windows11-64-2009-qr/opt: @@ -287,6 +280,7 @@ windows11-64-2009-qr/opt: - desktop-screenshot-capture - web-platform-tests - web-platform-tests-backlog + - webgpu - windows11-2009-tests - talos-xperf @@ -364,6 +358,7 @@ macosx1015-64-shippable-qr/opt: - talos-profiling - web-platform-tests - web-platform-tests-backlog + - webgpu macosx1015-64-nightlyasrelease-qr/opt: build-platform: macosx64-nightlyasrelease/opt @@ -375,6 +370,7 @@ macosx1015-64-devedition-qr/opt: test-sets: - macosx1015-64-qr-tests - web-platform-tests + - webgpu macosx1015-64-qr/opt: build-platform: macosx64/opt @@ -383,6 +379,7 @@ macosx1015-64-qr/opt: - macosx1015-64-qr-tests - web-platform-tests - web-platform-tests-backlog + - webgpu - browsertime macosx1015-64-qr/debug: @@ -390,6 +387,7 @@ macosx1015-64-qr/debug: test-sets: - macosx1015-64-qr-tests - web-platform-tests + - webgpu macosx1015-64-ccov-qr/opt: build-platform: macosx64-ccov/opt diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/ci/test/test-sets.yml index 16807b5b9e..4a8f3d019b 100644 --- a/taskcluster/ci/test/test-sets.yml +++ b/taskcluster/ci/test/test-sets.yml @@ -15,6 +15,10 @@ ### Feature-specific test groups +webgpu: + - mochitest-webgpu + - web-platform-tests-webgpu + web-platform-tests: - web-platform-tests - web-platform-tests-crashtest @@ -22,7 +26,6 @@ web-platform-tests: - web-platform-tests-print-reftest - web-platform-tests-reftest - web-platform-tests-wdspec - - web-platform-tests-webgpu - web-platform-tests-canvas web-platform-tests-backlog: @@ -32,9 +35,6 @@ web-platform-tests-backlog: mochitest-devtools-chrome: - mochitest-devtools-chrome -mochitest-webgpu: - - mochitest-webgpu - talos: - talos-bcv - talos-chrome @@ -55,6 +55,7 @@ talos: - 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 @@ -83,6 +84,7 @@ talos-ref-hw: browsertime: - browsertime-tp6 + - browsertime-tp7 - browsertime-tp6-essential - browsertime-tp6-bytecode - browsertime-tp6-live @@ -235,7 +237,6 @@ windows32-2009-tests: - mochitest-plain - mochitest-plain-gpu - mochitest-remote - - mochitest-webgpu - reftest - telemetry-tests-client - test-verify @@ -279,7 +280,6 @@ windows11-2009-tests: - mochitest-plain - mochitest-plain-gpu - mochitest-remote - - mochitest-webgpu - mochitest-webgl1-core - mochitest-webgl1-ext - mochitest-webgl2-core @@ -301,7 +301,6 @@ mingwclang-tests-debug: - mochitest-webgl1-ext - mochitest-webgl2-core - mochitest-webgl2-ext - - mochitest-webgpu - reftest - telemetry-tests-client @@ -318,7 +317,6 @@ mingwclang-win32-tests-debug: - mochitest-webgl1-ext - mochitest-webgl2-core - mochitest-webgl2-ext - - mochitest-webgpu # - reftest - disabled, see bug 1642719 - telemetry-tests-client @@ -346,6 +344,7 @@ windows-talos: - talos-tabswitch - talos-realworld-webextensions - talos-webgl + - talos-pdfpaint # - talos-h1 Bug 1487031 - Disabled for not finding actionable regressions windows-ref-hw-tests: @@ -366,7 +365,6 @@ macosx1100-64-qr-tests: - mochitest-browser-media - mochitest-chrome-gpu - mochitest-media - - mochitest-webgpu - mochitest-webgl1-core - mochitest-webgl1-ext - mochitest-webgl2-core @@ -400,7 +398,6 @@ macosx1015-64-qr-tests: - mochitest-webgl1-ext - mochitest-webgl2-core - mochitest-webgl2-ext - - mochitest-webgpu - reftest - telemetry-tests-client - test-verify @@ -427,6 +424,7 @@ macosx64-talos: - talos-realworld-webextensions - talos-webgl - talos-tabswitch + - talos-pdfpaint # - talos-h1 # too long to unpack profile- Bug 1442893 macosx1400-64-qr-tests: diff --git a/taskcluster/ci/test/variants.yml b/taskcluster/ci/test/variants.yml index c57a332a91..8cb31ee047 100644 --- a/taskcluster/ci/test/variants.yml +++ b/taskcluster/ci/test/variants.yml @@ -77,6 +77,7 @@ aab: - linux64-minidump-stackwalk - linux64-fix-stacks - linux64-jdk + - linux64-hostutils replace: target: "geckoview-test_runner.aab" @@ -297,7 +298,7 @@ webrender-dcomp-compositing: webrender-sw: description: "{description} with software webrender enabled" component: "Core::Graphics: WebRender" - expiration: "2024-09-01" + expiration: "never" suffix: "swr" mozinfo: "swgl" merge: @@ -317,27 +318,6 @@ webgl-ipc: - "--setpref=webgl.out-of-process=true" - "--setpref=security.sandbox.content.headless=true" -devtools-no-eft: - description: "{description} with DevTools EFT disabled" - component: "DevTools::Framework" - expiration: "2024-03-01" - suffix: "dt-no-eft" - when: - $eval: ' - "linux" in task["test-platform"] - && "opt" in task["test-platform"] - && "mochitest-devtools-chrome" == task["try-name"] - && !( - "asan" in task["test-platform"] - || "tsan" in task["test-platform"] - || "ccov" in task["test-platform"] - ) - ' - merge: - mozharness: - extra-options: - - "--setpref=devtools.every-frame-target.enabled=false" - wmf-media-engine: description: "{description} with Windows Media Foundation media engine enabled" component: "Core::Audio/Video: Playback" diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/ci/test/web-platform.yml index 4ef9721fe6..4a1818cbd6 100644 --- a/taskcluster/ci/test/web-platform.yml +++ b/taskcluster/ci/test/web-platform.yml @@ -5,7 +5,7 @@ job-defaults: suite: category: web-platform-tests - instance-size: xlarge + instance-size: xlarge-noscratch max-run-time: by-test-platform: android-em-7.0-x86_64/debug: 7200 @@ -37,9 +37,15 @@ web-platform-tests: treeherder-symbol: W(wpt) virtualization: virtual tier: - by-test-platform: - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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 @@ -63,29 +69,14 @@ web-platform-tests: default: 7200 variants: - no-fission - - webrender-sw+no-fission - - webrender-sw run-on-projects: by-variant: - webrender-sw: - by-test-platform: - .*-32.*/.*: [] - linux.*64-qr/debug: built-projects - windows.*-qr/debug: built-projects - android-em-7.0-x86_64-qr/debug: [] - default: [] - webrender-sw+no-fission: - by-test-platform: - .*-32.*/.*: [] - android-em-7.0-x86_64-qr/debug: built-projects - linux.*64-qr/debug: built-projects - default: [] no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug-isolated-process: [] android.*: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] default: by-test-platform: @@ -198,14 +189,14 @@ web-platform-tests-reftest: webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + 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: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] android.*: built-projects default: [] default: @@ -214,9 +205,15 @@ web-platform-tests-reftest: .*wayland.*: [] default: built-projects tier: - by-test-platform: - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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 @@ -232,7 +229,6 @@ web-platform-tests-webgpu: virtualization: virtual-with-gpu tier: by-test-platform: - .*-32.*/.*: 3 android.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914 macos.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913 linux2204.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912 @@ -257,8 +253,7 @@ web-platform-tests-webgpu: variants: [] # We don't need sw or nofis testing. run-on-projects: by-test-platform: - android.*: [] # Out of scope - linux1804.*: [] # We don't support anything less than Mesa Lavapipe 22.1.2, so this is _out_. + 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: @@ -283,9 +278,15 @@ web-platform-tests-canvas: treeherder-symbol: W(canvas) virtualization: virtual-with-gpu tier: - by-test-platform: - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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 @@ -299,29 +300,14 @@ web-platform-tests-canvas: default: 1800 variants: - no-fission - - webrender-sw+no-fission - - webrender-sw run-on-projects: by-variant: - webrender-sw: - by-test-platform: - .*-32.*/.*: [] - linux.*64-qr/debug: built-projects - windows.*-qr/debug: built-projects - android-em-7.0-x86_64-qr/debug: [] - default: [] - webrender-sw+no-fission: - by-test-platform: - .*-32.*/.*: [] - android-em-7.0-x86_64-qr/debug: built-projects - linux.*64-qr/debug: built-projects - default: [] no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug-isolated-process: [] android.*: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] default: by-test-platform: @@ -391,24 +377,9 @@ web-platform-tests-wdspec: - --test-type=wdspec variants: - no-fission - - webrender-sw+no-fission - - webrender-sw - headless run-on-projects: by-variant: - webrender-sw+no-fission: - by-test-platform: - android-em-7.0-x86_64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] - default: [] - webrender-sw: - by-test-platform: - android-em-7.0-x86_64-qr/debug: [] - .*-32.*/.*: [] - linux.*64-qr/debug: built-projects - windows.*-qr/debug: built-projects - default: [] headless: by-test-platform: android.*: [] @@ -416,8 +387,8 @@ web-platform-tests-wdspec: default: built-projects no-fission: by-test-platform: - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] android.*: built-projects default: [] default: @@ -425,7 +396,13 @@ web-platform-tests-wdspec: android.*: [] .*wayland.*: [] default: built-projects - tier: default + tier: + by-variant: + no-fission: + by-test-platform: + linux.*: 2 + default: default + default: default fetches: toolchain: by-test-platform: @@ -436,6 +413,7 @@ web-platform-tests-wdspec: - linux64-geckodriver - linux64-minidump-stackwalk - linux64-fix-stacks + - linux64-hostutils linux.*64.*: - linux64-geckodriver - linux64-minidump-stackwalk @@ -486,14 +464,14 @@ web-platform-tests-crashtest: webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + 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: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] android.*: built-projects default: [] default: @@ -501,7 +479,17 @@ web-platform-tests-crashtest: android.*: [] android-em-7.0-x86_64-qr/debug: built-projects default: built-projects - tier: default + 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" @@ -509,7 +497,17 @@ web-platform-tests-print-reftest: treeherder-symbol: W(Wp) chunks: 1 test-manifest-loader: null # don't load tests in the taskgraph - tier: default + 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 @@ -526,13 +524,13 @@ web-platform-tests-print-reftest: webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] default: [] no-fission: by-test-platform: - linux1804-64-qr/debug: ['trunk'] - linux1804-64(-shippable|-asan)?-qr/opt: ['trunk'] + linux1804-64-qr/debug: ['mozilla-central'] + linux1804-64(-shippable|-asan)?-qr/opt: ['mozilla-central'] android.*: built-projects default: [] default: diff --git a/taskcluster/ci/test/xpcshell.yml b/taskcluster/ci/test/xpcshell.yml index 46ecd690e5..02a615bdc2 100644 --- a/taskcluster/ci/test/xpcshell.yml +++ b/taskcluster/ci/test/xpcshell.yml @@ -51,6 +51,11 @@ xpcshell: - 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: @@ -61,27 +66,32 @@ xpcshell: default: [] socketprocess_networking+no-fission: by-test-platform: - linux1804-64.*: ['trunk'] + linux1804-64.*: ['mozilla-central'] default: [] socketprocess_networking: by-test-platform: - (linux1804-64|macosx).*: ['trunk'] # All Linux & Mac variants + 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.*: ['trunk'] + 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.*: [] + android.*: built-projects .*wayland.*: [] windows.*-asan-qr/opt: [] # No XPCShell on ASAN yet default: built-projects @@ -89,7 +99,7 @@ xpcshell: by-test-platform: .*-asan-qr/opt: 4 .*-ccov.*/.*: 8 - .*-tsan-qr/opt: 8 + .*-tsan-qr/opt: 10 (android-em-7.*|macosx.*|linux1804-64.*/opt): 2 default: 4 max-run-time: @@ -103,10 +113,20 @@ xpcshell: default: 5400 allow-software-gl-layers: false tier: - by-test-platform: - windows.*-asan.*: 3 - android-em-7.0-x86_64-qr/debug-isolated-process: 3 - default: default + 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: @@ -138,6 +158,7 @@ xpcshell: - android-emulator-linux - linux64-node - linux64-minidump-stackwalk + - linux64-hostutils xpcshell-failures: description: "xpcshell specific failures test run" diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml index 3c76f7cad4..6c2c558c9c 100644 --- a/taskcluster/ci/toolchain/android.yml +++ b/taskcluster/ci/toolchain/android.yml @@ -190,6 +190,8 @@ linux64-android-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 @@ -200,6 +202,10 @@ linux64-android-gradle-dependencies: - '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: @@ -212,6 +218,7 @@ linux64-android-gradle-dependencies: - linux64-android-sdk-linux-repack - linux64-jdk-repack - linux64-node + - android-gradle-python-envs linux64-android-gradle-dependencies-lite: description: "Android Lite Gradle dependencies toolchain task" @@ -230,6 +237,8 @@ linux64-android-gradle-dependencies-lite: - '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: @@ -242,3 +251,14 @@ linux64-android-gradle-dependencies-lite: - linux64-android-sdk-linux-repack - linux64-jdk-repack - linux64-node + - android-gradle-python-envs + +android-gradle-python-envs: + description: "gradle-python-envs plugin toolchain task" + treeherder: + symbol: TL(gradle-python-envs) + run: + script: gradle-python-envs.sh + arguments: ['0.0.31'] + sparse-profile: null + toolchain-artifact: public/build/gradle-python-envs-0.0.31.tar.zst diff --git a/taskcluster/ci/toolchain/dump-syms.yml b/taskcluster/ci/toolchain/dump-syms.yml index 95e90b5984..05aee5e352 100644 --- a/taskcluster/ci/toolchain/dump-syms.yml +++ b/taskcluster/ci/toolchain/dump-syms.yml @@ -24,7 +24,7 @@ linux64-dump_syms: fetches: toolchain: - linux64-clang-toolchain - - linux64-rust-toolchain + - linux64-rust - sysroot-x86_64-linux-gnu macosx64-dump_syms: @@ -35,7 +35,7 @@ macosx64-dump_syms: arguments: ['x86_64-apple-darwin'] fetches: toolchain: - - linux64-rust-macos-toolchain + - linux64-rust-macos - linux64-clang-toolchain - macosx64-sdk-toolchain @@ -46,7 +46,7 @@ macosx64-aarch64-dump_syms: arguments: ['aarch64-apple-darwin'] fetches: toolchain: - - linux64-rust-macos-toolchain + - linux64-rust-macos - linux64-clang-toolchain - macosx64-sdk-toolchain @@ -58,5 +58,5 @@ win64-dump_syms: fetches: toolchain: - linux64-clang-toolchain - - linux64-rust-windows-toolchain + - linux64-rust-windows - vs-toolchain diff --git a/taskcluster/ci/toolchain/hostutils.yml b/taskcluster/ci/toolchain/hostutils.yml new file mode 100644 index 0000000000..d9974e917a --- /dev/null +++ b/taskcluster/ci/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/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml index d9dd52c980..524bb20670 100644 --- a/taskcluster/ci/toolchain/kind.yml +++ b/taskcluster/ci/toolchain/kind.yml @@ -36,6 +36,7 @@ jobs-from: - geckodriver.yml - gn.yml - grcov.yml + - hostutils.yml - libunwind.yml - llvm-symbolizer.yml - macos-sdk.yml diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/ci/toolchain/llvm-symbolizer.yml index 8864a81cc1..11b63397c2 100644 --- a/taskcluster/ci/toolchain/llvm-symbolizer.yml +++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml @@ -18,8 +18,10 @@ linux32-llvm-symbolizer-17: 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: @@ -40,8 +42,10 @@ linux64-llvm-symbolizer-17: 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: @@ -62,8 +66,10 @@ macosx64-llvm-symbolizer-17: 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: @@ -84,8 +90,10 @@ macosx64-aarch64-llvm-symbolizer-17: 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: @@ -106,8 +114,10 @@ win64-llvm-symbolizer-17: 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: @@ -128,8 +138,10 @@ linux32-llvm-symbolizer-18: 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: @@ -146,8 +158,10 @@ linux64-llvm-symbolizer-18: 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: @@ -164,8 +178,10 @@ macosx64-llvm-symbolizer-18: 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: @@ -182,8 +198,10 @@ macosx64-aarch64-llvm-symbolizer-18: 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: @@ -200,8 +218,10 @@ win64-llvm-symbolizer-18: 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: @@ -220,8 +240,10 @@ linux32-llvm-symbolizer-trunk: 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: @@ -244,8 +266,10 @@ linux64-llvm-symbolizer-trunk: 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: @@ -268,8 +292,10 @@ macosx64-llvm-symbolizer-trunk: 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: @@ -292,8 +318,10 @@ macosx64-aarch64-llvm-symbolizer-trunk: 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: @@ -316,8 +344,10 @@ win64-llvm-symbolizer-trunk: 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: diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/ci/toolchain/macos-sdk.yml index 60e4c231fd..194a1ee20a 100644 --- a/taskcluster/ci/toolchain/macos-sdk.yml +++ b/taskcluster/ci/toolchain/macos-sdk.yml @@ -32,20 +32,20 @@ macosx64-sdk-13.3: toolchain-alias: - MacOSX13.3.sdk -macosx64-sdk-14.2: - description: "MacOSX14.2 SDK" +macosx64-sdk-14.4: + description: "MacOSX14.4 SDK" treeherder: - symbol: TM(sdk14.2) + symbol: TM(sdk14.4) run: arguments: - - https://swcdn.apple.com/content/downloads/35/47/042-23550-A_M34N50O9N3/sua6ev7bjcexvorh4709vsgk64zgvsl42p/CLTools_macOSNMOS_SDK.pkg - - 22ce0acc9ab5c28845218b8c686d0208d6bf66bef64a369d3c0622247ba1258b438c9e44c64bb2bacf5e99eb398a6e7a337f2730cd4a969a7f0d2d5d3107306a - - Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk - toolchain-artifact: project/gecko/mac-sdk/MacOSX14.2.sdk.tar.zst + - 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.2.sdk + - MacOSX14.4.sdk ios-sdk-17.4: description: "iPhoneOS17.4 SDK" diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/ci/toolchain/misc.yml index 4424cf6e0b..80356f5be6 100644 --- a/taskcluster/ci/toolchain/misc.yml +++ b/taskcluster/ci/toolchain/misc.yml @@ -206,8 +206,8 @@ macosx64-custom-car: treeherder: symbol: TM(custom-car) worker: - max-run-time: 35000 - use-system-python: false + max-run-time: 40000 + use-python: default run-on-projects: [] run: script: build-custom-car.sh @@ -231,7 +231,7 @@ macosx64-custom-car: toolchain-artifact: public/build/car_macosx.tar.zst fetches: toolchain: - - macosx64-sdk-14.2 + - macosx64-sdk-14.4 macosx-arm64-custom-car: description: "Custom chromium-as-release build for mac (apple silicon)" @@ -243,7 +243,7 @@ macosx-arm64-custom-car: tier: 2 worker: max-run-time: 50000 - use-system-python: false + use-python: default run-on-projects: [] run: script: build-custom-car.sh @@ -267,7 +267,7 @@ macosx-arm64-custom-car: toolchain-artifact: public/build/car_macosx_arm.tar.zst fetches: toolchain: - - macosx64-sdk-14.2 + - macosx64-sdk-14.4 android-custom-car: description: "Custom chromium-as-release build for Android" @@ -278,7 +278,7 @@ android-custom-car: worker: docker-image: {in-tree: custom-car-android} max-run-time: 20000 - use-system-python: false + use-python: default run-on-projects: [] run: script: build-custom-car.sh @@ -313,7 +313,7 @@ linux64-custom-car: worker: docker-image: {in-tree: custom-car-linux} max-run-time: 16200 - use-system-python: false + use-python: default run-on-projects: [] run: script: build-custom-car.sh @@ -347,7 +347,7 @@ win64-custom-car: max-run-time: 16200 env: MSYSTEM: "MINGW64" - use-system-python: false + use-python: default run-on-projects: [] run: script: build-custom-car.sh @@ -508,23 +508,6 @@ nsis: - linux64-clang-toolchain - sysroot-x86_64-linux-gnu -win64-vs2019: - description: "VS 2019" - attributes: - local-toolchain: true - treeherder: - symbol: TW64(msvc2019) - worker: - env: - MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system - run: - script: get_vs.py - arguments: - - build/vs/vs2019.yaml - resources: - - build/vs/vs2019.yaml - toolchain-artifact: project/gecko/vs/vs.tar.zst - win64-vs2022: description: "VS 2022" attributes: @@ -617,3 +600,21 @@ win64-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/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml index 62f4fd4747..437c497d71 100644 --- a/taskcluster/ci/toolchain/rust.yml +++ b/taskcluster/ci/toolchain/rust.yml @@ -26,12 +26,12 @@ linux64-rust-1.74: - linux64-rust-base - linux64-rust-toolchain -linux64-rust-1.76: +linux64-rust-1.77: treeherder: symbol: TL(rust) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', @@ -62,18 +62,18 @@ linux64-rust-dev: ] fetches: fetch: - - rust-1.76.0 + - rust-1.77.2 toolchain: - linux64-clang-toolchain - linux64-toolchain-sysroot -linux64-rust-cross-1.76: +linux64-rust-cross-1.77: description: "rust repack with macos and windows cross support" treeherder: symbol: TL(rust-cross) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', @@ -90,13 +90,13 @@ linux64-rust-cross-1.76: ] toolchain-alias: linux64-rust-cross -linux64-rust-static-1.76: +linux64-rust-static-1.77: description: "rust repack with static linking support" treeherder: symbol: TL(rust-static) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'aarch64-unknown-linux-musl', '--target', 'x86_64-unknown-linux-gnu', @@ -120,13 +120,13 @@ linux64-rust-macos-1.70: ] toolchain-alias: linux64-rust-macos-toolchain -linux64-rust-macos-1.76: +linux64-rust-macos-1.77: description: "rust repack with macos-cross support" treeherder: symbol: TL(rust-macos) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-apple-darwin', @@ -134,13 +134,13 @@ linux64-rust-macos-1.76: ] toolchain-alias: linux64-rust-macos -linux64-rust-ios-1.76: +linux64-rust-ios-1.77: description: "rust repack with ios-cross support" treeherder: symbol: TL(rust-ios) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'aarch64-apple-ios', @@ -148,13 +148,13 @@ linux64-rust-ios-1.76: ] toolchain-alias: linux64-rust-ios -linux64-rust-android-1.76: +linux64-rust-android-1.77: description: "rust repack with android-cross support" treeherder: symbol: TL(rust-android) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'armv7-linux-androideabi', @@ -179,13 +179,13 @@ linux64-rust-windows-1.70: ] toolchain-alias: linux64-rust-windows-toolchain -linux64-rust-windows-1.76: +linux64-rust-windows-1.77: description: "rust repack with windows-cross support" treeherder: symbol: TL(rust-win) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-pc-windows-msvc', @@ -194,12 +194,12 @@ linux64-rust-windows-1.76: ] toolchain-alias: linux64-rust-windows -win64-rust-1.76: +win64-rust-1.77: treeherder: symbol: TW64(rust) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-pc-windows-msvc', '--target', 'x86_64-pc-windows-msvc', '--target', 'i686-pc-windows-msvc', @@ -207,23 +207,23 @@ win64-rust-1.76: ] toolchain-alias: win64-rust -macosx64-rust-1.76: +macosx64-rust-1.77: treeherder: symbol: TM(rust) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-apple-darwin', '--target', 'x86_64-apple-darwin', ] toolchain-alias: macosx64-rust -mingw32-rust-1.76: +mingw32-rust-1.77: treeherder: symbol: TMW(rust) run: arguments: [ - '--channel', '1.76.0', + '--channel', '1.77.2', '--host', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', '--target', 'i686-pc-windows-gnu', diff --git a/taskcluster/ci/ui-test-apk/kind.yml b/taskcluster/ci/ui-test-apk/kind.yml new file mode 100644 index 0000000000..405a59f03a --- /dev/null +++ b/taskcluster/ci/ui-test-apk/kind.yml @@ -0,0 +1,353 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL 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-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/ci/updatebot/kind.yml b/taskcluster/ci/updatebot/kind.yml index b62eccc5bc..2a1bc00d42 100644 --- a/taskcluster/ci/updatebot/kind.yml +++ b/taskcluster/ci/updatebot/kind.yml @@ -25,7 +25,7 @@ jobs: worker-type: b-linux-gcp worker: docker-image: {in-tree: updatebot} - max-run-time: 3600 + max-run-time: 4500 taskcluster-proxy: true scopes: - secrets:get:project/updatebot/{level}/try-sshkey @@ -44,7 +44,7 @@ jobs: status-types: - on-failed - on-exception - emails: ["tom@mozilla.com", "jewilde@mozilla.com"] + emails: ["tom@mozilla.com", "fbraun@mozilla.com"] fetches: toolchain: - linux64-rust @@ -60,7 +60,7 @@ jobs: tier: 1 worker-type: b-win2022 worker: - max-run-time: 3600 + max-run-time: 4500 taskcluster-proxy: true # begin _GENERATE_DEPOT_TOOLS_BINARIES_ # artifacts: diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/ci/upload-symbols/kind.yml index 0421835607..cf6875520a 100644 --- a/taskcluster/ci/upload-symbols/kind.yml +++ b/taskcluster/ci/upload-symbols/kind.yml @@ -33,7 +33,7 @@ jobs: from-deps: group-by: platform worker-type: b-linux-gcp - use-system-python: false + use-python: default worker: docker-image: {in-tree: "debian12-base"} max-run-time: 1800 diff --git a/taskcluster/ci/valgrind/kind.yml b/taskcluster/ci/valgrind/kind.yml index 754616e611..9ccff4188f 100644 --- a/taskcluster/ci/valgrind/kind.yml +++ b/taskcluster/ci/valgrind/kind.yml @@ -16,7 +16,7 @@ transforms: job-defaults: attributes: retrigger: true - use-system-python: false + use-python: default jobs: linux64-valgrind-qr/opt-swr: diff --git a/taskcluster/ci/webrender/kind.yml b/taskcluster/ci/webrender/kind.yml index 099fc2bc7d..9443a096c1 100644 --- a/taskcluster/ci/webrender/kind.yml +++ b/taskcluster/ci/webrender/kind.yml @@ -26,7 +26,7 @@ job-defaults: RUSTFLAGS: '--deny warnings' run: sparse-profile: webrender - use-system-python: false + use-python: default jobs: lint-tidy: |