Backed out 5 changesets (bug 1373326) for breaking the decision task a=backout

Backed out changeset 7f0177a71077 (bug 1373326)
Backed out changeset a678d4b0ee78 (bug 1373326)
Backed out changeset 2fdc6c2ad384 (bug 1373326)
Backed out changeset 97b785a31a3c (bug 1373326)
Backed out changeset a5fcfe57e6d4 (bug 1373326)

MozReview-Commit-ID: 9kcJzI1hFja
This commit is contained in:
Wes Kocher
2017-06-20 17:43:37 -07:00
parent 7e3f16609d
commit 882dffad8c
19 changed files with 140 additions and 245 deletions

View File

@@ -67,18 +67,16 @@ def make_repackage_description(config, jobs):
label = job.get('label',
dep_job.label.replace("signing-", "repackage-"))
job['label'] = label
cot = job.setdefault('extra', {}).setdefault('chainOfTrust', {})
cot.setdefault('inputs', {})['docker-image'] = {"task-reference": "<docker-image>"}
yield job
@transforms.add
def make_job_description(config, jobs):
def make_task_description(config, jobs):
for job in jobs:
dep_job = job['dependent-task']
dependencies = {dep_job.attributes.get('kind'): dep_job.label}
if len(dep_job.dependencies) > 1:
raise NotImplementedError(
"Can't repackage a signing task with multiple dependencies")
treeherder = job.get('treeherder', {})
treeherder.setdefault('symbol', 'tc(Nr)')
@@ -87,79 +85,88 @@ def make_job_description(config, jobs):
treeherder.setdefault('platform', "{}/opt".format(dep_th_platform))
treeherder.setdefault('tier', 1)
treeherder.setdefault('kind', 'build')
signing_task = None
for dependency in dependencies.keys():
if 'signing' in dependency:
signing_task = dependency
signing_task_ref = "<{}>".format(signing_task)
attributes = {
'nightly': dep_job.attributes.get('nightly', False),
'build_platform': dep_job.attributes.get('build_platform'),
'build_type': dep_job.attributes.get('build_type'),
}
command = ['/home/worker/bin/run-task',
# Various caches/volumes are default owned by root:root.
'--chown-recursive', '/home/worker/workspace',
'--chown-recursive', '/home/worker/tooltool-cache',
'--vcs-checkout', '/home/worker/workspace/build/src',
'--tools-checkout', '/home/worker/workspace/build/tools',
'--',
'/home/worker/workspace/build/src/taskcluster/scripts/builder/repackage.sh'
]
dependencies = {dep_job.attributes.get('kind'): dep_job.label}
if job.get('locale'):
attributes['locale'] = job['locale']
level = config.params['level']
task_env = {}
locale_output_path = ""
if attributes['build_platform'].startswith('macosx'):
if job.get('locale'):
input_string = 'https://queue.taskcluster.net/v1/task/' + \
'{}/artifacts/public/build/{}/target.tar.gz'
input_string = input_string.format(signing_task_ref, job['locale'])
locale_output_path = "{}/".format(job['locale'])
else:
input_string = 'https://queue.taskcluster.net/v1/task/' + \
'{}/artifacts/public/build/target.tar.gz'.format(signing_task_ref)
task_env.update(
SIGNED_INPUT={'task-reference': input_string},
)
mozharness_config = ['repackage/osx_signed.py']
output_files = [{
'type': 'file',
'path': '/home/worker/workspace/build/artifacts/target.dmg',
'name': 'public/build/{}target.dmg'.format(locale_output_path),
}]
input_string = 'https://queue.taskcluster.net/v1/task/<nightly-l10n-signing>/' + \
'artifacts/public/build/{}/target.tar.gz'
input_string = input_string.format(job['locale'])
else:
raise Exception("Unexpected build platform for repackage")
run = {
'using': 'mozharness',
'script': 'mozharness/scripts/repackage.py',
'config': mozharness_config,
'job-script': 'taskcluster/scripts/builder/repackage.sh',
'actions': ['download_input', 'setup', 'repackage'],
'extra-workspace-cache-key': 'repackage',
}
if attributes["build_platform"].startswith('macosx'):
worker = {
'docker-image': {"in-tree": "desktop-build"},
'artifacts': output_files,
'env': task_env,
'chain-of-trust': True,
'max-run-time': 3600
}
run["tooltool-downloads"] = 'internal'
worker_type = 'aws-provisioner-v1/gecko-%s-b-macosx64' % level
cot = job.setdefault('extra', {}).setdefault('chainOfTrust', {})
cot.setdefault('inputs', {})['docker-image'] = {"task-reference": "<docker-image>"}
input_string = 'https://queue.taskcluster.net/v1/task/<build-signing>/artifacts/' + \
'public/build/target.tar.gz'
signed_input = {'task-reference': input_string}
level = config.params['level']
task = {
'label': job['label'],
'description': "{} Repackage".format(
dep_job.task["metadata"]["description"]),
'worker-type': worker_type,
'worker-type': 'aws-provisioner-v1/gecko-%s-b-macosx64' % level,
'dependencies': dependencies,
'attributes': attributes,
'run-on-projects': dep_job.attributes.get('run_on_projects'),
'treeherder': treeherder,
'routes': job.get('routes', []),
'extra': job.get('extra', {}),
'worker': worker,
'run': run,
'scopes':
['docker-worker:relengapi-proxy:tooltool.download.internal',
'secrets:get:project/taskcluster/gecko/hgfingerprint',
'docker-worker:relengapi-proxy:tooltool.download.public',
'project:releng:signing:format:dmg'],
'worker': {'implementation': 'docker-worker',
'os': 'linux',
'docker-image': {"in-tree": "desktop-build"},
'caches': [{
'type': 'persistent',
'name': 'tooltool-cache',
'mount-point': '/home/worker/tooltool-cache',
}, {
'type': 'persistent',
'name': 'level-%s-checkouts-v1' % level,
'mount-point': '/home/worker/checkouts',
}],
'artifacts': [{
'type': 'file',
'path': '/home/worker/workspace/build/upload/target.dmg',
'name': 'public/build/target.dmg',
}],
'env': {
'SIGNED_INPUT': signed_input,
'MOZ_BUILD_DATE': config.params['moz_build_date'],
'MH_BUILD_POOL': 'taskcluster',
'HG_STORE_PATH': '/home/worker/checkouts/hg-store',
'GECKO_HEAD_REV': config.params['head_rev'],
'MH_BRANCH': config.params['project'],
'MOZ_SCM_LEVEL': level,
'MOZHARNESS_ACTIONS': 'download_input setup repackage',
'NEED_XVFB': 'true',
'GECKO_BASE_REPOSITORY': config.params['base_repository'],
'TOOLTOOL_CACHE': '/home/worker/tooltool-cache',
'GECKO_HEAD_REPOSITORY': config.params['head_repository'],
'MOZHARNESS_CONFIG': 'repackage/osx_signed.py',
'USE_SCCACHE': '1',
'MOZHARNESS_SCRIPT': 'mozharness/scripts/repackage.py'
},
'command': command,
'chain-of-trust': True,
'relengapi-proxy': True,
'max-run-time': 3600
}
}
yield task