diff --git a/.taskcluster.yml b/.taskcluster.yml index e516f30ce..ffec7b69f 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -8,7 +8,7 @@ tasks: - $let: taskgraph: branch: taskgraph - revision: a8366f88fc8b35b284ad550358c89ec10133fb42 + revision: 760d9fb4d3dd59e7cbb2fb224cdbe983d0e5a525 trustDomain: mobile in: $let: @@ -168,11 +168,18 @@ tasks: # staging release promotion on forks. - $if: 'tasks_for == "github-push"' then: + - index.mobile.v2.${project}.branch.${short_head_branch}.latest.taskgraph.decision + - index.mobile.v2.${project}.branch.${short_head_branch}.revision.${head_sha}.taskgraph.decision + # TODO Bug 1631839: Remove the following routes once all consumers have migrated - index.project.mobile.${project}.v2.branch.${short_head_branch}.latest.taskgraph.decision - index.project.mobile.${project}.v2.branch.${short_head_branch}.revision.${head_sha}.taskgraph.decision - $if: 'tasks_for == "cron"' then: # cron context provides ${head_branch} as a short one + - index.mobile.v2.${project}.branch.${head_branch}.latest.taskgraph.decision-${cron.job_name} + - index.mobile.v2.${project}.branch.${head_branch}.revision.${head_sha}.taskgraph.decision-${cron.job_name} + - index.mobile.v2.${project}.branch.${head_branch}.revision.${head_sha}.taskgraph.cron.${ownTaskId} + # TODO Bug 1631839: Remove the following routes once all consumers have migrated - index.project.mobile.${project}.v2.branch.${head_branch}.latest.taskgraph.decision-${cron.job_name} - index.project.mobile.${project}.v2.branch.${head_branch}.revision.${head_sha}.taskgraph.decision-${cron.job_name} - index.project.mobile.${project}.v2.branch.${head_branch}.revision.${head_sha}.taskgraph.cron.${ownTaskId} diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 8d68d9331..77bcd90d2 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -25,7 +25,7 @@ taskgraph: repositories: mobile: name: "Fenix" - cached-task-prefix: project.mobile.fenix + cached-task-prefix: mobile.v2.fenix decision-parameters: 'fenix_taskgraph.parameters:get_decision_parameters' workers: @@ -35,24 +35,22 @@ workers: implementation: docker-worker os: linux worker-type: 'b-linux' - images: - provisioner: 'mobile-{level}' - implementation: docker-worker - os: linux - worker-type: 'images' dep-signing: provisioner: scriptworker-k8s implementation: scriptworker-signing os: scriptworker worker-type: mobile-t-signing - signing: - provisioner: scriptworker-k8s - implementation: scriptworker-signing - os: scriptworker - worker-type: - by-level: - "3": mobile-3-signing - default: mobile-t-signing + images: + provisioner: 'mobile-{level}' + implementation: docker-worker + os: linux + worker-type: 'images' + # misc is used by taskgraph to generate tasks with more than 10 routes + misc: + provisioner: 'mobile-{level}' + implementation: docker-worker + os: linux + worker-type: 'b-linux' push-apk: provisioner: scriptworker-k8s implementation: scriptworker-pushapk @@ -63,6 +61,14 @@ workers: implementation: scriptworker-shipit os: scriptworker worker-type: 'mobile-{level}-shipit' + signing: + provisioner: scriptworker-k8s + implementation: scriptworker-signing + os: scriptworker + worker-type: + by-level: + "3": mobile-3-signing + default: mobile-t-signing t-bitbar.*: provisioner: proj-autophone implementation: generic-worker diff --git a/taskcluster/fenix_taskgraph/routes.py b/taskcluster/fenix_taskgraph/routes.py index a1771cd59..6f7d03beb 100644 --- a/taskcluster/fenix_taskgraph/routes.py +++ b/taskcluster/fenix_taskgraph/routes.py @@ -12,6 +12,12 @@ from taskgraph.transforms.task import index_builder # In the future, notifying consumers may be easier (https://bugzilla.mozilla.org/show_bug.cgi?id=1548810), but # we need to remember to tell users for the time being SIGNING_ROUTE_TEMPLATES = [ + "index.{trust-domain}.v2.{project}.{variant}.latest.{abi}", + "index.{trust-domain}.v2.{project}.{variant}.{build_date}.revision.{head_rev}.{abi}", + "index.{trust-domain}.v2.{project}.{variant}.{build_date}.latest.{abi}", + "index.{trust-domain}.v2.{project}.{variant}.revision.{head_rev}.{abi}", + + # TODO Bug 1631839: Remove the following scopes once all consumers have migrated "index.project.{trust-domain}.{project}.v2.{variant}.{build_date}.revision.{head_rev}", "index.project.{trust-domain}.{project}.v2.{variant}.{build_date}.latest", "index.project.{trust-domain}.{project}.v2.{variant}.latest", @@ -20,8 +26,6 @@ SIGNING_ROUTE_TEMPLATES = [ @index_builder("signing") def add_signing_indexes(config, task): - routes = task.setdefault("routes", []) - if config.params["level"] != "3": return task @@ -32,6 +36,11 @@ def add_signing_indexes(config, task): subs["trust-domain"] = config.graph_config["trust-domain"] subs["variant"] = task["attributes"]["build-type"] + unique_routes = set() for tpl in SIGNING_ROUTE_TEMPLATES: - routes.append(tpl.format(**subs)) + for abi in task["attributes"]["apks"].keys(): + subs["abi"] = abi + unique_routes.add(tpl.format(**subs)) + + task.setdefault("routes", sorted(list(unique_routes))) return task