Fixes #1294: Renames nightly apks to follow the form "target.$arch.apk"

nightly-build-test
Mitchell Hentges 5 years ago committed by Colin Lee
parent 471b08d97a
commit c284b0e22e

@ -183,12 +183,7 @@ tasks:
&& python automation/taskcluster/decision_task.py \ && python automation/taskcluster/decision_task.py \
release \ release \
--nightly \ --nightly \
--track ${track} \ --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
artifacts: artifacts:
public/task-graph.json: public/task-graph.json:
type: file type: file

@ -74,17 +74,18 @@ def pr_or_push():
return (build_tasks, other_tasks) return (build_tasks, other_tasks)
def nightly(apks, track, commit): def nightly(track):
is_staging = track == 'staging-nightly' is_staging = track == 'staging-nightly'
architectures = ['x86', 'arm', 'aarch64']
build_tasks = {} build_tasks = {}
signing_tasks = {} signing_tasks = {}
push_tasks = {} push_tasks = {}
artifacts = ["public/{}".format(os.path.basename(apk)) for apk in apks]
build_task_id = taskcluster.slugId() 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_task_id = taskcluster.slugId()
signing_tasks[signing_task_id] = BUILDER.craft_signing_task( signing_tasks[signing_task_id] = BUILDER.craft_signing_task(
build_task_id, build_task_id,
@ -96,7 +97,6 @@ def nightly(apks, track, commit):
push_tasks[push_task_id] = BUILDER.craft_push_task( push_tasks[push_task_id] = BUILDER.craft_push_task(
signing_task_id, signing_task_id,
apks=artifacts, apks=artifacts,
commit=commit,
is_staging=is_staging is_staging=is_staging
) )
@ -117,16 +117,6 @@ if __name__ == "__main__":
release_parser.add_argument( release_parser.add_argument(
'--track', action="store", choices=['nightly', 'staging-nightly'], required=True '--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() result = parser.parse_args()
@ -135,8 +125,7 @@ if __name__ == "__main__":
if command == 'pr-or-push': if command == 'pr-or-push':
ordered_groups_of_tasks = pr_or_push() ordered_groups_of_tasks = pr_or_push()
elif command == 'release': elif command == 'release':
apks = ["{}/{}".format(result.output, apk) for apk in result.apks] ordered_groups_of_tasks = nightly(result.track)
ordered_groups_of_tasks = nightly(apks, result.track, result.commit)
else: else:
raise Exception('Unsupported command "{}"'.format(command)) raise Exception('Unsupported command "{}"'.format(command))

@ -43,14 +43,15 @@ class TaskBuilder(object):
self.date = arrow.get(date_string) self.date = arrow.get(date_string)
self.trust_level = trust_level 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 = { artifacts = {
'public/{}'.format(os.path.basename(apk)): { 'public/target.{}.apk'.format(arch): {
"type": 'file', "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)), "expires": taskcluster.stringDate(taskcluster.fromNow(DEFAULT_EXPIRES_IN)),
} }
for apk in apks for arch in architectures
} }
sentry_secret = '{}project/mobile/fenix/sentry'.format( sentry_secret = '{}project/mobile/fenix/sentry'.format(
@ -380,10 +381,10 @@ class TaskBuilder(object):
) )
def craft_push_task( def craft_push_task(
self, signing_task_id, apks, is_staging=True, commit=False self, signing_task_id, apks, is_staging=True
): ):
payload = { payload = {
"commit": commit, "commit": True,
"google_play_track": 'nightly', "google_play_track": 'nightly',
"upstreamArtifacts": [ "upstreamArtifacts": [
{ {

Loading…
Cancel
Save