Fixes #1294: Renames nightly apks to follow the form "target.$arch.apk"
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…
Reference in New Issue