Source code

Revision control

Copy as Markdown

Other Tools

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.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: 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
task-defaults:
attributes:
build_platform: android
build-type: debug
retrigger: true
fetches:
toolchain:
- android-sdk-linux
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.C0134KJ4JHL.on-failed
'default': []
scopes:
by-level:
'3':
- queue:route:notify.slack-channel.C0134KJ4JHL.on-failed
- notify:slack-channel:C0134KJ4JHL
'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",
}
},
{
"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': {}
tasks:
focus-arm-debug:
attributes:
build-type: focus-debug-firebase
shipping-product: focus
description: 'Focus UI tests with firebase'
optimization:
skip-unless-backstop: null
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run-on-projects: [trunk]
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run-on-projects: [release]
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run-on-projects: [release]
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run-on-projects: [trunk]
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run:
secrets:
- name: project/gecko/level-any/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-android-all/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
optimization:
skip-unless-backstop: null
run:
secrets:
- name: project/gecko/level-any/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-android-all/opt'
symbol: fenix-debug(robo-arm)
worker:
env:
GOOGLE_PROJECT: moz-fenix
fenix-experimental-arm-debug:
attributes:
build-type: fenix-debug-firebase
shipping-product: fenix
description: Run Fenix tests on newer Android API levels (ARM64-v8a)
dependencies:
signed-apk-debug-apk: signing-apk-fenix-debug
signed-apk-android-test: signing-apk-fenix-android-test-debug
optimization:
skip-unless-backstop: null
run:
secrets:
- name: project/gecko/level-any/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-experimental-api-tests, app.apk, --apk_test, android-test.apk]
run-on-projects: []
treeherder:
platform: 'fenix-android-all/opt'
symbol: fenix-debug(experimental-arm)
worker:
env:
GOOGLE_PROJECT: moz-fenix
fenix-arm-debug-smoke:
attributes:
build-type: fenix-debug-firebase
shipping-product: fenix
description: Run smoke tests on ARM devices
dependencies:
signed-apk-debug-apk: signing-apk-fenix-debug
signed-apk-android-test: signing-apk-fenix-android-test-debug
optimization: {"test": ["android", "fenix"]}
run:
secrets:
- name: project/gecko/level-any/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-smoke-tests, app.apk, --apk_test, android-test.apk]
run-on-projects: ['autoland', 'mozilla-central']
treeherder:
platform: 'fenix-android-all/opt'
symbol: fenix-debug(smoke-arm)
tier: 1
worker:
env:
GOOGLE_PROJECT: moz-fenix