Bug 1469436 - Make repackage-signing distinct from its l10n, so we can depend on it in l10n for windows. r=tomprince
authorJustin Wood <Callek@gmail.com>
Mon, 18 Jun 2018 10:49:41 -0400
changeset 484185 2477607822a3c5f7ce1f76220910ccbed4516fb1
parent 484184 452da58e5a47a0022b76cbf1388d08c6a331cabb
child 484186 33f3e7a6ca7a5e1c7d0a9fc0aaeb3bde5493facd
push id1815
push userffxbld-merge
push dateMon, 15 Oct 2018 10:40:45 +0000
treeherdermozilla-release@18d4c09e9378 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstomprince
bugs1469436
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1469436 - Make repackage-signing distinct from its l10n, so we can depend on it in l10n for windows. r=tomprince This is needed to not have a circular kind dependency when we actually spell out all dependencies (in a following patch) Differential Revision: https://phabricator.services.mozilla.com/D1695
taskcluster/ci/beetmover-repackage/kind.yml
taskcluster/ci/partials/kind.yml
taskcluster/ci/repackage-signing-l10n/kind.yml
taskcluster/ci/repackage-signing/kind.yml
taskcluster/docs/kinds.rst
taskcluster/taskgraph/transforms/beetmover_repackage.py
taskcluster/taskgraph/transforms/beetmover_repackage_partner.py
taskcluster/taskgraph/transforms/partials.py
--- a/taskcluster/ci/beetmover-repackage/kind.yml
+++ b/taskcluster/ci/beetmover-repackage/kind.yml
@@ -7,16 +7,17 @@ loader: taskgraph.loader.single_dep:load
 transforms:
    - taskgraph.transforms.name_sanity:transforms
    - taskgraph.transforms.beetmover_repackage_l10n:transforms
    - taskgraph.transforms.beetmover_repackage:transforms
    - taskgraph.transforms.task:transforms
 
 kind-dependencies:
    - repackage-signing
+   - repackage-signing-l10n
    - partials-signing
 
 only-for-build-platforms:
    - linux-nightly/opt
    - linux64-nightly/opt
    - macosx64-nightly/opt
    - win32-nightly/opt
    - win64-nightly/opt
--- a/taskcluster/ci/partials/kind.yml
+++ b/taskcluster/ci/partials/kind.yml
@@ -6,16 +6,17 @@ loader: taskgraph.loader.single_dep:load
 
 transforms:
    - taskgraph.transforms.name_sanity:transforms
    - taskgraph.transforms.partials:transforms
    - taskgraph.transforms.task:transforms
 
 kind-dependencies:
    - repackage-signing
+   - repackage-signing-l10n
 
 only-for-attributes:
    - nightly
 
 only-for-build-platforms:
    - macosx64-nightly/opt
    - macosx64-devedition-nightly/opt
    - win32-nightly/opt
copy from taskcluster/ci/repackage-signing/kind.yml
copy to taskcluster/ci/repackage-signing-l10n/kind.yml
--- a/taskcluster/ci/repackage-signing/kind.yml
+++ b/taskcluster/ci/repackage-signing-l10n/kind.yml
@@ -6,17 +6,16 @@ loader: taskgraph.loader.single_dep:load
 
 transforms:
    - taskgraph.transforms.name_sanity:transforms
    - taskgraph.transforms.repackage_signing:transforms
    - taskgraph.transforms.repackage_routes:transforms
    - taskgraph.transforms.task:transforms
 
 kind-dependencies:
-   - repackage
    - repackage-l10n
 
 only-for-build-platforms:
    - linux-nightly/opt
    - linux-devedition-nightly/opt
    - linux64-nightly/opt
    - linux64-devedition-nightly/opt
    - linux64-asan-reporter-nightly/opt
--- a/taskcluster/ci/repackage-signing/kind.yml
+++ b/taskcluster/ci/repackage-signing/kind.yml
@@ -7,17 +7,16 @@ loader: taskgraph.loader.single_dep:load
 transforms:
    - taskgraph.transforms.name_sanity:transforms
    - taskgraph.transforms.repackage_signing:transforms
    - taskgraph.transforms.repackage_routes:transforms
    - taskgraph.transforms.task:transforms
 
 kind-dependencies:
    - repackage
