summaryrefslogtreecommitdiffstats
path: root/taskcluster/kinds/build-components/kind.yml
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/kinds/build-components/kind.yml')
-rw-r--r--taskcluster/kinds/build-components/kind.yml135
1 files changed, 135 insertions, 0 deletions
diff --git a/taskcluster/kinds/build-components/kind.yml b/taskcluster/kinds/build-components/kind.yml
new file mode 100644
index 0000000000..52793cb3f1
--- /dev/null
+++ b/taskcluster/kinds/build-components/kind.yml
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+---
+loader: android_taskgraph.loader.build_config:components_loader
+
+transforms:
+ - android_taskgraph.transforms.build_components:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+not-for-components:
+ - samples-browser # Their configs are too different, so they're handled in a specific kind
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ artifact-template:
+ type: file
+ name: public/build/{artifact_file_name}
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}'
+ tests-artifact-template:
+ type: directory
+ name: public/reports/tests
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests'
+ lint-artifact-template:
+ type: file
+ name: public/reports/lint-results-release.html
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html'
+ jacoco-coverage-template:
+ type: directory
+ name: public/reports/jacoco
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco'
+ description: Execute Gradle tasks for component "{component}"
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ attributes:
+ build_platform: android
+ dependencies:
+ build-fat-aar:
+ by-build-type:
+ release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ default: build-fat-aar-android-geckoview-fat-aar/opt
+ include-coverage:
+ by-build-type:
+ release: false
+ beta: false
+ nightly: false
+ default: true
+ run:
+ gradlew:
+ by-build-type:
+ release:
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ beta:
+ # /!\ Beta builds are considered Release in gradle
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ nightly:
+ - '-PnightlyVersion={nightlyVersion}'
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ default:
+ by-component:
+ # No lintRelease on this task, gradle task isn't defined
+ tooling-lint:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:test'
+ - ':{component}:lint'
+ # No testRelease on this task, gradle task isn't defined
+ tooling-detekt:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:test'
+ - ':{component}:lintRelease'
+ # No publish on these tasks
+ tooling-fetch-tests|samples-.*:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ default:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ using: gradlew
+ use-caches: false
+ run-on-projects:
+ by-build-type:
+ release: []
+ beta: []
+ nightly: []
+ default: [all]
+ shipping-phase:
+ by-build-type:
+ (nightly|beta|release): promote
+ default: null
+ shipping-product: firefox-android
+ treeherder:
+ kind: build
+ symbol:
+ by-build-type:
+ release: '{treeherder_group}(BR)'
+ beta: '{treeherder_group}(BB)'
+ nightly: '{treeherder_group}(BN)'
+ default: '{treeherder_group}(B)'
+ platform: AC-android-all/opt
+ tier: 1
+ worker-type: b-linux-medium-gcp
+ worker:
+ chain-of-trust: true
+ docker-image: {in-tree: android-components}
+ max-run-time: 1200
+ env:
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux