forked from mirrors/gecko-dev
In bug 749312, we were given permission to create a source readme instead of a source tarball. This will save us cycles, disk, and human configuration time. We still need to address the missing balrog_props.json for beetmover-source for that task to turn green. MozReview-Commit-ID: wnyPoNXCsH --HG-- extra : rebase_source : 843751523e1fce5743849f43796788dbba5115d3 extra : histedit_source : 2993eb186dc7bd71ad35af48d4393803b0b147dc
48 lines
2.1 KiB
Python
48 lines
2.1 KiB
Python
# 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/.
|
|
"""
|
|
Transform the beetmover-source task to also append `build` as dependency
|
|
"""
|
|
from __future__ import absolute_import
|
|
|
|
from taskgraph.transforms.base import TransformSequence
|
|
|
|
transforms = TransformSequence()
|
|
|
|
|
|
@transforms.add
|
|
def tweak_beetmover_source_dependencies_and_upstream_artifacts(config, jobs):
|
|
for job in jobs:
|
|
# HACK1: instead of grabbing SOURCE file from `release-source` task, we
|
|
# instead take it along with SOURCE.asc directly from the
|
|
# `release-source-signing`.
|
|
#
|
|
# HACK2: This way, we can just overwrite the `build`
|
|
# dependency, which at this point still is `release-source` task, with
|
|
# the actual Nightly en-US linux64 build which contains the
|
|
# `balrog_props` file we're interested in.
|
|
#
|
|
# XXX: this hack should go away by either:
|
|
# * rewriting beetmover transforms to allow more flexibility in deps
|
|
# * ditch balrog_props in beetmover and rely on in-tree task payload
|
|
|
|
if job['attributes']['shipping_product'] == 'firefox':
|
|
job['dependencies']['build'] = u'build-linux64-nightly/opt'
|
|
elif job['attributes']['shipping_product'] == 'fennec':
|
|
job['dependencies']['build'] = u'build-android-api-16-nightly/opt'
|
|
elif job['attributes']['shipping_product'] == 'devedition':
|
|
job['dependencies']['build'] = u'build-linux64-devedition-nightly/opt'
|
|
else:
|
|
raise NotImplemented(
|
|
"Unknown shipping_product {} for beetmover_source!".format(
|
|
job['attributes']['shipping_product']
|
|
)
|
|
)
|
|
upstream_artifacts = job['worker']['upstream-artifacts']
|
|
for artifact in upstream_artifacts:
|
|
if artifact['taskType'] == 'build':
|
|
artifact['paths'].append(u'public/build/balrog_props.json')
|
|
break
|
|
|
|
yield job
|