Bug 1453033 - Define taskgraph logic for signing and shipping devedition language packs as well. r=aki

This merely extends the logic involved in shipping language packs to AMO. All devedition language packs will be shipped as 'unlisted' for now, meaning that there is no extra AMO work involved. The extension ID is taken from the langpack itself.

Differential Revision: https://phabricator.services.mozilla.com/D1104

--HG--
extra : rebase_source : a6fcc953c79531377540216343e9d0037a2879d6
This commit is contained in:
Justin Wood 2018-05-02 14:20:32 -04:00
parent 90990671f8
commit 36648e7085
4 changed files with 19 additions and 30 deletions

View File

@ -16,8 +16,9 @@ kind-dependencies:
only-for-build-platforms:
- linux64-nightly/opt # addons.mozilla.org only support 1 platform per locale. That's why we use linux64
- linux64-devedition-nightly/opt
- macosx64-nightly/opt # Although, we need the special locale "ja-JP-Mac" from this platform
# TODO Activate devedition
- macosx64-devedition-nightly/opt
job-template:

View File

@ -63,42 +63,23 @@ _DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US = [
# with a beetmover patch in https://github.com/mozilla-releng/beetmoverscript/.
# See example in bug 1348286
UPSTREAM_ARTIFACT_UNSIGNED_PATHS = {
r'^(linux(|64)|macosx64)-nightly$':
r'^(linux(|64)|macosx64)(|-devedition)-nightly$':
_DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
'host/bin/mar',
'host/bin/mbsdiff',
],
r'^(linux(|64)|macosx64)-devedition-nightly$':
_DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
'host/bin/mar',
'host/bin/mbsdiff',
# TODO Bug 1453033: Sign devedition langpacks
'target.langpack.xpi',
],
r'^linux64-asan-reporter-nightly$':
filter(lambda a: a not in ('target.crashreporter-symbols.zip', 'target.jsshell.zip'),
_DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
"host/bin/mar",
"host/bin/mbsdiff",
]),
r'^win(32|64)-nightly$':
r'^win(32|64)(|-devedition)-nightly$':
_DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
'host/bin/mar.exe',
'host/bin/mbsdiff.exe',
],
r'^win(32|64)-devedition-nightly$':
_DESKTOP_UPSTREAM_ARTIFACTS_UNSIGNED_EN_US + [
'host/bin/mar.exe',
'host/bin/mbsdiff.exe',
# TODO Bug 1453033: Sign devedition langpacks
'target.langpack.xpi',
],
r'^(linux(|64)|macosx64|win(32|64))-nightly-l10n$': [],
r'^(linux(|64)|macosx64|win(32|64))-devedition-nightly-l10n$':
[
# TODO Bug 1453033: Sign devedition langpacks
'target.langpack.xpi',
],
r'^(linux(|64)|macosx64|win(32|64))(|-devedition)-nightly-l10n$': [],
}
# Until bug 1331141 is fixed, if you are adding any new artifacts here that

View File

@ -171,9 +171,13 @@ def yield_all_platform_jobs(config, jobs):
# This locale must not be copied on any other platform than macos
yield job
else:
for platform in ('linux', 'linux64', 'macosx64', 'win32', 'win64'):
platforms = ('linux', 'linux64', 'macosx64', 'win32', 'win64')
if 'devedition' in job['attributes']['build_platform']:
platforms = ('{}-devedition'.format(plat) for plat in platforms)
for platform in platforms:
platform_job = copy.deepcopy(job)
if 'ja' in platform_job['attributes']['chunk_locales'] and platform == 'macosx64':
if 'ja' in platform_job['attributes']['chunk_locales'] and \
platform in ('macosx64', 'macosx64-devedition'):
platform_job = _strip_ja_data_from_linux_job(platform_job)
platform_job = _change_platform_data(platform_job, platform)
@ -197,11 +201,14 @@ def _strip_ja_data_from_linux_job(platform_job):
def _change_platform_data(platform_job, platform):
orig_platform = 'linux64'
if 'devedition' in platform:
orig_platform = 'linux64-devedition'
platform_job['attributes']['build_platform'] = platform
platform_job['label'] = platform_job['label'].replace('linux64', platform)
platform_job['description'] = platform_job['description'].replace('linux64', platform)
platform_job['label'] = platform_job['label'].replace(orig_platform, platform)
platform_job['description'] = platform_job['description'].replace(orig_platform, platform)
platform_job['treeherder']['platform'] = platform_job['treeherder']['platform'].replace(
'linux64', platform
orig_platform, platform
)
platform_job['worker']['release-properties']['platform'] = platform

View File

@ -90,9 +90,9 @@ def filter_out_macos_jobs_but_mac_only_locales(config, jobs):
for job in jobs:
build_platform = job['dependent-task'].attributes.get('build_platform')
if build_platform == 'linux64-nightly':
if build_platform in ('linux64-nightly', 'linux64-devedition-nightly'):
yield job
elif build_platform == 'macosx64-nightly' and \
elif build_platform in ('macosx64-nightly', 'macosx64-devedition-nightly') and \
'ja-JP-mac' in job['attributes']['chunk_locales']:
# Other locales of the same job shouldn't be processed
job['attributes']['chunk_locales'] = ['ja-JP-mac']