forked from mirrors/gecko-dev
Bug 1898010 - Add x86 and ARM v7a android-startup-test tasks for Fenix and Focus r=ohorvath,ahal,RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D211104
This commit is contained in:
parent
47de7bd820
commit
ba5a0fdc37
8 changed files with 293 additions and 25 deletions
|
|
@ -0,0 +1,39 @@
|
|||
# Google Cloud Documentation: https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run
|
||||
# Flank Documentation: https://flank.github.io/flank/
|
||||
gcloud:
|
||||
results-bucket: fenix_test_artifacts
|
||||
record-video: true
|
||||
|
||||
timeout: 15m
|
||||
async: false
|
||||
num-flaky-test-attempts: 1
|
||||
|
||||
app: /app/path
|
||||
test: /test/path
|
||||
|
||||
auto-google-login: false
|
||||
use-orchestrator: true
|
||||
environment-variables:
|
||||
clearPackageData: true
|
||||
directories-to-pull:
|
||||
- /sdcard/screenshots
|
||||
performance-metrics: true
|
||||
|
||||
test-targets:
|
||||
- class org.mozilla.fenix.ui.HistoryTest#verifyHistoryMenuWithHistoryItemsTest
|
||||
- class org.mozilla.fenix.ui.SettingsSearchTest#verifyShowSearchSuggestionsToggleTest
|
||||
- class org.mozilla.fenix.ui.CollectionTest#deleteCollectionTest
|
||||
- class org.mozilla.fenix.ui.HistoryTest#noHistoryInPrivateBrowsingTest
|
||||
- class org.mozilla.fenix.ui.NoNetworkAccessStartupTests#noNetworkConnectionStartupTest
|
||||
|
||||
device:
|
||||
- model: redfin
|
||||
version: 30
|
||||
locale: en_US
|
||||
|
||||
flank:
|
||||
project: GOOGLE_PROJECT
|
||||
max-test-shards: 2
|
||||
num-test-runs: 1
|
||||
output-style: compact
|
||||
full-junit-result: true
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# Google Cloud Documentation: https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run
|
||||
# Flank Documentation: https://flank.github.io/flank/
|
||||
gcloud:
|
||||
results-bucket: fenix_test_artifacts
|
||||
record-video: true
|
||||
|
||||
timeout: 15m
|
||||
async: false
|
||||
num-flaky-test-attempts: 1
|
||||
|
||||
app: /app/path
|
||||
test: /test/path
|
||||
|
||||
auto-google-login: false
|
||||
use-orchestrator: true
|
||||
environment-variables:
|
||||
clearPackageData: true
|
||||
directories-to-pull:
|
||||
- /sdcard/screenshots
|
||||
performance-metrics: true
|
||||
|
||||
test-targets:
|
||||
- class org.mozilla.fenix.ui.HistoryTest#verifyHistoryMenuWithHistoryItemsTest
|
||||
- class org.mozilla.fenix.ui.SettingsSearchTest#verifyShowSearchSuggestionsToggleTest
|
||||
- class org.mozilla.fenix.ui.CollectionTest#deleteCollectionTest
|
||||
- class org.mozilla.fenix.ui.HistoryTest#noHistoryInPrivateBrowsingTest
|
||||
- class org.mozilla.fenix.ui.NoNetworkAccessStartupTests#noNetworkConnectionStartupTest
|
||||
|
||||
device:
|
||||
- model: Pixel2
|
||||
version: 30
|
||||
locale: en_US
|
||||
|
||||
flank:
|
||||
project: GOOGLE_PROJECT
|
||||
max-test-shards: 2
|
||||
num-test-runs: 1
|
||||
output-style: compact
|
||||
full-junit-result: true
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# Google Cloud Documentation: https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run
|
||||
# Flank Documentation: https://flank.github.io/flank/
|
||||
gcloud:
|
||||
results-bucket: focus_android_test_artifacts
|
||||
record-video: true
|
||||
|
||||
timeout: 30m
|
||||
async: false
|
||||
num-flaky-test-attempts: 1
|
||||
|
||||
app: /app/path
|
||||
test: /test/path
|
||||
|
||||
auto-google-login: false
|
||||
use-orchestrator: true
|
||||
environment-variables:
|
||||
clearPackageData: true
|
||||
directories-to-pull:
|
||||
- /sdcard/screenshots
|
||||
performance-metrics: true
|
||||
|
||||
test-targets:
|
||||
- class org.mozilla.focus.activity.SearchTest#testBlankSearchDoesNothing
|
||||
- class org.mozilla.focus.activity.EraseBrowsingDataTest#deleteHistoryOnRestartTest
|
||||
|
||||
device:
|
||||
- model: redfin
|
||||
version: 30
|
||||
locale: en_US
|
||||
|
||||
flank:
|
||||
project: GOOGLE_PROJECT
|
||||
max-test-shards: 1
|
||||
num-test-runs: 1
|
||||
output-style: compact
|
||||
full-junit-result: true
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# Google Cloud Documentation: https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run
|
||||
# Flank Documentation: https://flank.github.io/flank/
|
||||
gcloud:
|
||||
results-bucket: focus_android_test_artifacts
|
||||
record-video: true
|
||||
|
||||
timeout: 30m
|
||||
async: false
|
||||
num-flaky-test-attempts: 1
|
||||
|
||||
app: /app/path
|
||||
test: /test/path
|
||||
|
||||
auto-google-login: false
|
||||
use-orchestrator: true
|
||||
environment-variables:
|
||||
clearPackageData: true
|
||||
directories-to-pull:
|
||||
- /sdcard/screenshots
|
||||
performance-metrics: true
|
||||
|
||||
test-targets:
|
||||
- class org.mozilla.focus.activity.SearchTest#testBlankSearchDoesNothing
|
||||
- class org.mozilla.focus.activity.EraseBrowsingDataTest#deleteHistoryOnRestartTest
|
||||
|
||||
device:
|
||||
- model: Pixel2
|
||||
version: 30
|
||||
locale: en_US
|
||||
|
||||
flank:
|
||||
project: GOOGLE_PROJECT
|
||||
max-test-shards: 1
|
||||
num-test-runs: 1
|
||||
output-style: compact
|
||||
full-junit-result: true
|
||||
|
|
@ -34,19 +34,3 @@ def resolve_keys(config, tasks):
|
|||
}
|
||||
)
|
||||
yield task
|
||||
|
||||
|
||||
@transforms.add
|
||||
def add_startup_test(config, tasks):
|
||||
for task in tasks:
|
||||
if "nightly" not in task["attributes"].get("build-type", ""):
|
||||
yield task
|
||||
continue
|
||||
for dep_label, dep_task in config.kind_dependencies_tasks.items():
|
||||
if (
|
||||
dep_task.kind == "android-startup-test"
|
||||
and dep_task.attributes["shipping-product"]
|
||||
== task["attributes"]["shipping-product"]
|
||||
):
|
||||
task["dependencies"]["android-startup-test"] = dep_label
|
||||
yield task
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
# 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/.
|
||||
|
||||
from taskgraph.transforms.base import TransformSequence
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
||||
@transforms.add
|
||||
def add_android_startup_test_dependencies(config, jobs):
|
||||
scheduled_tasks = [
|
||||
t
|
||||
for t in config.kind_dependencies_tasks.values()
|
||||
if t.kind == "android-startup-test"
|
||||
]
|
||||
for job in jobs:
|
||||
job_build_type = job["attributes"].get("build-type", "")
|
||||
matching_tasks = [
|
||||
t
|
||||
for t in scheduled_tasks
|
||||
if job_build_type in t.attributes.get("build-type", "")
|
||||
]
|
||||
if matching_tasks:
|
||||
job.setdefault("dependencies", {}).update(
|
||||
{t.label: t.label for t in matching_tasks}
|
||||
)
|
||||
yield job
|
||||
|
|
@ -8,6 +8,9 @@ transforms:
|
|||
- gecko_taskgraph.transforms.job:transforms
|
||||
- gecko_taskgraph.transforms.task:transforms
|
||||
|
||||
kind-dependencies:
|
||||
- signing-apk
|
||||
|
||||
job-defaults:
|
||||
description: Runs UI tests for sanity checking startup on Nightly
|
||||
treeherder:
|
||||
|
|
@ -24,17 +27,18 @@ job-defaults:
|
|||
- name: public
|
||||
path: /builds/worker/artifacts
|
||||
type: directory
|
||||
retry-exit-status: [20]
|
||||
run:
|
||||
using: run-commands
|
||||
use-caches: false
|
||||
run-on-projects: []
|
||||
|
||||
jobs:
|
||||
fenix-arm-nightly-robo-opt:
|
||||
fenix-arm64-v8a-nightly-robo-opt:
|
||||
attributes:
|
||||
build-type: fenix-nightly
|
||||
shipping-product: fenix
|
||||
description: Fenix Nightly Opt Robo Test (ARM)
|
||||
description: Fenix Nightly Opt Robo Test (arm64-v8a)
|
||||
dependencies:
|
||||
signing: signing-apk-fenix-nightly
|
||||
run:
|
||||
|
|
@ -49,12 +53,12 @@ jobs:
|
|||
- [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)
|
||||
symbol: fenix-nightly(startup-arm64-robo-opt)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-fenix
|
||||
|
||||
fenix-arm-nightly:
|
||||
fenix-arm64-v8a-nightly:
|
||||
attributes:
|
||||
build-type: fenix-nightly-firebase
|
||||
shipping-product: fenix
|
||||
|
|
@ -74,12 +78,62 @@ jobs:
|
|||
- [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)
|
||||
symbol: fenix-nightly(startup-arm64-v8a)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-fenix
|
||||
|
||||
focus-arm-nightly:
|
||||
fenix-armeabi-v7a-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.armeabi-v7a.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, armeabi-v7a-start-test, app.apk, --apk_test, android-test.apk]
|
||||
treeherder:
|
||||
symbol: fenix-nightly(startup-armeabi-v7a)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-fenix
|
||||
|
||||
fenix-x86-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.x86.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, x86-start-test, app.apk, --apk_test, android-test.apk]
|
||||
treeherder:
|
||||
symbol: fenix-nightly(startup-x86)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-fenix
|
||||
|
||||
focus-arm64-v8a-nightly:
|
||||
attributes:
|
||||
build-type: focus-nightly-firebase
|
||||
shipping-product: focus
|
||||
|
|
@ -99,12 +153,62 @@ jobs:
|
|||
- [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)
|
||||
symbol: focus-nightly(startup-arm64-v8a)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-focus-android
|
||||
|
||||
focus-arm-nightly-robo-opt:
|
||||
focus-armeabi-v7a-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.armeabi-v7a.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, armeabi-v7a-start-test, app.apk, --apk_test, android-test.apk]
|
||||
treeherder:
|
||||
symbol: focus-nightly(startup-armeabi-v7a)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-focus-android
|
||||
|
||||
focus-x86-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.x86.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, x86-start-test, app.apk, --apk_test, android-test.apk]
|
||||
treeherder:
|
||||
symbol: focus-nightly(startup-x86)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-focus-android
|
||||
|
||||
focus-arm64-v8a-nightly-robo-opt:
|
||||
attributes:
|
||||
build-type: focus-nightly
|
||||
shipping-product: focus
|
||||
|
|
@ -123,7 +227,7 @@ jobs:
|
|||
- [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)
|
||||
symbol: focus-nightly(startup-arm64-robo-opt)
|
||||
worker:
|
||||
env:
|
||||
GOOGLE_PROJECT: moz-focus-android
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ transforms:
|
|||
- android_taskgraph.transforms.upstream_artifacts
|
||||
- android_taskgraph.transforms.treeherder
|
||||
- android_taskgraph.transforms.push_android_app
|
||||
- android_taskgraph.transforms.startup_tests_deps
|
||||
- gecko_taskgraph.transforms.task
|
||||
|
||||
kind-dependencies:
|
||||
|
|
@ -19,6 +20,7 @@ jobs:
|
|||
push-bundle:
|
||||
description: Publish Fenix and Focus AABs
|
||||
from-deps:
|
||||
kinds: [signing-bundle]
|
||||
with-attributes:
|
||||
build-type:
|
||||
- fenix-nightly
|
||||
|
|
|
|||
Loading…
Reference in a new issue