kind.yml (24481B)
1 # This Source Code Form is subject to the terms of the Mozilla Public 2 # License, v. 2.0. If a copy of the MPL was not distributed with this 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 --- 5 loader: taskgraph.loader.transform:loader 6 7 transforms: 8 - gecko_taskgraph.transforms.test_apk:transforms 9 # While not a build, the build optimization works well for these tasks. 10 - gecko_taskgraph.transforms.build_schedules:transforms 11 - gecko_taskgraph.transforms.job:transforms 12 - gecko_taskgraph.transforms.task:transforms 13 14 kind-dependencies: 15 - toolchain 16 - signing-apk 17 18 task-defaults: 19 run-on-repo-type: [hg] 20 attributes: 21 build_platform: android 22 build-type: debug 23 retrigger: true 24 fetches: 25 toolchain: 26 - android-sdk-linux 27 - linux64-embedded-uniffi-bindgen 28 - linux64-nimbus-fml 29 worker-type: b-linux-medium 30 worker: 31 docker-image: {in-tree: android-ui-tests} 32 max-run-time: 7200 33 env: 34 GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json' 35 ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux 36 artifacts: 37 - name: public 38 path: /builds/worker/artifacts 39 type: directory 40 retry-exit-status: [20] 41 treeherder: 42 kind: test 43 tier: 2 44 run: 45 using: run-commands 46 dummy-secrets: 47 - content: "faketoken" 48 path: .adjust_token 49 routes: 50 by-level: 51 '3': 52 - notify.slack-channel.C0134KJ4JHL.on-failed 53 'default': [] 54 scopes: 55 by-level: 56 '3': 57 - queue:route:notify.slack-channel.C0134KJ4JHL.on-failed 58 - notify:slack-channel:C0134KJ4JHL 59 'default': [] 60 extra: 61 notify: 62 by-level: 63 '3': 64 by-shipping-product: 65 fenix: 66 slackText: '<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|${task.metadata.name}>' 67 slackAttachments: | 68 [ 69 { 70 "color": "#FF0000", 71 "blocks": [ 72 { 73 "type": "header", 74 "text": { 75 "type": "plain_text", 76 "text": "Firefox for Android :firefox:" 77 } 78 }, 79 { 80 "type": "header", 81 "text": { 82 "type": "plain_text", 83 "text": "${task.metadata.name}" 84 } 85 }, 86 { 87 "type": "section", 88 "fields": [ 89 { 90 "type": "mrkdwn", 91 "text": "*Task:*\n<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>" 92 }, 93 { 94 "type": "mrkdwn", 95 "text": "*Owner:*\n${task.metadata.owner}" 96 }, 97 { 98 "type": "mrkdwn", 99 "text": "*Project:*\n${task.tags.project}" 100 }, 101 { 102 "type": "mrkdwn", 103 "text": "*Treeherder:*\n<https://treeherder.mozilla.org/jobs?repo=${task.tags.project}&revision=${task.payload.env.GECKO_HEAD_REV}|View Jobs>" 104 }, 105 { 106 "type": "mrkdwn", 107 "text": "*Source:*\n<${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:" 108 }, 109 { 110 "type": "mrkdwn", 111 "text": "*Report:*\n<https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/results/HtmlErrorReport.html|View Report>" 112 } 113 ] 114 }, 115 { 116 "type": "divider" 117 }, 118 { 119 "type": "context", 120 "elements": [ 121 { 122 "type": "mrkdwn", 123 "text": ":testops-notify: Mobile Test Engineering" 124 } 125 ] 126 } 127 ] 128 } 129 ] 130 focus: 131 slackText: '<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|${task.metadata.name}>' 132 slackAttachments: | 133 [ 134 { 135 "color": "#FF0000", 136 "blocks": [ 137 { 138 "type": "header", 139 "text": { 140 "type": "plain_text", 141 "text": "Focus for Android :focusandroid:" 142 } 143 }, 144 { 145 "type": "header", 146 "text": { 147 "type": "plain_text", 148 "text": "${task.metadata.name}" 149 } 150 }, 151 { 152 "type": "section", 153 "fields": [ 154 { 155 "type": "mrkdwn", 156 "text": "*Task:*\n<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>" 157 }, 158 { 159 "type": "mrkdwn", 160 "text": "*Owner:*\n${task.metadata.owner}" 161 }, 162 { 163 "type": "mrkdwn", 164 "text": "*Project:*\n${task.tags.project}" 165 }, 166 { 167 "type": "mrkdwn", 168 "text": "*Treeherder:*\n<https://treeherder.mozilla.org/jobs?repo=${task.tags.project}&revision=${task.payload.env.GECKO_HEAD_REV}|View Jobs>" 169 }, 170 { 171 "type": "mrkdwn", 172 "text": "*Source:*\n<${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:" 173 }, 174 { 175 "type": "mrkdwn", 176 "text": "*Report:*\n<https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/results/HtmlErrorReport.html|View Report>" 177 } 178 ] 179 }, 180 { 181 "type": "divider" 182 }, 183 { 184 "type": "context", 185 "elements": [ 186 { 187 "type": "mrkdwn", 188 "text": ":testops-notify: Mobile Test Engineering" 189 } 190 ] 191 } 192 ] 193 } 194 ] 195 default: {} 196 'default': {} 197 198 tasks: 199 focus-arm-debug: 200 attributes: 201 build-type: focus-debug-firebase 202 shipping-product: focus 203 description: 'Focus UI tests with firebase' 204 dependencies: 205 signed-apk-debug-apk: signing-apk-focus-debug 206 signed-apk-android-test: signing-apk-focus-android-test-debug 207 fetches: 208 signed-apk-debug-apk: 209 - artifact: target.arm64-v8a.apk 210 extract: false 211 signed-apk-android-test: 212 - artifact: target.noarch.apk 213 extract: false 214 optimization: 215 skip-unless-backstop: null 216 run: 217 secrets: 218 - name: project/gecko/level-any/firefox-android/focus-android/firebase 219 key: firebaseToken 220 path: mobile/android/test_infra/.firebase_token.json 221 json: true 222 commands: 223 - [python3, taskcluster/scripts/tests/test-lab.py, focus/arm64-v8a.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 224 treeherder: 225 platform: 'focus-android-all/opt' 226 symbol: focus-debug(ui-test-arm) 227 worker: 228 env: 229 GOOGLE_PROJECT: 'moz-focus-android' 230 231 focus-arm-nightly: 232 attributes: 233 build-type: focus-nightly-firebase 234 shipping-product: focus 235 description: 'UI tests on Nightly with firebase' 236 dependencies: 237 signed-apk-debug-apk: signing-apk-focus-nightly-firebase 238 signed-apk-android-test: signing-apk-focus-android-test-nightly 239 fetches: 240 signed-apk-debug-apk: 241 - artifact: target.arm64-v8a.apk 242 extract: false 243 signed-apk-android-test: 244 - artifact: target.noarch.apk 245 extract: false 246 optimization: 247 skip-unless-backstop: null 248 run-on-projects: [trunk] 249 run: 250 secrets: 251 - name: project/gecko/level-any/firefox-android/focus-android/firebase 252 key: firebaseToken 253 path: mobile/android/test_infra/.firebase_token.json 254 json: true 255 commands: 256 - [python3, taskcluster/scripts/tests/test-lab.py, focus/arm-start-test.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 257 treeherder: 258 platform: 'focus-android-all/opt' 259 symbol: focus-nightly(ui-test-arm-nightly) 260 worker: 261 env: 262 GOOGLE_PROJECT: 'moz-focus-android' 263 264 focus-arm-beta: 265 attributes: 266 build-type: focus-beta-firebase 267 shipping-product: focus 268 description: 'UI tests on Beta with firebase' 269 dependencies: 270 signed-apk-debug-apk: signing-apk-focus-beta-firebase 271 signed-apk-android-test: signing-apk-focus-android-test-beta 272 fetches: 273 signed-apk-debug-apk: 274 - artifact: target.arm64-v8a.apk 275 extract: false 276 signed-apk-android-test: 277 - artifact: target.noarch.apk 278 extract: false 279 optimization: 280 skip-unless-backstop: null 281 run-on-projects: [release] 282 run: 283 secrets: 284 - name: project/gecko/level-any/firefox-android/focus-android/firebase 285 key: firebaseToken 286 path: mobile/android/test_infra/.firebase_token.json 287 json: true 288 commands: 289 - [python3, taskcluster/scripts/tests/test-lab.py, focus/arm-beta.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 290 treeherder: 291 platform: 'focus-android-all/opt' 292 symbol: focus-beta(ui-test-arm-beta) 293 worker: 294 env: 295 GOOGLE_PROJECT: 'moz-focus-android' 296 297 fenix-arm-debug: 298 attributes: 299 build-type: fenix-debug-firebase 300 shipping-product: fenix 301 description: Test Fenix 302 dependencies: 303 signed-apk-debug-apk: signing-apk-fenix-debug 304 signed-apk-android-test: signing-apk-fenix-android-test-debug 305 fetches: 306 signed-apk-debug-apk: 307 - artifact: target.arm64-v8a.apk 308 extract: false 309 signed-apk-android-test: 310 - artifact: target.noarch.apk 311 extract: false 312 optimization: 313 skip-unless-backstop: null 314 run: 315 secrets: 316 - name: project/gecko/level-any/firefox-android/fenix/firebase 317 key: firebaseToken 318 path: mobile/android/test_infra/.firebase_token.json 319 json: true 320 commands: 321 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm64-v8a.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 322 treeherder: 323 platform: 'fenix-android-all/opt' 324 symbol: fenix-debug(ui-test-arm) 325 worker: 326 env: 327 GOOGLE_PROJECT: moz-fenix 328 329 fenix-detect-leaks-arm-debug: 330 attributes: 331 build-type: fenix-debug-firebase 332 shipping-product: fenix 333 description: Run Fenix tests with memory leak detection enabled 334 dependencies: 335 signed-apk-debug-apk: signing-apk-fenix-debug 336 signed-apk-android-test: signing-apk-fenix-android-test-debug 337 fetches: 338 signed-apk-debug-apk: 339 - artifact: target.arm64-v8a.apk 340 extract: false 341 signed-apk-android-test: 342 - artifact: target.noarch.apk 343 extract: false 344 optimization: 345 skip-unless-backstop: null 346 run-on-projects: [trunk] 347 run: 348 secrets: 349 - name: project/gecko/level-any/firefox-android/fenix/firebase 350 key: firebaseToken 351 path: mobile/android/test_infra/.firebase_token.json 352 json: true 353 commands: 354 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm64-v8a-detect-leaks.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk, --artifact_type, "memory_leaks"] 355 treeherder: 356 platform: 'fenix-android-all/opt' 357 symbol: fenix-debug(detect-leaks-arm) 358 worker: 359 env: 360 GOOGLE_PROJECT: moz-fenix 361 362 fenix-arm-beta: 363 attributes: 364 build-type: fenix-beta-firebase 365 shipping-product: fenix 366 description: Test Fenix 367 dependencies: 368 signed-apk-debug-apk: signing-apk-fenix-beta-firebase 369 signed-apk-android-test: signing-apk-fenix-android-test-beta 370 fetches: 371 signed-apk-debug-apk: 372 - artifact: target.arm64-v8a.apk 373 extract: false 374 signed-apk-android-test: 375 - artifact: target.noarch.apk 376 extract: false 377 optimization: 378 skip-unless-backstop: null 379 run-on-projects: [release] 380 run: 381 secrets: 382 - name: project/gecko/level-any/firefox-android/fenix/firebase 383 key: firebaseToken 384 path: mobile/android/test_infra/.firebase_token.json 385 json: true 386 commands: 387 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-beta.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 388 treeherder: 389 platform: 'fenix-android-all/opt' 390 symbol: fenix-beta(ui-test-arm-beta) 391 worker: 392 env: 393 GOOGLE_PROJECT: moz-fenix 394 395 fenix-arm-nightly: 396 attributes: 397 build-type: fenix-nightly-firebase 398 shipping-product: fenix 399 description: Test Fenix 400 dependencies: 401 signed-apk-debug-apk: signing-apk-fenix-nightly-firebase 402 signed-apk-android-test: signing-apk-fenix-android-test-nightly 403 fetches: 404 signed-apk-debug-apk: 405 - artifact: target.arm64-v8a.apk 406 extract: false 407 signed-apk-android-test: 408 - artifact: target.noarch.apk 409 extract: false 410 optimization: 411 skip-unless-backstop: null 412 run-on-projects: [trunk] 413 run: 414 secrets: 415 - name: project/gecko/level-any/firefox-android/fenix/firebase 416 key: firebaseToken 417 path: mobile/android/test_infra/.firebase_token.json 418 json: true 419 commands: 420 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-start-test.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 421 treeherder: 422 platform: 'fenix-android-all/opt' 423 symbol: fenix-nightly(ui-test-arm-nightly) 424 worker: 425 env: 426 GOOGLE_PROJECT: moz-fenix 427 428 fenix-legacy-arm: 429 attributes: 430 build-type: fenix-legacy 431 legacy: true 432 shipping-product: fenix 433 description: Run select UI tests on legacy Android devices and API levels 434 dependencies: 435 signed-apk-debug-apk: signing-apk-fenix-debug 436 signed-apk-android-test: signing-apk-fenix-android-test-debug 437 fetches: 438 signed-apk-debug-apk: 439 - artifact: target.arm64-v8a.apk 440 extract: false 441 signed-apk-android-test: 442 - artifact: target.noarch.apk 443 extract: false 444 optimization: 445 skip-unless-backstop: null 446 run: 447 secrets: 448 - name: project/gecko/level-any/firefox-android/fenix/firebase 449 key: firebaseToken 450 path: mobile/android/test_infra/.firebase_token.json 451 json: true 452 commands: 453 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-legacy-api-tests.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 454 treeherder: 455 platform: 'fenix-android-all/opt' 456 symbol: fenix-debug(legacy-arm) 457 worker: 458 env: 459 GOOGLE_PROJECT: moz-fenix 460 461 fenix-robo-arm-debug: 462 attributes: 463 build-type: fenix-robo 464 shipping-product: fenix 465 description: Run Robo test on ARM devices 466 dependencies: 467 signed-apk-debug-apk: signing-apk-fenix-debug 468 fetches: 469 signed-apk-debug-apk: 470 - artifact: target.arm64-v8a.apk 471 extract: false 472 optimization: 473 skip-unless-backstop: null 474 run: 475 secrets: 476 - name: project/gecko/level-any/firefox-android/fenix/firebase 477 key: firebaseToken 478 path: mobile/android/test_infra/.firebase_token.json 479 json: true 480 commands: 481 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-robo-test.yml, /builds/worker/fetches/target.arm64-v8a.apk] 482 treeherder: 483 platform: 'fenix-android-all/opt' 484 symbol: fenix-debug(robo-arm) 485 worker: 486 env: 487 GOOGLE_PROJECT: moz-fenix 488 489 fenix-experimental-arm-debug: 490 attributes: 491 build-type: fenix-debug-firebase 492 shipping-product: fenix 493 description: Run Fenix tests using experimental POM design 494 dependencies: 495 signed-apk-debug-apk: signing-apk-fenix-debug 496 signed-apk-android-test: signing-apk-fenix-android-test-debug 497 fetches: 498 signed-apk-debug-apk: 499 - artifact: target.arm64-v8a.apk 500 extract: false 501 signed-apk-android-test: 502 - artifact: target.noarch.apk 503 extract: false 504 optimization: 505 skip-unless-backstop: null 506 run: 507 secrets: 508 - name: project/gecko/level-any/firefox-android/fenix/firebase 509 key: firebaseToken 510 path: mobile/android/test_infra/.firebase_token.json 511 json: true 512 commands: 513 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-experimental-api-tests.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 514 run-on-projects: [trunk] 515 treeherder: 516 platform: 'fenix-android-all/opt' 517 symbol: fenix-debug(experimental-arm) 518 worker: 519 env: 520 GOOGLE_PROJECT: moz-fenix 521 522 fenix-arm-debug-smoke: 523 attributes: 524 build-type: fenix-debug-firebase 525 shipping-product: fenix 526 description: Run smoke tests on ARM devices 527 dependencies: 528 signed-apk-debug-apk: signing-apk-fenix-debug 529 signed-apk-android-test: signing-apk-fenix-android-test-debug 530 fetches: 531 signed-apk-debug-apk: 532 - artifact: target.arm64-v8a.apk 533 extract: false 534 signed-apk-android-test: 535 - artifact: target.noarch.apk 536 extract: false 537 optimization: {"test": ["android", "fenix"]} 538 run: 539 secrets: 540 - name: project/gecko/level-any/firefox-android/fenix/firebase 541 key: firebaseToken 542 path: mobile/android/test_infra/.firebase_token.json 543 json: true 544 commands: 545 - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-smoke-tests.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk] 546 run-on-projects: ['autoland', 'mozilla-central'] 547 treeherder: 548 platform: 'fenix-android-all/opt' 549 symbol: fenix-debug(smoke-arm) 550 tier: 1 551 worker: 552 env: 553 GOOGLE_PROJECT: moz-fenix