From c284b0e22ee3b375ad25fc0531b87073c4a71b42 Mon Sep 17 00:00:00 2001 From: Mitchell Hentges Date: Mon, 1 Apr 2019 10:56:12 +0200 Subject: [PATCH] Fixes #1294: Renames nightly apks to follow the form "target.$arch.apk" --- .taskcluster.yml | 7 +------ automation/taskcluster/decision_task.py | 21 +++++---------------- automation/taskcluster/lib/tasks.py | 13 +++++++------ 3 files changed, 13 insertions(+), 28 deletions(-) diff --git a/.taskcluster.yml b/.taskcluster.yml index b3734e417..3e53b491c 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -183,12 +183,7 @@ tasks: && python automation/taskcluster/decision_task.py \ release \ --nightly \ - --track ${track} \ - --commit \ - --output /opt/fenix/app/build/outputs/apk \ - --apk armGreenfield/release/app-arm-greenfield-release-unsigned.apk \ - --apk x86Greenfield/release/app-x86-greenfield-release-unsigned.apk \ - --apk aarch64Greenfield/release/app-aarch64-greenfield-release-unsigned.apk + --track ${track} artifacts: public/task-graph.json: type: file diff --git a/automation/taskcluster/decision_task.py b/automation/taskcluster/decision_task.py index 70b98443d..798471c6f 100644 --- a/automation/taskcluster/decision_task.py +++ b/automation/taskcluster/decision_task.py @@ -74,17 +74,18 @@ def pr_or_push(): return (build_tasks, other_tasks) -def nightly(apks, track, commit): +def nightly(track): is_staging = track == 'staging-nightly' + architectures = ['x86', 'arm', 'aarch64'] build_tasks = {} signing_tasks = {} push_tasks = {} - artifacts = ["public/{}".format(os.path.basename(apk)) for apk in apks] build_task_id = taskcluster.slugId() - build_tasks[build_task_id] = BUILDER.craft_assemble_release_task(apks, is_staging) + build_tasks[build_task_id] = BUILDER.craft_assemble_release_task(architectures, is_staging) + artifacts = ["public/target.{}.apk".format(arch) for arch in architectures] signing_task_id = taskcluster.slugId() signing_tasks[signing_task_id] = BUILDER.craft_signing_task( build_task_id, @@ -96,7 +97,6 @@ def nightly(apks, track, commit): push_tasks[push_task_id] = BUILDER.craft_push_task( signing_task_id, apks=artifacts, - commit=commit, is_staging=is_staging ) @@ -117,16 +117,6 @@ if __name__ == "__main__": release_parser.add_argument( '--track', action="store", choices=['nightly', 'staging-nightly'], required=True ) - release_parser.add_argument( - '--commit', action="store_true", help="commit the google play transaction" - ) - release_parser.add_argument( - '--apk', dest="apks", metavar="path", action="append", - help="Path to APKs to sign and upload", required=True - ) - release_parser.add_argument( - '--output', metavar="path", action="store", help="Path to the build output", required=True - ) result = parser.parse_args() @@ -135,8 +125,7 @@ if __name__ == "__main__": if command == 'pr-or-push': ordered_groups_of_tasks = pr_or_push() elif command == 'release': - apks = ["{}/{}".format(result.output, apk) for apk in result.apks] - ordered_groups_of_tasks = nightly(apks, result.track, result.commit) + ordered_groups_of_tasks = nightly(result.track) else: raise Exception('Unsupported command "{}"'.format(command)) diff --git a/automation/taskcluster/lib/tasks.py b/automation/taskcluster/lib/tasks.py index 16caf8b02..1f40776f8 100644 --- a/automation/taskcluster/lib/tasks.py +++ b/automation/taskcluster/lib/tasks.py @@ -43,14 +43,15 @@ class TaskBuilder(object): self.date = arrow.get(date_string) self.trust_level = trust_level - def craft_assemble_release_task(self, apks, is_staging=False): + def craft_assemble_release_task(self, architectures, is_staging=False): artifacts = { - 'public/{}'.format(os.path.basename(apk)): { + 'public/target.{}.apk'.format(arch): { "type": 'file', - "path": apk, + "path": '/opt/fenix/app/build/outputs/apk/' + '{}Greenfield/release/app-{}-greenfield-release-unsigned.apk'.format(arch, arch), "expires": taskcluster.stringDate(taskcluster.fromNow(DEFAULT_EXPIRES_IN)), } - for apk in apks + for arch in architectures } sentry_secret = '{}project/mobile/fenix/sentry'.format( @@ -380,10 +381,10 @@ class TaskBuilder(object): ) def craft_push_task( - self, signing_task_id, apks, is_staging=True, commit=False + self, signing_task_id, apks, is_staging=True ): payload = { - "commit": commit, + "commit": True, "google_play_track": 'nightly', "upstreamArtifacts": [ {