From d8bbc7858622b6d9c278469aab701ca0b609cddf Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 15 May 2024 05:35:49 +0200 Subject: Merging upstream version 126.0. Signed-off-by: Daniel Baumann --- taskcluster/ci/build-apk/kind.yml | 518 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 518 insertions(+) create mode 100644 taskcluster/ci/build-apk/kind.yml (limited to 'taskcluster/ci/build-apk/kind.yml') 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 -- cgit v1.2.3