# 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/.
---

task-defaults:
    fetches:
        toolchain:
            - linux64-node
            - linux64-geckodriver
            - browsertime

    worker:
        env:
            PYTHONPATH: "testing/mozbase/mozdevice:third_party/python/six"

    run:
        sparse-profile: perftest
        checkout: true
        cwd: '{checkout}'
        command: >-
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --on-try
            --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-chrome-m-newssite-applink-startup:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android cold_view_nav_end (newssite) perftest on Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(newssite-applink-startup)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app chrome-m
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-newssite-applink-startup:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android cold_view_nav_end (newssite) perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(newssite-applink-startup)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: [trunk-only]
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-newssite-applink-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-a55
    description: Profile android cold_view_nav_end perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(newssite-applink-profile)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-p6-aarch64-shippable-startup-fenix-newssite-applink-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-p6
    description: Profile android cold_view_nav_end perftest on Fenix on a Pixel 6
    treeherder:
        symbol: perftest-fenix(newssite-applink-profile)
        tier: 2
    platform: android-hw-p6-13-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-p6-13-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-s24-aarch64-shippable-startup-fenix-newssite-applink-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-s24
    description: Profile android cold_view_nav_end perftest on Fenix on a Samsung S24
    treeherder:
        symbol: perftest-fenix(newssite-applink-profile)
        tier: 2
    platform: android-hw-s24-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-s24-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf


hw-p6-aarch64-shippable-startup-chrome-m-newssite-applink-startup:
    worker-type: t-bitbar-gw-perf-p6
    description: Run android cold_view_nav_end (newssite) perftest on Chrome on a Google Pixel 6
    treeherder:
        symbol: perftest-chrome(newssite-applink-startup)
        tier: 2
    platform: android-hw-p6-13-0-aarch64-shippable/opt
    attributes:
        cron: true
    run-on-projects: []
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app chrome-m
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --output $MOZ_FETCHES_DIR/../artifacts

hw-p6-aarch64-shippable-startup-fenix-newssite-applink-startup:
    worker-type: t-bitbar-gw-perf-p6
    description: Run android cold_view_nav_end (newssite) perftest on Fenix on a Pixel 6
    treeherder:
        symbol: perftest-fenix(newssite-applink-startup)
        tier: 2
    platform: android-hw-p6-13-0-aarch64-shippable/opt
    attributes:
        cron: true
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-p6-13-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts

hw-s24-aarch64-shippable-startup-chrome-m-newssite-applink-startup:
    worker-type: t-bitbar-gw-perf-s24
    description: Run android cold_view_nav_end (newssite) perftest on Chrome on a Samsung S24
    treeherder:
        symbol: perftest-chrome(newssite-applink-startup)
        tier: 2
    platform: android-hw-s24-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run-on-projects: []
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app chrome-m
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --output $MOZ_FETCHES_DIR/../artifacts

hw-s24-aarch64-shippable-startup-fenix-newssite-applink-startup:
    worker-type: t-bitbar-gw-perf-s24
    description: Run android cold_view_nav_end (newssite) perftest on Fenix on a Samsung S24
    treeherder:
        symbol: perftest-fenix(newssite-applink-startup)
        tier: 2
    platform: android-hw-s24-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-s24-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-newssite.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-chrome-m-shopify-applink-startup:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android cold_view_nav_end (shopify) perftest on Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(shopify-applink-startup)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app chrome-m
            testing/performance/mobile-startup/cvne-shopify.sh
            --perfherder
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-shopify-applink-startup:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android cold_view_nav_end (shopify) perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(shopify-applink-startup)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: [trunk-only]
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-shopify.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-shopify-applink-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-a55
    description: Profile android cold_view_nav_end perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(shopify-applink-profile)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-shopify.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-p6-aarch64-shippable-startup-fenix-shopify-applink-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-p6
    description: Profile android cold_view_nav_end perftest on Fenix on a Pixel 6
    treeherder:
        symbol: perftest-fenix(shopify-applink-profile)
        tier: 2
    platform: android-hw-p6-13-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-p6-13-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-shopify.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-s24-aarch64-shippable-startup-fenix-shopify-applink-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-s24
    description: Profile android cold_view_nav_end perftest on Fenix on a Samsung S24
    treeherder:
        symbol: perftest-fenix(shopify-applink-profile)
        tier: 2
    platform: android-hw-s24-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-s24-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvne-shopify.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-a55-aarch64-shippable-startup-chrome-m-tab-restore-shopify:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android startup restore perftest on Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(tab-restore-shopify)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run-on-projects: [trunk-only]
    run:
        command: >-
             mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
             cd $GECKO_PATH &&
             python3 python/mozperftest/mozperftest/runner.py
             --flavor custom-script
             --app chrome-m
             testing/performance/mobile-startup/restore.sh
             --perfherder
             --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-tab-restore-shopify:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android startup restore perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(tab-restore-shopify)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run-on-projects: [trunk-only]
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/restore.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-chrome-m-homeview-startup:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android homeview startup perftest on Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(homeview-startup)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app chrome-m
            testing/performance/mobile-startup/homeview.sh
            --perfherder
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-homeview-startup:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android homeview startup perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(homeview-startup)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: [trunk-only]
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/homeview.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts

