Bug 1340564: use an attribute to identify signed tasks; r=Callek

This is a more robust approach than using substring matching on task labels.

As an optimization, this simply avoids creating balrog tasks for unsigned beets
using only-for-attributes, rather than omitting them in a transform.

MozReview-Commit-ID: 8MNOxu0WgXo
This commit is contained in:
Dustin J. Mitchell
2017-02-05 14:08:10 -05:00
parent a7ba01300c
commit d6bbf4fda6
7 changed files with 9 additions and 10 deletions

View File

@@ -15,3 +15,4 @@ kind-dependencies:
only-for-attributes:
- nightly
- signed

View File

@@ -155,3 +155,7 @@ locale
For jobs that operate on only one locale, we set the attribute ``locale`` to the
specific locale involved. Currently this is only in l10n versions of the
``beetmover`` and ``balrog`` kinds.
signed
======
Signals that the output of this task contains signed artifacts.

View File

@@ -49,16 +49,6 @@ def validate(config, jobs):
"In balrog ({!r} kind) task for {!r}:".format(config.kind, label))
@transforms.add
def skip_unsigned_beets(config, jobs):
for job in jobs:
if ('signing' not in job['dependent-task'].label and
'beetmover-repackage' not in job['dependent-task'].label):
# Skip making a balrog task for this
continue
yield job
@transforms.add
def make_task_description(config, jobs):
for job in jobs:

View File

@@ -222,6 +222,7 @@ def make_task_description(config, jobs):
attributes = {
'nightly': dep_job.attributes.get('nightly', False),
'signed': dep_job.attributes.get('signed', False),
'build_platform': dep_job.attributes.get('build_platform'),
'build_type': dep_job.attributes.get('build_type'),
}

View File

@@ -65,6 +65,7 @@ def make_beetmover_checksums_description(config, jobs):
attributes = {
'nightly': dep_job.attributes.get('nightly', False),
'signed': dep_job.attributes.get('signed', False),
'build_platform': dep_job.attributes.get('build_platform'),
'build_type': dep_job.attributes.get('build_type'),
}

View File

@@ -147,6 +147,7 @@ def make_task_description(config, jobs):
attributes = {
'nightly': dep_job.attributes.get('nightly', False),
'signed': dep_job.attributes.get('signed', False),
'build_platform': dep_job.attributes.get('build_platform'),
'build_type': dep_job.attributes.get('build_type'),
}

View File

@@ -101,6 +101,7 @@ def make_task_description(config, jobs):
'nightly': dep_job.attributes.get('nightly', False),
'build_platform': dep_job.attributes.get('build_platform'),
'build_type': dep_job.attributes.get('build_type'),
'signed': True,
}
if dep_job.attributes.get('chunk_locales'):
# Used for l10n attribute passthrough