Commit c284b0e2 authored by Mitchell Hentges's avatar Mitchell Hentges Committed by Colin Lee
Browse files

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

parent 471b08d9
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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
+5 −16
Original line number Diff line number Diff line
@@ -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))

+7 −6
Original line number Diff line number Diff line
@@ -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": [
                {