hw-a55-aarch64-shippable-startup-fenix-homeview-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-a55
    description: Profile android homeview startup perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(homeview-startup-profile)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/homeview.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-p6-aarch64-shippable-startup-fenix-homeview-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-p6
    description: Profile android homeview startup perftest on Fenix on a Pixel 6
    treeherder:
        symbol: perftest-fenix(homeview-startup-profile)
        tier: 2
    platform: android-hw-p6-13-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-p6-13-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/homeview.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf

hw-s24-aarch64-shippable-startup-fenix-homeview-startup-simpleperf:
    worker-type: t-bitbar-gw-perf-s24
    description: Profile android homeview startup perftest on Fenix on a Samsung S24
    treeherder:
        symbol: perftest-fenix(homeview-startup-profile)
        tier: 2
    platform: android-hw-s24-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - linux64-android-simpleperf-linux-repack
    require-build:
        android-hw-s24-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/homeview.sh
            --perfherder
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --simpleperf
            --simpleperf-path $MOZ_FETCHES_DIR/android-simpleperf


hw-a55-aarch64:
    worker-type: t-bitbar-gw-perf-a55
    description: Run ./mach perftest on a Samsung Galaxy a55
    treeherder:
        symbol: perftest-a55
    platform: android-hw-a55-14-0-aarch64-shippable/opt

hw-a55-aarch64-shippable-startup-fenix-cold-main-first-frame:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [trunk-only]
    description: Run android startup perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(startup-first-frame)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cmff.sh
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-shippable-startup-fenix-cold-view-nav-start:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [trunk-only]
    description: Run android startup perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(startup-navigation-start)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app fenix
            testing/performance/mobile-startup/cvns.sh
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-shippable-startup-focus-cold-main-first-frame:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android startup perftest on Focus on a Samsung A55
    treeherder:
        symbol: perftest-focus(startup-first-frame)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-focus-nightly
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app focus
            testing/performance/mobile-startup/cmff.sh
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --binary org.mozilla.focus.nightly
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-shippable-startup-focus-cold-view-nav-start:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android startup perftest on Focus on a Samsung A55
    treeherder:
        symbol: perftest-focus(startup-navigation-start)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-focus-nightly
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app focus
            testing/performance/mobile-startup/cvns.sh
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --binary org.mozilla.focus.nightly
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-shippable-startup-geckoview-cold-main-first-frame:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [trunk-only]
    description: Run android startup perftest on Geckoview on a Samsung A55
    treeherder:
        symbol: perftest(startup-first-frame)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: geckoview_example.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: build-android-aarch64-shippable/opt
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app geckoview
            testing/performance/mobile-startup/cmff.sh
            --android-install-apk $MOZ_FETCHES_DIR/geckoview_example.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-shippable-startup-geckoview-cold-view-nav-start:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [trunk-only]
    description: Run android startup perftest on Geckoview_example on a Samsung A55
    treeherder:
        symbol: perftest(startup-navigation-start)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: geckoview_example.apk
              extract: false
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: build-android-aarch64-shippable/opt
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app geckoview
            testing/performance/mobile-startup/cvns.sh
            --android-install-apk $MOZ_FETCHES_DIR/geckoview_example.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-shippable-startup-chrome-m-cold-main-first-frame:
    worker-type: t-bitbar-gw-perf-a55
    description: Run android startup perftest on Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(startup-first-frame)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: true
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor custom-script
            --app chrome-m
            testing/performance/mobile-startup/cmff.sh
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder

hw-a55-aarch64-perfstats-gv:
    worker-type: t-bitbar-gw-perf-a55
    description: Run PerfStats perftest on GeckoView on a Samsung A55
    treeherder:
        symbol: perftest(perfstats-gv)
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor mobile-browser
            --app geckoview
            --android
            --android-app-name org.mozilla.geckoview_example
            --android-activity org.mozilla.geckoview_example.GeckoViewActivity
            --android-clear-logcat
            --android-capture-logcat logcat
            --android-install-apk gve_nightly_aarch64
            --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder
            --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
            --browsertime-iterations 10
            --hooks testing/performance/hooks_perfstats.py
            testing/performance/perftest_perfstats.js

