kind.yml (21978B)
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 - android_taskgraph.transforms.build_android_app:transforms 9 - gecko_taskgraph.transforms.build_schedules:transforms 10 - gecko_taskgraph.transforms.job:transforms 11 - gecko_taskgraph.transforms.task:transforms 12 13 kind-dependencies: 14 - toolchain 15 - build-fat-aar 16 - generate-baseline-profile-firebase 17 18 task-defaults: 19 run-on-repo-type: [hg] 20 apk-artifact-template: 21 type: file 22 name: 'public/build/target.{abi}.apk' 23 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/{source_project_name}/app/outputs/apk/{apk_path}/{fileName}' 24 attributes: 25 build_platform: android 26 27 tasks: 28 focus-debug: 29 attributes: 30 shipping-product: focus 31 dependencies: 32 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 33 description: 'Focus debug build from source code' 34 run: 35 gradle-build-type: debug 36 gradle-build-name: focusDebug 37 gradle-build: focus 38 source-project-name: "focus-android" 39 treeherder: 40 symbol: focus-debug(Bf) 41 platform: focus-android-all/opt 42 43 klar-debug: 44 attributes: 45 shipping-product: focus 46 dependencies: 47 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 48 description: 'Klar debug build from source code' 49 run: 50 gradle-build-type: debug 51 gradle-build-name: klarDebug 52 gradle-build: klar 53 source-project-name: "focus-android" 54 treeherder: 55 symbol: focus-debug(Bkl) 56 platform: focus-android-all/opt 57 58 fenix-debug: 59 attributes: 60 shipping-product: fenix 61 dependencies: 62 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 63 description: 'Fenix debug build from source code' 64 run: 65 gradle-build-type: debug 66 gradle-build-name: debug 67 gradle-build: fenix 68 gradle-extra-options: 69 - -PdisableLeakCanary 70 track-apk-size: true 71 source-project-name: "fenix" 72 treeherder: 73 symbol: fenix-debug(Bf) 74 platform: fenix-android-all/opt 75 worker: 76 artifacts: 77 - path: /builds/worker/perfherder-data-apk-size.json 78 name: public/build/perfherder-data-apk-size.json 79 type: file 80 env: 81 MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json 82 83 focus-release: 84 description: 'Release Focus build' 85 attributes: 86 release-type: release 87 shipping-product: focus 88 shipping-product: firefox-android 89 dependencies: 90 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 91 include-shippable-secrets: true 92 include-release-version: true 93 run: 94 gradle-build-type: release 95 gradle-build-name: focusRelease 96 gradle-build: focus 97 run-on-projects: [] 98 shipping-phase: promote 99 source-project-name: "focus-android" 100 treeherder: 101 symbol: focus-release(Bf) 102 platform: focus-android-all/opt 103 104 klar-release: 105 description: 'Release Klar build' 106 attributes: 107 release-type: release 108 shipping-product: focus 109 shipping-product: firefox-android 110 dependencies: 111 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 112 include-shippable-secrets: true 113 include-release-version: true 114 run: 115 gradle-build-type: release 116 gradle-build-name: klarRelease 117 gradle-build: klar 118 run-on-projects: [] 119 shipping-phase: promote 120 source-project-name: "focus-android" 121 treeherder: 122 symbol: focus-release(Bkl) 123 platform: focus-android-all/opt 124 125 fenix-release: 126 description: 'Release Fenix build' 127 attributes: 128 release-type: release 129 shipping-product: fenix 130 shipping-product: firefox-android 131 dependencies: 132 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 133 baseline-profile: generate-baseline-profile-firebase-fenix 134 fetches: 135 baseline-profile: 136 - artifact: baselineProfile.tar.zst 137 dest: baselineProfiles 138 include-shippable-secrets: true 139 include-release-version: true 140 run: 141 gradle-build-type: release 142 gradle-build-name: release 143 gradle-build: fenix 144 track-apk-size: true 145 baseline-profile-path: /builds/worker/fetches/baselineProfiles 146 run-on-projects: [] 147 shipping-phase: promote 148 source-project-name: "fenix" 149 treeherder: 150 symbol: fenix-release(Bf) 151 platform: fenix-android-all/opt 152 worker: 153 artifacts: 154 - path: /builds/worker/perfherder-data-apk-size.json 155 name: public/build/perfherder-data-apk-size.json 156 type: file 157 env: 158 MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json 159 160 focus-nightly: 161 description: 'Nightly focus build' 162 attributes: 163 # any tasks that have this as a primary dependency will 164 # inherit this attribute via the multi_dep loader 165 shipping-product: focus 166 dependencies: 167 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 168 include-shippable-secrets: true 169 include-nightly-version: true 170 run: 171 gradle-build-type: nightly 172 gradle-build-name: focusNightly 173 gradle-build: focus 174 run-on-projects: [] 175 source-project-name: "focus-android" 176 treeherder: 177 symbol: focus-nightly(B) 178 platform: focus-android-all/opt 179 180 fenix-nightly: 181 description: 'Nightly fenix build' 182 attributes: 183 # any tasks that have this as a primary dependency will 184 # inherit this attribute via the multi_dep loader 185 shipping-product: fenix 186 dependencies: 187 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 188 baseline-profile: generate-baseline-profile-firebase-fenix 189 fetches: 190 baseline-profile: 191 - artifact: baselineProfile.tar.zst 192 dest: baselineProfiles 193 include-shippable-secrets: true 194 include-nightly-version: true 195 source-project-name: "fenix" 196 run: 197 gradle-build-type: nightly 198 gradle-build-name: nightly 199 gradle-build: fenix 200 track-apk-size: true 201 baseline-profile-path: /builds/worker/fetches/baselineProfiles 202 run-on-projects: [] 203 treeherder: 204 symbol: fenix-nightly(B) 205 platform: fenix-android-all/opt 206 worker: 207 artifacts: 208 - path: /builds/worker/perfherder-data-apk-size.json 209 name: public/build/perfherder-data-apk-size.json 210 type: file 211 env: 212 MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json 213 214 focus-beta: 215 description: 'Beta focus build' 216 attributes: 217 release-type: beta 218 shipping-product: focus 219 shipping-product: firefox-android 220 dependencies: 221 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 222 include-shippable-secrets: true 223 include-release-version: true 224 run: 225 gradle-build-type: beta 226 gradle-build-name: focusBeta 227 gradle-build: focus 228 run-on-projects: [] 229 shipping-phase: promote 230 source-project-name: "focus-android" 231 treeherder: 232 symbol: focus-beta(B) 233 platform: focus-android-all/opt 234 235 fenix-beta: 236 description: 'Beta fenix build' 237 attributes: 238 release-type: beta 239 shipping-product: fenix 240 shipping-product: firefox-android 241 dependencies: 242 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 243 baseline-profile: generate-baseline-profile-firebase-fenix 244 fetches: 245 baseline-profile: 246 - artifact: baselineProfile.tar.zst 247 dest: baselineProfiles 248 include-shippable-secrets: true 249 include-release-version: true 250 run: 251 gradle-build-type: beta 252 gradle-build-name: beta 253 gradle-build: fenix 254 track-apk-size: true 255 baseline-profile-path: /builds/worker/fetches/baselineProfiles 256 run-on-projects: [] 257 shipping-phase: promote 258 source-project-name: "fenix" 259 treeherder: 260 symbol: fenix-beta(B) 261 platform: fenix-android-all/opt 262 worker: 263 artifacts: 264 - path: /builds/worker/perfherder-data-apk-size.json 265 name: public/build/perfherder-data-apk-size.json 266 type: file 267 env: 268 MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json 269 270 focus-nightly-firebase: 271 attributes: 272 shipping-product: focus 273 description: 'Focus Nightly build for UI tests' 274 dependencies: 275 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 276 disable-optimization: true 277 run: 278 gradle-build-type: nightly 279 gradle-build-name: focusNightly 280 gradle-build: focus 281 test-build-type: nightly 282 run-on-projects: [trunk] 283 source-project-name: "focus-android" 284 treeherder: 285 symbol: focus-nightly(Bf) 286 platform: focus-android-all/opt 287 288 fenix-nightly-firebase: 289 attributes: 290 shipping-product: fenix 291 description: 'Fenix Nightly build for UI tests' 292 dependencies: 293 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 294 disable-optimization: true 295 run: 296 gradle-build-type: nightly 297 gradle-build-name: nightly 298 gradle-build: fenix 299 test-build-type: nightly 300 run-on-projects: [trunk] 301 source-project-name: "fenix" 302 treeherder: 303 symbol: fenix-nightly(Bf) 304 platform: fenix-android-all/opt 305 306 focus-beta-firebase: 307 attributes: 308 shipping-product: focus 309 description: 'Focus Beta build for UI tests' 310 dependencies: 311 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 312 disable-optimization: true 313 run: 314 gradle-build-type: beta 315 gradle-build-name: focusBeta 316 gradle-build: focus 317 test-build-type: beta 318 run-on-projects: ['release'] 319 source-project-name: "focus-android" 320 treeherder: 321 symbol: focus-beta(Bf) 322 platform: focus-android-all/opt 323 324 fenix-beta-firebase: 325 attributes: 326 shipping-product: fenix 327 description: 'Fenix Beta build for UI tests' 328 dependencies: 329 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 330 disable-optimization: true 331 run: 332 gradle-build-type: beta 333 gradle-build-name: beta 334 gradle-build: fenix 335 test-build-type: beta 336 run-on-projects: ['release'] 337 source-project-name: "fenix" 338 treeherder: 339 symbol: fenix-beta(Bf) 340 platform: fenix-android-all/opt 341 342 focus-android-test-debug: 343 attributes: 344 shipping-product: focus 345 description: 'Focus Android Test for debugging' 346 dependencies: 347 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 348 run: 349 gradle-build-type: androidTest 350 gradle-build-name: androidTest 351 gradle-build: focus 352 source-project-name: "focus-android" 353 apk-artifact-template: 354 # this path is determined by the gradle build configs 355 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/focus-android/app/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk' 356 treeherder: 357 symbol: focus-debug(Bat) 358 platform: focus-android-all/opt 359 360 fenix-android-test-debug: 361 attributes: 362 shipping-product: fenix 363 description: 'Fenix Debug Android Test for debugging' 364 dependencies: 365 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 366 run: 367 gradle-build-type: androidTest 368 gradle-build-name: androidTest 369 gradle-build: fenix 370 source-project-name: "fenix" 371 apk-artifact-template: 372 # 3 differences here: 373 # * "androidTest/" is added 374 # * "{gradle_build_type}" is forced to "debug" 375 # * "{fileName}" is forced to "app-debug-androidTest.apk" 376 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/debug/app-debug-androidTest.apk' 377 treeherder: 378 symbol: fenix-debug(Bat) 379 platform: fenix-android-all/opt 380 381 # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed 382 # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK 383 # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with 384 # nightly means we need an androidTest APK with the same signature. 385 386 focus-android-test-nightly: 387 attributes: 388 shipping-product: focus 389 description: 'Focus Nightly Android Test for debugging' 390 dependencies: 391 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 392 run: 393 gradle-build-type: androidTest 394 gradle-build-name: androidTest 395 gradle-build: focus 396 test-build-type: nightly 397 run-on-projects: [trunk] 398 source-project-name: "focus-android" 399 apk-artifact-template: 400 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/focus-android/app/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk' 401 treeherder: 402 symbol: focus-nightly(Bat) 403 platform: focus-android-all/opt 404 405 # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed 406 # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK 407 # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with 408 # nightly means we need an androidTest APK with the same signature. 409 # 410 # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test` 411 # job. 412 fenix-android-test-nightly: 413 attributes: 414 nightly: true 415 shipping-product: fenix 416 description: 'Fenix Nightly Android Test for debugging' 417 dependencies: 418 build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt 419 apk-artifact-template: 420 # 3 differences here: 421 # * "androidTest/" is added 422 # * "{gradle_build_type}" is forced to "nightly" 423 # * "{fileName}" is forced to "app-nightly-androidTest.apk" 424 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/nightly/app-nightly-androidTest.apk' 425 disable-optimization: true 426 run: 427 gradle-build-type: androidTest 428 gradle-build-name: androidTest 429 gradle-build: fenix 430 test-build-type: nightly 431 run-on-projects: [trunk] 432 source-project-name: "fenix" 433 treeherder: 434 symbol: fenix-nightly(Bat) 435 platform: fenix-android-all/opt 436 437 focus-android-test-beta: 438 attributes: 439 shipping-product: focus 440 description: 'Focus Beta Android Test for debugging' 441 dependencies: 442 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 443 run: 444 gradle-build-type: androidTest 445 gradle-build-name: androidTest 446 gradle-build: focus 447 test-build-type: beta 448 run-on-projects: ['release'] 449 source-project-name: "focus-android" 450 apk-artifact-template: 451 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/focus-android/app/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk' 452 treeherder: 453 symbol: focus-beta(Bat) 454 platform: focus-android-all/opt 455 456 fenix-android-test-beta: 457 attributes: 458 shipping-product: fenix 459 description: 'Fenix Beta Android Test for debugging' 460 dependencies: 461 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 462 apk-artifact-template: 463 # 3 differences here: 464 # * "androidTest/" is added 465 # * "{gradle_build_type}" is forced to "beta" 466 # * "{fileName}" is forced to "app-beta-androidTest.apk" 467 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/beta/app-beta-androidTest.apk' 468 disable-optimization: true 469 run: 470 gradle-build-type: androidTest 471 gradle-build-name: androidTest 472 gradle-build: fenix 473 test-build-type: beta 474 run-on-projects: ['release'] 475 source-project-name: "fenix" 476 treeherder: 477 symbol: fenix-beta(Bat) 478 platform: fenix-android-all/opt 479 480 fenix-android-test-mozillaonline: 481 attributes: 482 shipping-product: fenix 483 description: 'Fenix Android Test mozillaonline' 484 dependencies: 485 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 486 apk-artifact-template: 487 # 3 differences here: 488 # * "androidTest/" is added 489 # * "{gradle_build_type}" is forced to "beta" 490 # * "{fileName}" is forced to "app-beta-androidTest.apk" 491 path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/beta/app-beta-androidTest.apk' 492 run-on-projects: [] 493 disable-optimization: true 494 run: 495 gradle-build-type: androidTest 496 gradle-build-name: androidTest 497 gradle-build: fenix 498 gradle-extra-options: 499 - -PmozillaOnline 500 test-build-type: beta 501 source-project-name: "fenix" 502 treeherder: 503 symbol: fenix-beta(Bat-mo) 504 platform: fenix-android-all/opt 505 506 fenix-nightly-simulation: 507 description: 'Fenix Nightly Simulation' 508 dependencies: 509 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 510 baseline-profile: generate-baseline-profile-firebase-fenix 511 fetches: 512 baseline-profile: 513 - artifact: baselineProfile.tar.zst 514 dest: baselineProfiles 515 attributes: 516 nightly: false 517 shipping-product: fenix 518 include-nightly-version: true 519 include-shippable-secrets: true 520 run-on-projects: [] 521 run: 522 gradle-build-type: nightly 523 gradle-build-name: nightly 524 gradle-build: fenix 525 baseline-profile-path: /builds/worker/fetches/baselineProfiles 526 source-project-name: "fenix" 527 treeherder: 528 symbol: fenix-nightlySim(B) 529 platform: fenix-android-all/opt 530 531 fenix-beta-mozillaonline: 532 description: 'Fenix Beta mozillaonline' 533 dependencies: 534 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 535 attributes: 536 release-type: beta 537 shipping_phase: promote 538 shipping-product: fenix 539 include-release-version: true 540 include-shippable-secrets: true 541 run: 542 gradle-build-type: beta 543 gradle-build-name: beta 544 gradle-build: fenix 545 gradle-extra-options: 546 - -PmozillaOnline 547 run-on-projects: [] 548 source-project-name: "fenix" 549 treeherder: 550 symbol: fenix-beta(Bmo) 551 platform: fenix-android-all/opt 552 553 fenix-release-mozillaonline: 554 description: 'Fenix Release mozillaonline' 555 dependencies: 556 build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt 557 baseline-profile: generate-baseline-profile-firebase-fenix 558 fetches: 559 baseline-profile: 560 - artifact: baselineProfile.tar.zst 561 dest: baselineProfiles 562 attributes: 563 release-type: release 564 shipping_phase: promote 565 shipping-product: fenix 566 include-release-version: true 567 include-shippable-secrets: true 568 run: 569 gradle-build-type: release 570 gradle-build-name: release 571 gradle-build: fenix 572 gradle-extra-options: 573 - -PmozillaOnline 574 baseline-profile-path: /builds/worker/fetches/baselineProfiles 575 run-on-projects: [] 576 source-project-name: "fenix" 577 treeherder: 578 symbol: fenix-release(Bmo) 579 platform: fenix-android-all/opt