forked from mirrors/gecko-dev
To date we have variously specified both worker-type and worker-implementation, often manually coordinated. We also embedded a few awkward assumptions such as that the native engine only runs on OS X. But a worker type has one and only one implementation, and that implementation is stable over time (as changing it would require simultaneous landings on all trees). Instead, this change makes worker-type the primary configuration, and derives both a worker implementation (defining the payload format) and worker OS (determining what to include in the payload) from that value. The derivation occurs when deciding how to implement a particular job, where the run_using functions are distinguished by worker implementation. The two-part logic to determine how and where to run a test task based on its platform is combined into a single transform, `set_worker_type`. This contains some other related changes: - MOZ_AUTOMATION is set in specific jobs, rather than everywhere docker-worker is used - the URL to test packages is factored out into a shared function - docker-worker test defaults are applied in `mozharness_test.py` - the WORKER_TYPE array in `task.py`, formerly mixing two types of keys, is split - the 'invalid' workerType is assigned an 'invalid' implementation - all tasks that do not use job descriptions but use docker-worker, etc. have `worker.os` added Tested to not produce a substantially different taskgraph for a regular push, a try push, or a nightly cron. MozReview-Commit-ID: LDHrmrpBo7I --HG-- extra : rebase_source : 4cdfe6b8d9874b0c156671515b213d820b48482f
63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
# 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/.
|
|
|
|
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-macosx64
|
|
worker:
|
|
docker-image: {in-tree: desktop-build}
|
|
max-run-time: 36000
|
|
run:
|
|
using: toolchain-script
|
|
script: build-clang-macosx.sh
|
|
tooltool-downloads: internal
|
|
resources:
|
|
- 'build/build-clang/**'
|
|
- 'taskcluster/scripts/misc/tooltool-download.sh'
|
|
|
|
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-macosx64
|
|
worker:
|
|
docker-image: {in-tree: desktop-build}
|
|
max-run-time: 36000
|
|
run:
|
|
using: toolchain-script
|
|
script: build-clang-tidy-macosx.sh
|
|
tooltool-downloads: internal
|
|
resources:
|
|
- 'build/clang-plugin/**'
|
|
- 'build/build-clang/**'
|
|
- 'taskcluster/scripts/misc/tooltool-download.sh'
|
|
|
|
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-macosx64
|
|
worker:
|
|
docker-image: {in-tree: desktop-build}
|
|
max-run-time: 36000
|
|
run:
|
|
using: toolchain-script
|
|
script: build-cctools-port-macosx.sh
|
|
tooltool-downloads: internal
|
|
resources:
|
|
- 'taskcluster/scripts/misc/tooltool-download.sh'
|