hw-a55-aarch64-perfstats-fenix:
    worker-type: t-bitbar-gw-perf-a55
    description: Run PerfStats perftest on Fenix on a Samsung A55
    treeherder:
        symbol: perftest(perfstats-fenix)
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor mobile-browser
            --app fenix
            --android
            --android-app-name org.mozilla.fenix
            --android-activity org.mozilla.fenix.IntentReceiverActivity
            --android-clear-logcat
            --android-capture-logcat logcat
            --android-install-apk fenix_nightly_arm64_v8a
            --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
            --output $MOZ_FETCHES_DIR/../artifacts
            --perfherder
            --perfherder-metrics name:HttpChannelCompletion,unit:ms name:HttpChannelCompletion_Cache,unit:ms name:HttpChannelCompletion_Network,unit:ms name:DisplayListBuilding,unit:ms name:Reflowing,unit:ms name:Styling,unit:ms
            --browsertime-iterations 10
            --hooks testing/performance/hooks_perfstats.py
            testing/performance/perftest_perfstats.js

hw-a55-record-websites:
    worker-type: t-bitbar-gw-perf-a55
    description: Run perftest to record mobile websites
    treeherder:
        symbol: perftest(rec)
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: build-android-aarch64-shippable/opt
    attributes:
        cron: false
    run-on-projects: []
    scopes:
        - secrets:get:project/releng/gecko/build/level-{level}/conditioned-profiles
        - secrets:get:project/perftest/gecko/level-{level}/perftest-login
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            --flavor mobile-browser
            --app geckoview
            --android
            --android-app-name org.mozilla.geckoview_example
            --android-activity org.mozilla.geckoview_example.GeckoViewActivity
            --android-clear-logcat
            --android-capture-logcat logcat
            --android-install-apk gve_nightly_aarch64
            --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
            --proxy
            --output $MOZ_FETCHES_DIR/../artifacts
            --hooks testing/performance/hooks_recording.py
            testing/performance/perftest_record.js

hw-a55-background-resource-fenix:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [trunk-only]
    description: Run background resource test with Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(background-rsrc)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - android-xmlstarlet
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            testing/performance/android-resource/main-background.sh
            --app fenix
            --android
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --hooks testing/performance/android-resource/hooks_android_resource.py

hw-a55-background-resource-chrome:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [mozilla-central]
    description: Run background CPU test with Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(background-rsrc)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        toolchain:
            - android-xmlstarlet
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            testing/performance/android-resource/main-background.sh
            --app chrome-m
            --android
            --output $MOZ_FETCHES_DIR/../artifacts
            --hooks testing/performance/android-resource/hooks_android_resource.py

hw-a55-foreground-resource-fenix:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [trunk-only]
    description: Run background resource test with Fenix on a Samsung A55
    treeherder:
        symbol: perftest-fenix(foreground-rsrc)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        build:
            - artifact: target.arm64-v8a.apk
              extract: false
        toolchain:
            - android-xmlstarlet
    require-build:
        android-hw-a55-14-0-aarch64-shippable/opt: signing-apk-fenix-nightly-simulation
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            testing/performance/android-resource/main-foreground.sh
            --app fenix
            --android
            --android-install-apk $MOZ_FETCHES_DIR/target.arm64-v8a.apk
            --output $MOZ_FETCHES_DIR/../artifacts
            --hooks testing/performance/android-resource/hooks_android_resource.py

hw-a55-foreground-resource-chrome:
    worker-type: t-bitbar-gw-perf-a55
    run-on-projects: [mozilla-central]
    description: Run background CPU test with Chrome on a Samsung A55
    treeherder:
        symbol: perftest-chrome(foreground-rsrc)
        tier: 2
    platform: android-hw-a55-14-0-aarch64-shippable/opt
    attributes:
        cron: false
    fetches:
        toolchain:
            - android-xmlstarlet
    run:
        command: >-
            mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
            cd $GECKO_PATH &&
            python3 python/mozperftest/mozperftest/runner.py
            testing/performance/android-resource/main-foreground.sh
            --app chrome-m
            --android
            --output $MOZ_FETCHES_DIR/../artifacts
            --hooks testing/performance/android-resource/hooks_android_resource.py
