taskcluster/ci/toolchain/macosx.yml
author Mike Hommey <mh+mozilla@glandium.org>
Fri, 11 Jan 2019 22:29:35 +0000
changeset 453577 a58fad772b6f
parent 453060 266dce70b10e
child 456687 e56076d0fca5
permissions -rw-r--r--
Bug 1391408 - Build minidump_stackwalk as a toolchain. r=froydnj This produces the same executables (produced for the same platforms) as those currently pulled from tooltool (modulo timestamps, maybe changes since last manifest change, etc.). Unfortunately, as of currently, the Windows variant needs to be cross-built with mingw because it doesn't compile without some POSIX APIs that MSVC/Windows SDK don't provide. One thing that is left out of this change is whether to be completely accurate with the toolchain cache hash (requiring a large list of files as resources, and making those built very frequently), whether we'd rely on manual updates, or if we should go with completely uncached tasks. This can be left for a followup, the tasks not being hooked up to be actually used by other tasks yet. Differential Revision: https://phabricator.services.mozilla.com/D16302

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

job-defaults:
    worker:
        docker-image: {in-tree: toolchain-build}
    run-on-projects:
        - trunk
        - try

macosx64-clang:
    description: "Clang toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(clang)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
    worker:
        max-run-time: 3600
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
    run:
        using: toolchain-script
        script: build-clang-macosx.sh
        tooltool-downloads: internal
        resources:
            - 'build/build-clang/build-clang.py'
            - 'build/build-clang/clang-7-macosx64.json'
            - 'taskcluster/scripts/misc/tooltool-download.sh'
        toolchain-artifact: public/build/clang.tar.xz
    toolchains:
        - linux64-cctools-port
        - linux64-clang-7
        - linux64-gcc-4.9
        - linux64-node

macosx64-clang-tidy:
    description: "Clang-tidy build"
    index:
        product: static-analysis
        job-name: macosx64-clang-tidy
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(clang-tidy)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux-large
    worker:
        max-run-time: 3600
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
    run:
        using: toolchain-script
        script: build-clang-tidy-macosx.sh
        tooltool-downloads: internal
        resources:
            - 'build/clang-plugin/**/*.cpp'
            - 'build/clang-plugin/**/*.h'
            - 'build/clang-plugin/*.inc'
            - 'build/clang-plugin/*.py'
            - 'build/clang-plugin/moz.build'
            - 'build/clang-plugin/Makefile.in'
            - 'build/build-clang/build-clang.py'
            - 'build/build-clang/clang-tidy-macosx64.json'
            - 'taskcluster/scripts/misc/tooltool-download.sh'
        toolchain-artifact: public/build/clang-tidy.tar.xz
    toolchains:
        - linux64-cctools-port
        - linux64-clang-7
        - linux64-gcc-4.9
        - linux64-node

macosx64-cctools-port:
    description: "cctools-port toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(cctools)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 1800
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
    run:
        using: toolchain-script
        script: build-cctools-port-macosx.sh
        tooltool-downloads: internal
        resources:
            - 'taskcluster/scripts/misc/tooltool-download.sh'
        toolchain-artifact: public/build/cctools.tar.bz2
    toolchains:
        - linux64-cctools-port
        - linux64-clang-7
        - linux64-node

macosx64-gn:
    description: "gn toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(gn)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 1800
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
    run:
        using: toolchain-script
        script: build-gn-macosx.sh
        tooltool-downloads: internal
        resources:
            - 'taskcluster/scripts/misc/tooltool-download.sh'
            - 'taskcluster/scripts/misc/build-gn-common.sh'
        toolchain-artifact: public/build/gn.tar.xz
    toolchains:
        - linux64-cctools-port
        - linux64-clang-7
        - linux64-node

macosx64-node:
    description: "Node repack toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(node)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        docker-image: {in-tree: toolchain-build}
        max-run-time: 1800
    run:
        using: toolchain-script
        script: repack-node.sh
        arguments: ['macosx64']
        toolchain-artifact: public/build/node.tar.xz

macosx64-grcov:
    description: "grcov toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(grcov)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 1800
    run:
        using: toolchain-script
        script: build-grcov.sh
        resources:
            - 'taskcluster/scripts/misc/tooltool-download.sh'
        toolchain-artifact: public/build/grcov.tar.xz
    toolchains:
        - linux64-rust-1.28
        - linux64-clang-7

macosx64-cbindgen:
    description: "cbindgen toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(cbindgen)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 3600
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
    run:
        using: toolchain-script
        script: build-cbindgen.sh
        arguments: ['x86_64-apple-darwin']
        tooltool-downloads: internal
        resources:
            - 'taskcluster/scripts/misc/tooltool-download.sh'
        toolchain-artifact: public/build/cbindgen.tar.xz
    toolchains:
        - linux64-cctools-port
        - linux64-clang-7
        - linux64-llvm-dsymutil
        - linux64-rust-macos-1.31

macosx64-minidump-stackwalk:
    description: "minidump_stackwalk toolchain build"
    treeherder:
        kind: build
        platform: toolchains/opt
        symbol: TM(stackwalk)
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 1800
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-clang.manifest"
    run:
        using: toolchain-script
        script: build-minidump-stackwalk.sh
        sparse-profile: null
        arguments: ['macosx64']
        tooltool-downloads: internal
        resources:
            - 'taskcluster/scripts/misc/tooltool-download.sh'
        toolchain-artifact: public/build/minidump_stackwalk.tar.xz
    toolchains:
        - linux64-cctools-port
        - linux64-clang-7
        - linux64-rust-macos-1.31