Loading .taskcluster.yml +1 −6 Original line number Diff line number Diff line Loading @@ -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 Loading automation/taskcluster/decision_task.py +5 −16 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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 ) Loading @@ -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() Loading @@ -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)) Loading automation/taskcluster/lib/tasks.py +7 −6 Original line number Diff line number Diff line Loading @@ -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( Loading Loading @@ -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": [ { Loading Loading
.taskcluster.yml +1 −6 Original line number Diff line number Diff line Loading @@ -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 Loading
automation/taskcluster/decision_task.py +5 −16 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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 ) Loading @@ -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() Loading @@ -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)) Loading
automation/taskcluster/lib/tasks.py +7 −6 Original line number Diff line number Diff line Loading @@ -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( Loading Loading @@ -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": [ { Loading