Bug 1374940 - Add artifact paths to toolchain jobs definitions. r=dustin

The toolchain jobs produce artifacts that are going to be used by other
jobs, but there is no reliable way for the decision task to know the
name of those artifacts. So we make their definition required in the
toolchain job definitions.

--HG--
extra : rebase_source : eb668cf2bf7793b44dc3d91e3ddb8d7c69e3de52
This commit is contained in:
Mike Hommey 2017-06-21 15:13:35 +09:00
parent dfdf3bda57
commit 28e5237a01
6 changed files with 28 additions and 2 deletions

View File

@ -21,6 +21,7 @@ linux64-clang:
resources:
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/clang.tar.xz
linux64-clang-tidy:
description: "Clang-tidy build"
@ -45,6 +46,7 @@ linux64-clang-tidy:
- 'build/clang-plugin/**'
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/clang-tidy.tar.xz
linux64-gcc:
description: "GCC toolchain build"
@ -62,6 +64,7 @@ linux64-gcc:
script: build-gcc-linux.sh
resources:
- 'build/unix/build-gcc/**'
toolchain-artifact: public/gcc.tar.xz
linux64-binutils:
description: "Binutils toolchain build"
@ -79,6 +82,7 @@ linux64-binutils:
script: build-binutils-linux.sh
resources:
- 'build/unix/build-binutils/**'
toolchain-artifact: public/binutils.tar.xz
linux64-cctools-port:
description: "cctools-port toolchain build"
@ -98,6 +102,7 @@ linux64-cctools-port:
script: build-cctools-port.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/cctools.tar.xz
linux64-hfsplus:
description: "hfsplus toolchain build"
@ -118,6 +123,7 @@ linux64-hfsplus:
resources:
- 'build/unix/build-hfsplus/**'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/hfsplus-tools.tar.xz
linux64-libdmg:
description: "libdmg-hfsplus toolchain build"
@ -133,3 +139,4 @@ linux64-libdmg:
run:
using: toolchain-script
script: build-libdmg-hfsplus.sh
toolchain-artifact: public/dmg.tar.xz

View File

@ -22,6 +22,7 @@ macosx64-clang:
resources:
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/clang.tar.xz
macosx64-clang-tidy:
description: "Clang-tidy build"
@ -47,6 +48,7 @@ macosx64-clang-tidy:
- 'build/clang-plugin/**'
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/clang-tidy.tar.xz
macosx64-cctools-port:
description: "cctools-port toolchain build"
@ -67,3 +69,4 @@ macosx64-cctools-port:
tooltool-downloads: internal
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/cctools.tar.bz2

View File

@ -20,6 +20,7 @@ win32-clang-cl:
resources:
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/build-clang-windows-helper32.sh'
toolchain-artifact: public/build/clang.tar.bz2
win64-clang-cl:
description: "Clang-cl toolchain build"
@ -39,6 +40,7 @@ win64-clang-cl:
resources:
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
toolchain-artifact: public/build/clang.tar.bz2
win32-clang-tidy:
description: "Clang-tidy toolchain build"
@ -61,6 +63,7 @@ win32-clang-tidy:
resources:
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/build-clang-windows-helper32.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2
win64-clang-tidy:
description: "Clang-tidy toolchain build"
@ -83,3 +86,4 @@ win64-clang-tidy:
resources:
- 'build/build-clang/**'
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2

View File

@ -164,4 +164,8 @@ Signals that the output of this task contains signed artifacts.
repackage_type
==============
This is the type of repackage. Can be ``repackage`` or
``repacakge_signing``.
``repackage_signing``.
toolchain-artifact
==================
For toolchain jobs, this is the path to the artifact for that toolchain.

View File

@ -39,6 +39,9 @@ toolchain_run_schema = Schema({
# Paths/patterns pointing to files that influence the outcome of a
# toolchain build.
Optional('resources'): [basestring],
# Path to the artifact produced by the toolchain job
Required('toolchain-artifact'): basestring,
})
@ -130,6 +133,9 @@ def docker_worker_toolchain(config, job, taskdesc):
run['script'])
]
attributes = taskdesc.setdefault('attributes', {})
attributes['toolchain-artifact'] = run['toolchain-artifact']
add_optimizations(config, run, taskdesc)
@ -181,4 +187,7 @@ def windows_toolchain(config, job, taskdesc):
r'{} -c ./build/src/taskcluster/scripts/misc/{}'.format(bash, run['script'])
]
attributes = taskdesc.setdefault('attributes', {})
attributes['toolchain-artifact'] = run['toolchain-artifact']
add_optimizations(config, run, taskdesc)

View File

@ -215,7 +215,6 @@ task_description_schema = Schema({
# the exit status code that indicates the task should be retried
Optional('retry-exit-status'): int,
}, {
Required('implementation'): 'generic-worker',
Required('os'): Any('windows', 'macosx'),