taskcluster/ci/nightly-l10n/kind.yml
author Aki Sasaki <asasaki@mozilla.com>
Tue, 23 Oct 2018 21:12:51 +0000
changeset 491030 2eea4d6c1597ce9a997eca8bc5fdb78119d7aced
parent 475928 025c35ad797ffc349272d1587afd237abbff95d2
child 491180 41e237ce7cccf1bcec005719145831a59289efbc
permissions -rw-r--r--
Bug 1499254 - add primary-dependency support. r=tomprince,Callek Depends on D9194 Differential Revision: https://phabricator.services.mozilla.com/D9196

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

loader: taskgraph.loader.multi_dep:loader

group-by: platform

transforms:
    - taskgraph.transforms.l10n:transforms
    - taskgraph.transforms.use_toolchains:transforms
    - taskgraph.transforms.job:transforms
    - taskgraph.transforms.task:transforms

kind-dependencies:
    - build
    - build-signing
    - repackage
    - repackage-signing
    - toolchain

primary-dependency: build

only-for-build-platforms:
    - linux64-nightly/opt
    - linux-nightly/opt
    - android-api-16-nightly/opt
    - macosx64-nightly/opt
    - win32-nightly/opt
    - win64-nightly/opt
    - linux64-devedition-nightly/opt
    - linux-devedition-nightly/opt
    - macosx64-devedition-nightly/opt
    - win32-devedition-nightly/opt
    - win64-devedition-nightly/opt