-   - repackage-l10n
 
 only-for-build-platforms:
    - linux-nightly/opt
    - linux-devedition-nightly/opt
    - linux64-nightly/opt
    - linux64-devedition-nightly/opt
    - linux64-asan-reporter-nightly/opt
    - macosx64-nightly/opt
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -433,16 +433,21 @@ repackage-l10n
 Repackage-L10n is a ```Repackage``` task split up to be suitable for use after l10n repacks.
 
 
 repackage-signing
 -----------------
 Repackage-signing take the repackaged installers (windows) and update packaging (with
 the signed internal bits) and signs them.
 
+repackage-signing-l10n
+----------------------
+Repackage-signing take the repackaged installers (windows) and update packaging (with
+the signed internal bits) and signs them for localized versions.
+
 repo-update
 -----------
 Repo-Update tasks are tasks that perform some action on the project repo itself,
 in order to update its state in some way.
 
 partials
 --------
 Partials takes the complete.mar files produced in previous tasks and generates partial
--- a/taskcluster/taskgraph/transforms/beetmover_repackage.py
+++ b/taskcluster/taskgraph/transforms/beetmover_repackage.py
@@ -214,18 +214,21 @@ def make_task_description(config, jobs):
         repackage_name = "repackage"
         # repackage-l10n actually uses the repackage depname here
         repackage_dependencies = {"repackage":
                                   dep_job.dependencies[repackage_name]
                                   }
         dependencies.update(repackage_dependencies)
 
         # If this isn't a direct dependency, it won't be in there.
-        if 'repackage-signing' not in dependencies:
+        if 'repackage-signing' not in dependencies and \
+                'repackage-signing-l10n' not in dependencies:
             repackage_signing_name = "repackage-signing"
+            if job.get('locale'):
+                repackage_signing_name = "repackage-signing-l10n"
             repackage_signing_deps = {"repackage-signing":
                                       dep_job.dependencies[repackage_signing_name]
                                       }
             dependencies.update(repackage_signing_deps)
 
         attributes = copy_attributes_from_dependent_job(dep_job)
         if job.get('locale'):
             attributes['locale'] = job['locale']
--- a/taskcluster/taskgraph/transforms/beetmover_repackage_partner.py
+++ b/taskcluster/taskgraph/transforms/beetmover_repackage_partner.py
@@ -96,16 +96,17 @@ def make_task_description(config, jobs):
         if not repack_id:
             raise Exception("Cannot find repack id!")
 
         attributes = dep_job.attributes
         build_platform = attributes.get("build_platform")
         if not build_platform:
             raise Exception("Cannot find build platform!")
 
+        label = dep_job.label.replace("repackage-signing-l10n", "beetmover-")
         label = dep_job.label.replace("repackage-signing-", "beetmover-")
         label = label.replace("repackage-", "beetmover-")
         label = label.replace("chunking-dummy-", "beetmover-")
         description = (
             "Beetmover submission for repack_id '{repack_id}' for build '"
             "{build_platform}/{build_type}'".format(
                 repack_id=repack_id,
                 build_platform=build_platform,
--- a/taskcluster/taskgraph/transforms/partials.py
+++ b/taskcluster/taskgraph/transforms/partials.py
@@ -76,16 +76,19 @@ def make_task_description(config, jobs):
 
         # If the list is empty there's no available history for this platform
         # and locale combination, so we can't build any partials.
         if not builds:
             continue
 
         signing_task = None
         for dependency in sorted(dependencies.keys()):
+            if 'repackage-signing-l10n' in dependency:
+                signing_task = dependency
+                break
             if 'repackage-signing' in dependency:
                 signing_task = dependency
                 break
         signing_task_ref = '<{}>'.format(signing_task)
 
         extra = {'funsize': {'partials': list()}}
         update_number = 1
         artifact_path = "{}{}".format(