Taskgraph changes to allow running UI tests on nightly builds (#18191)

* Modify taskgraph to allow running UI tests on Nightly builds

* adding try_task_config file

* remove try_task_config file
upstream-sync
isabelrios 3 years ago committed by GitHub
parent b661c83c8c
commit 6002f944e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -42,6 +42,9 @@ gcloud:
flank:
project: GOOGLE_PROJECT
# test shards - the amount of groups to split the test suite into
# set to -1 to use one shard per test.
max-test-shards: 1
# num-test-runs: the amount of times to run the tests.
# 1 runs the tests once. 10 runs all the tests 10x
num-test-runs: 1

@ -63,6 +63,15 @@ jobs:
treeherder:
symbol: beta(Bf)
nightly-firebase:
disable-optimization: true
run-on-tasks-for: [github-push] # We want this on push so that we detect problem before triggering a new nightly
run:
gradle-build-type: nightly
test-build-type: nightly
treeherder:
symbol: nightly(Bf)
android-test-debug:
attributes:
code-review: true
@ -85,13 +94,16 @@ jobs:
android-test-nightly:
attributes:
nightly: true
run:
gradle-build-type: androidTest
apk-artifact-template:
# 2 differences here:
# * "androidTest/" is added
# * "{gradle_build_type}" is forced to "debug"
path: '/builds/worker/checkouts/src/app/build/outputs/apk/androidTest/debug/{fileName}'
path: '/builds/worker/checkouts/src/app/build/outputs/apk/androidTest/nightly/app-nightly-androidTest.apk'
disable-optimization: true
run:
gradle-build-type: androidTest
test-build-type: nightly
run-on-tasks-for: [github-push]
treeherder:
symbol: nightly(Bat)

@ -18,26 +18,7 @@ group-by: build-type
job-template:
description: Sign Fenix
worker-type:
by-build-type:
(nightly|beta|release|android-test-nightly):
by-level:
'3': signing
default: dep-signing
default: dep-signing
worker:
signing-type:
by-build-type:
(beta|release):
by-level:
'3': fennec-production-signing
default: dep-signing
performance-test: dep-signing
(nightly|android-test-nightly):
by-level:
'3': production-signing
default: dep-signing
default: dep-signing
worker: {}
signing-format: autograph_apk
index:
by-tasks-for:
@ -52,13 +33,14 @@ job-template:
# No test job runs on push against this build type. Although we do want nightly-simulation
# signed to use it in the gecko trees.
# We want beta on push so that we detect problem before shipping it
(nightly-simulation|beta-firebase|android-test-beta): [github-push]
(nightly-simulation|beta-firebase|android-test-beta|nightly-firebase|android-test-nightly): [github-push]
default: []
treeherder:
job-symbol:
by-build-type:
android-test.+: Bats
beta-firebase: Bfs
nightly-firebase: Bfs
default: Bs
kind: build
platform: android-all/opt

@ -80,3 +80,16 @@ jobs:
- [automation/taskcluster/androidTest/ui-test.sh, x86-beta-tests, app.apk, android-test.apk, '50']
treeherder:
symbol: beta(ui-test-x86-beta)
x86-nightly:
attributes:
build-type: nightly-firebase
description: Test Fenix
run-on-tasks-for: [github-push]
dependencies:
signing: signing-nightly-firebase
signing-android-test: signing-android-test-nightly
run:
commands:
- [automation/taskcluster/androidTest/ui-test.sh, x86-start-test, app.apk, android-test.apk, '-1']
treeherder:
symbol: nightly(ui-test-x86-nightly)

@ -18,7 +18,7 @@ transforms = TransformSequence()
@transforms.add
def resolve_keys(config, tasks):
for task in tasks:
for key in ("index", "run-on-tasks-for", "worker-type", "worker.signing-type", "signing-format"):
for key in ("run-on-tasks-for",):
resolve_keyed_by(
task,
key,
@ -31,6 +31,50 @@ def resolve_keys(config, tasks):
)
yield task
@transforms.add
def set_worker_type(config, tasks):
for task in tasks:
worker_type = "dep-signing"
if (
str(config.params["level"]) == "3"
and task["attributes"]["build-type"]
in ("nightly", "beta", "release", "android-test-nightly")
and config.params["tasks_for"] in ("cron", "github-release", "action")
):
worker_type = "signing"
task["worker-type"] = worker_type
yield task
@transforms.add
def set_signing_type(config, tasks):
for task in tasks:
signing_type = "dep-signing"
if (
str(config.params["level"]) == "3"
and config.params["tasks_for"] in ("cron", "github-release", "action")
):
if task["attributes"]["build-type"] in ("beta", "release"):
signing_type = "fennec-production-signing"
elif task["attributes"]["build-type"] in ("nightly", "android-test-nightly"):
signing_type = "production-signing"
task.setdefault("worker", {})["signing-type"] = signing_type
yield task
@transforms.add
def set_index(config, tasks):
for task in tasks:
index = {}
if (
config.params["tasks_for"] in ("cron", "github-release", "action")
and task["attributes"]["build-type"]
in ("nightly", "debut", "nightly-simulation", "beta", "release")
):
index["type"] = "signing"
task["index"] = index
yield task
@transforms.add
def set_signing_attributes(config, tasks):

Loading…
Cancel
Save