job-template:
    description:
        by-build-platform:
            default: Localization
            android-api-16-nightly: Single Locale Repack
    locales-file:
        by-build-platform:
            default: browser/locales/l10n-changesets.json
            android-api-16-nightly: mobile/locales/l10n-changesets.json
    locales-per-chunk: 5
    run-on-projects: ['release']
    attributes:
        shipping_phase: promote
    ignore-locales:
        by-build-platform:
            # OSX has a special locale for japanese
            macosx64.*: [ja]
            default: [ja-JP-mac]
    run-time:
        by-build-platform:
            default: 36000
            android-api-16-nightly: 18000
    docker-image:
        by-build-platform:
            android-api-16-nightly:
                in-tree: android-build
            default: null
    secrets:
        by-build-platform:
            default: false
            android-api-16-nightly: true
    toolchains:
        by-build-platform:
            default: []
            macosx64.*:
                - linux64-libdmg
                - linux64-hfsplus
            android-api-16-nightly:
                - android-gradle-dependencies
                - android-sdk-linux
    tooltool:
        by-build-platform:
            default: public
            android-api-16-nightly: internal
            macosx64-nightly: internal
            macosx64-devedition-nightly: internal
            win32-nightly: internal
            win32-devedition-nightly: internal
            win64-nightly: internal
            win64-devedition-nightly: internal
    index:
        type: nightly-l10n
        product:
            by-build-platform:
                default: firefox
                .*-devedition-.*: devedition
                android-api-16-nightly: mobile
        job-name:
            by-build-platform:
                linux-nightly: linux-opt
                linux64-nightly: linux64-opt
                macosx64-nightly: macosx64-opt
                win32-nightly: win32-opt
                win64-nightly: win64-opt
                linux-devedition-nightly: linux-devedition-opt
                linux64-devedition-nightly: linux64-devedition-opt
                macosx64-devedition-nightly: macosx64-devedition-opt
                win32-devedition-nightly: win32-devedition-opt
                win64-devedition-nightly: win64-devedition-opt
                android-api-16-nightly: android-api-16-opt
    worker-type:
        by-build-platform:
            default: aws-provisioner-v1/gecko-{level}-b-linux
            android-api-16-nightly: aws-provisioner-v1/gecko-{level}-b-android
            win.*: aws-provisioner-v1/gecko-{level}-b-win2012
    treeherder:
        symbol: L10n(N)
        tier:
            by-build-platform:
                default: 1
                android-api-16-nightly: 2
        platform:
            by-build-platform:
                linux64-nightly: linux64/opt
                linux-nightly: linux32/opt
                macosx64-nightly: osx-cross/opt
                win32-nightly: windows2012-32/opt
                win64-nightly: windows2012-64/opt
                linux64-devedition-nightly: linux64-devedition/opt
                linux-devedition-nightly: linux32-devedition/opt
                macosx64-devedition-nightly: osx-cross-devedition/opt
                win32-devedition-nightly: windows2012-32-devedition/opt
                win64-devedition-nightly: windows2012-64-devedition/opt
                android-api-16-nightly: android-4-0-armv7-api16/opt
    env:
        by-build-platform:
            linux.*:    # linux64 and 32 get same treatment here
                EN_US_PACKAGE_NAME: target.tar.bz2
                EN_US_BINARY_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<build-signing>/artifacts/{artifact_prefix}
                MAR_TOOLS_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<build>/artifacts/{artifact_prefix}/host/bin
            macosx64.*:
                EN_US_PACKAGE_NAME: target.dmg
                EN_US_BINARY_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<repackage>/artifacts/{artifact_prefix}
                MAR_TOOLS_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<build>/artifacts/{artifact_prefix}/host/bin
            win.*:
                EN_US_PACKAGE_NAME: target.zip
                EN_US_BINARY_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<build-signing>/artifacts/{artifact_prefix}
                EN_US_INSTALLER_BINARY_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<repackage-signing>/artifacts/{artifact_prefix}
                MAR_TOOLS_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<build>/artifacts/{artifact_prefix}/host/bin
            android-api-16-nightly:
                EN_US_PACKAGE_NAME: target.apk
                EN_US_BINARY_URL:
                    task-reference: https://queue.taskcluster.net/v1/task/<build>/artifacts/{artifact_prefix}/en-US
    mozharness:
        config:
            by-build-platform:
                linux-nightly:
                    - single_locale/{project}.py
                    - single_locale/linux32.py
                    - single_locale/tc_common.py
                    - single_locale/tc_linux32.py
                    - taskcluster_nightly.py
                linux64-nightly:
                    - single_locale/{project}.py
                    - single_locale/linux64.py
                    - single_locale/tc_common.py
                    - single_locale/tc_linux64.py
                    - taskcluster_nightly.py
                macosx64-nightly:
                    - single_locale/{project}.py
                    - single_locale/macosx64.py
                    - single_locale/tc_common.py
                    - single_locale/tc_macosx64.py
                    - taskcluster_nightly.py
                win32-nightly:
                    - single_locale/{project}.py
                    - single_locale/win32.py
                    - single_locale/tc_common.py
                    - single_locale/tc_win32.py
                    - taskcluster_nightly.py
                win64-nightly:
                    - single_locale/{project}.py
                    - single_locale/win64.py
                    - single_locale/tc_common.py
                    - single_locale/tc_win64.py
                    - taskcluster_nightly.py
                linux-devedition-nightly:
                    - single_locale/{project}.py
                    - single_locale/linux_devedition.py
                    - single_locale/tc_common.py
                    - single_locale/tc_linux32.py
                    - taskcluster_nightly.py
                linux64-devedition-nightly:
                    - single_locale/{project}.py
                    - single_locale/linux64_devedition.py
                    - single_locale/tc_common.py
                    - single_locale/tc_linux64.py
                    - taskcluster_nightly.py
                macosx64-devedition-nightly:
                    - single_locale/{project}.py
                    - single_locale/macosx64_devedition.py
                    - single_locale/tc_common.py
                    - single_locale/tc_macosx64.py
                    - taskcluster_nightly.py
                win32-devedition-nightly:
                    - single_locale/{project}.py
                    - single_locale/win32_devedition.py
                    - single_locale/tc_common.py
                    - single_locale/tc_win32.py
                    - taskcluster_nightly.py
                win64-devedition-nightly:
                    - single_locale/{project}.py
                    - single_locale/win64_devedition.py
                    - single_locale/tc_common.py
                    - single_locale/tc_win64.py
                    - taskcluster_nightly.py
                android-api-16-nightly:
                    - taskcluster_nightly.py
                    - single_locale/{project}_android-api-16.py
                    - single_locale/tc_common.py
                    - single_locale/tc_android-api-16.py
        # no default, so we fail on new entries
        options:
            - revision=$GECKO_HEAD_REV
        actions:
            by-build-platform:
                default: ['clone-locales', 'list-locales', 'setup', 'repack',
                          'summary']
                android-api-16-nightly: ['get-secrets',
                                         'clone-locales', 'list-locales', 'setup', 'repack',
                                         'upload-repacks', 'summary']
        script:
            by-build-platform:
                default: mozharness/scripts/desktop_l10n.py
                android-api-16-nightly: mozharness/scripts/mobile_l10n.py