Bug 1559115 - Build and ship Fennec Release off mozilla-esr68 r=tomprince a=release
authorJohan Lorenzo <jlorenzo@mozilla.com>
Wed, 12 Jun 2019 18:57:56 +0200
changeset 537127 e431eeae9e89b8878809a80781924faa0a6c367d
parent 537126 fea0dd6ad4d7fb532815726926d491aee232b377
child 537128 4b9de3274d7be77ec0e7d46f18181648a95459b1
push id2082
push userffxbld-merge
push dateMon, 01 Jul 2019 08:34:18 +0000
treeherdermozilla-release@2fb19d0466d2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstomprince, release
bugs1559115
milestone68.0
Bug 1559115 - Build and ship Fennec Release off mozilla-esr68 r=tomprince a=release Differential Revision: https://phabricator.services.mozilla.com/D35671
mobile/android/config/mozconfigs/android-aarch64/debug-release
mobile/android/config/mozconfigs/android-aarch64/release
mobile/android/config/mozconfigs/android-api-16/debug-release
mobile/android/config/mozconfigs/android-api-16/release
mobile/android/config/mozconfigs/android-x86/debug-release
mobile/android/config/mozconfigs/android-x86/release
mobile/android/config/mozconfigs/android-x86_64/debug-release
mobile/android/config/mozconfigs/android-x86_64/release
taskcluster/ci/balrog/kind.yml
taskcluster/ci/build/android.yml
taskcluster/ci/config.yml
taskcluster/ci/generate-profile/kind.yml
taskcluster/ci/google-play-strings/kind.yml
taskcluster/ci/instrumented-build/kind.yml
taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
taskcluster/ci/push-apk-checks/kind.yml
taskcluster/ci/push-apk/kind.yml
taskcluster/ci/release-beetmover-push-to-release/kind.yml
taskcluster/ci/release-bouncer-aliases/kind.yml
taskcluster/ci/release-bouncer-sub/kind.yml
taskcluster/ci/release-generate-checksums/kind.yml
taskcluster/ci/release-mark-as-shipped/kind.yml
taskcluster/ci/release-notify-promote/kind.yml
taskcluster/ci/release-notify-ship/kind.yml
taskcluster/ci/release-notify-started/kind.yml
taskcluster/ci/release-source/kind.yml
taskcluster/ci/release-version-bump/kind.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/docker/mozapkpublisher/Dockerfile
taskcluster/taskgraph/manifests/fennec_candidates.yml
taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
taskcluster/taskgraph/target_tasks.py
taskcluster/taskgraph/transforms/beetmover_geckoview.py
taskcluster/taskgraph/transforms/tests.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_release.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_release_debug.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_release.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_release_debug.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_release.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_release_debug.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_release.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_release_debug.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
copy from mobile/android/config/mozconfigs/android-aarch64/debug-beta
copy to mobile/android/config/mozconfigs/android-aarch64/debug-release
--- a/mobile/android/config/mozconfigs/android-aarch64/debug-beta
+++ b/mobile/android/config/mozconfigs/android-aarch64/debug-release
@@ -5,12 +5,12 @@ ac_add_options --enable-debug
 
 # Android
 ac_add_options --with-android-min-sdk=21
 ac_add_options --target=aarch64-linux-android
 
 export MOZILLA_OFFICIAL=1
 export MOZ_ANDROID_POCKET
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from mobile/android/config/mozconfigs/android-aarch64/beta
copy to mobile/android/config/mozconfigs/android-aarch64/release
--- a/mobile/android/config/mozconfigs/android-aarch64/beta
+++ b/mobile/android/config/mozconfigs/android-aarch64/release
@@ -1,16 +1,16 @@
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
 # Android
 ac_add_options --with-android-min-sdk=21
 ac_add_options --target=aarch64-linux-android
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 export AR="$topsrcdir/clang/bin/llvm-ar"
 export NM="$topsrcdir/clang/bin/llvm-nm"
 export RANLIB="$topsrcdir/clang/bin/llvm-ranlib"
 
 export MOZ_LTO=1
 
 export MOZILLA_OFFICIAL=1
copy from mobile/android/config/mozconfigs/android-api-16/debug-beta
copy to mobile/android/config/mozconfigs/android-api-16/debug-release
--- a/mobile/android/config/mozconfigs/android-api-16/debug-beta
+++ b/mobile/android/config/mozconfigs/android-api-16/debug-release
@@ -9,12 +9,12 @@ ac_add_options --enable-debug
 # advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
 # If you think you can't handle the whole set of changes, please reach out to the Release
 # Engineering team.
 ac_add_options --with-android-min-sdk=16
 ac_add_options --target=arm-linux-androideabi
 
 export MOZILLA_OFFICIAL=1
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from mobile/android/config/mozconfigs/android-api-16/beta
copy to mobile/android/config/mozconfigs/android-api-16/release
--- a/mobile/android/config/mozconfigs/android-api-16/beta
+++ b/mobile/android/config/mozconfigs/android-api-16/release
@@ -4,18 +4,18 @@
 # Warning: Before increasing the with-android-min-sdk value, please note several places in and out
 # of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
 # advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
 # If you think you can't handle the whole set of changes, please reach out to the Release
 # Engineering team.
 ac_add_options --with-android-min-sdk=16
 ac_add_options --target=arm-linux-androideabi
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 export MOZILLA_OFFICIAL=1
 export MOZ_ANDROID_MMA=1
 export MOZ_ANDROID_POCKET=1
 
 export AR="$topsrcdir/clang/bin/llvm-ar"
 export NM="$topsrcdir/clang/bin/llvm-nm"
 export RANLIB="$topsrcdir/clang/bin/llvm-ranlib"
copy from mobile/android/config/mozconfigs/android-x86/debug-beta
copy to mobile/android/config/mozconfigs/android-x86/debug-release
--- a/mobile/android/config/mozconfigs/android-x86/debug-beta
+++ b/mobile/android/config/mozconfigs/android-x86/debug-release
@@ -10,12 +10,12 @@ ac_add_options --enable-debug
 # If you think you can't handle the whole set of changes, please reach out to the Release
 # Engineering team.
 ac_add_options --target=i686-linux-android
 ac_add_options --with-android-min-sdk=16
 
 export MOZILLA_OFFICIAL=1
 export MOZ_ANDROID_POCKET=1
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from mobile/android/config/mozconfigs/android-x86/beta
copy to mobile/android/config/mozconfigs/android-x86/release
--- a/mobile/android/config/mozconfigs/android-x86/beta
+++ b/mobile/android/config/mozconfigs/android-x86/release
@@ -3,18 +3,18 @@
 # Warning: Before increasing the with-android-min-sdk value, please note several places in and out
 # of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
 # advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
 # If you think you can't handle the whole set of changes, please reach out to the Release
 # Engineering team.
 ac_add_options --target=i686-linux-android
 ac_add_options --with-android-min-sdk=16
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 export MOZILLA_OFFICIAL=1
 export MOZ_ANDROID_POCKET=1
 
 export AR="$topsrcdir/clang/bin/llvm-ar"
 export NM="$topsrcdir/clang/bin/llvm-nm"
 export RANLIB="$topsrcdir/clang/bin/llvm-ranlib"
 
copy from mobile/android/config/mozconfigs/android-x86_64/debug-beta
copy to mobile/android/config/mozconfigs/android-x86_64/debug-release
--- a/mobile/android/config/mozconfigs/android-x86_64/debug-beta
+++ b/mobile/android/config/mozconfigs/android-x86_64/debug-release
@@ -5,12 +5,12 @@ ac_add_options --enable-debug
 
 # Android
 ac_add_options --with-android-min-sdk=21
 ac_add_options --target=x86_64-linux-android
 
 export MOZILLA_OFFICIAL=1
 export MOZ_ANDROID_POCKET
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
copy from mobile/android/config/mozconfigs/android-x86_64/beta
copy to mobile/android/config/mozconfigs/android-x86_64/release
--- a/mobile/android/config/mozconfigs/android-x86_64/beta
+++ b/mobile/android/config/mozconfigs/android-x86_64/release
@@ -1,16 +1,16 @@
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
 # Android
 ac_add_options --with-android-min-sdk=21
 ac_add_options --target=x86_64-linux-android
 
-ac_add_options --with-branding=mobile/android/branding/beta
-ac_add_options --with-version-file-path=mobile/android/config/version-files/beta
+ac_add_options --with-branding=mobile/android/branding/official
+ac_add_options --with-version-file-path=mobile/android/config/version-files/release
 
 export AR="$topsrcdir/clang/bin/llvm-ar"
 export NM="$topsrcdir/clang/bin/llvm-nm"
 export RANLIB="$topsrcdir/clang/bin/llvm-ranlib"
 
 export MOZ_LTO=1
 
 export MOZILLA_OFFICIAL=1
--- a/taskcluster/ci/balrog/kind.yml
+++ b/taskcluster/ci/balrog/kind.yml
@@ -23,14 +23,18 @@ not-for-build-platforms:
     - android-api-16-nightly/opt
     - android-x86_64-nightly/opt
     - android-x86-nightly/opt
     - android-aarch64-nightly/opt
     - android-api-16-beta/opt
     - android-x86_64-beta/opt
     - android-x86-beta/opt
     - android-aarch64-beta/opt
+    - android-api-16-release/opt
+    - android-x86_64-release/opt
+    - android-x86-release/opt
+    - android-aarch64-release/opt
 
 job-template:
     update-no-wnp:
         by-release-type:
             nightly.*: false
             default: true
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/ci/build/android.yml
@@ -75,16 +75,39 @@ android-api-16-beta/debug:
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: api-16-beta-debug
         update-channel: beta
     toolchains:
         - linux64-sccache
 
+android-api-16-release/debug:
+    description: "Android 4.0 api-16+ Release Debug"
+    index:
+        job-name: android-api-16-release-debug
+    treeherder:
+        platform: android-4-0-armv7-api16-release/debug
+        symbol: B
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build]
+        config: ["builds/releng_base_android_64_builds.py"]
+        custom-build-variant-cfg: api-16-release-debug
+        update-channel: release
+    toolchains:
+        - linux64-sccache
+
 android-x86/opt:
     description: "Android 4.2 x86 Opt"
     index:
         job-name: android-x86-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
         platform: android-4-2-x86/opt
@@ -136,16 +159,39 @@ android-x86-beta/debug:
               path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
               type: file
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: x86-beta-debug
         update-channel: beta
 
+android-x86-release/debug:
+    description: "Android x86 Release Debug"
+    index:
+        job-name: android-x86-release-debug
+    attributes:
+        enable-full-crashsymbols: false
+    treeherder:
+        platform: android-4-2-x86-release/debug
+        symbol: B
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build]
+        config: ["builds/releng_base_android_64_builds.py"]
+        custom-build-variant-cfg: x86-release-debug
+        update-channel: release
+
 android-x86-fuzzing/debug:
     description: "Android x86 Fuzzing Debug"
     index:
         job-name: android-x86-fuzzing-debug
     treeherder:
         platform: android-4-2-x86/debug
         symbol: Bf
     worker-type: b-linux
@@ -211,16 +257,46 @@ android-x86-beta/opt:
     run:
         actions: [get-secrets, build, multi-l10n]
         config:
             - builds/releng_base_android_64_builds.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: x86-beta
         update-channel: beta
 
+android-x86-release/opt:
+    description: "Android 4.2 x86 Release"
+    attributes:
+        nightly: true
+        enable-full-crashsymbols: true
+        release-type: release
+    shipping-phase: build
+    shipping-product: fennec
+    index:
+        job-name: android-x86-release-opt
+        type: android-nightly
+    treeherder:
+        platform: android-4-2-x86-release/opt
+        symbol: N
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build, multi-l10n]
+        config:
+            - builds/releng_base_android_64_builds.py
+            - taskcluster_nightly.py
+        custom-build-variant-cfg: x86-release
+        update-channel: release
+
 android-api-16/opt:
     description: "Android 4.0 api-16+ Opt"
     index:
         job-name: android-api-16-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
         platform: android-4-0-armv7-api16/opt
@@ -299,17 +375,17 @@ android-api-16-nightly/opt:
         config:
             - builds/releng_base_android_64_builds.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: api-16
         update-channel: nightly
 
 android-api-16-beta/opt:
     description: "Android 4.0 api-16+ Beta"
-    use-pgo: android-api-16-beta/pgo
+    use-pgo: android-api-16/pgo
     attributes:
         nightly: true
         enable-full-crashsymbols: true
         release-type: beta
     shipping-phase: build
     shipping-product: fennec
     index:
         job-name: android-api-16-beta-opt
@@ -328,19 +404,50 @@ android-api-16-beta/opt:
     run:
         actions: [get-secrets, build, multi-l10n]
         config:
             - builds/releng_base_android_64_builds.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: api-16-beta
         update-channel: beta
 
+android-api-16-release/opt:
+    description: "Android 4.0 api-16+ Release"
+    use-pgo: android-api-16/pgo
+    attributes:
+        nightly: true
+        enable-full-crashsymbols: true
+        release-type: release
+    shipping-phase: build
+    shipping-product: fennec
+    index:
+        job-name: android-api-16-release-opt
+        type: android-nightly-with-multi-l10n
+    treeherder:
+        platform: android-4-0-armv7-api16-release/opt
+        symbol: N
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build, multi-l10n]
+        config:
+            - builds/releng_base_android_64_builds.py
+            - taskcluster_nightly.py
+        custom-build-variant-cfg: api-16-release
+        update-channel: release
+
 android-api-16-beta-test/opt:
     description: "Android 4.0 api-16+ Beta"
-    use-pgo: android-api-16-beta/pgo
+    use-pgo: android-api-16/pgo
     attributes:
         enable-full-crashsymbols: true
         release-type: beta
     shipping-phase: build
     shipping-product: fennec
     index:
         job-name: android-api-16-beta-opt
     treeherder:
@@ -351,16 +458,39 @@ android-api-16-beta-test/opt:
         env:
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: api-16-beta
         update-channel: beta
 
+android-api-16-release-test/opt:
+    description: "Android 4.0 api-16+ Release"
+    use-pgo: android-api-16/pgo
+    attributes:
+        enable-full-crashsymbols: true
+        release-type: release
+    shipping-phase: build
+    shipping-product: fennec
+    index:
+        job-name: android-api-16-release-opt
+    treeherder:
+        platform: android-4-0-armv7-api16-release/opt
+        symbol: B
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+    run:
+        actions: [get-secrets, build]
+        config: ["builds/releng_base_android_64_builds.py"]
+        custom-build-variant-cfg: api-16-release
+        update-channel: release
+
 android-aarch64/opt:
     description: "Android 5.0 AArch64 Opt"
     index:
         job-name: android-aarch64-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
         platform: android-5-0-aarch64/opt
@@ -433,16 +563,39 @@ android-aarch64-beta/debug:
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: aarch64-beta-debug
         update-channel: beta
     toolchains:
         - linux64-sccache
 
+android-aarch64-release/debug:
+    description: "Android 5.0 AArch64 Release ebug"
+    index:
+        job-name: android-aarch64-release-debug
+    treeherder:
+        platform: android-5-0-aarch64-release/debug
+        symbol: B
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build]
+        config: ["builds/releng_base_android_64_builds.py"]
+        custom-build-variant-cfg: aarch64-release-debug
+        update-channel: release
+    toolchains:
+        - linux64-sccache
+
 android-aarch64-nightly/opt:
     description: "Android 5.0 AArch64 Nightly"
     use-pgo: android-api-16/pgo
     attributes:
         enable-full-crashsymbols: true
         nightly: true
         release-type: nightly
     shipping-phase: build
@@ -462,17 +615,17 @@ android-aarch64-nightly/opt:
         config:
             - builds/releng_base_android_64_builds.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: aarch64
         update-channel: nightly
 
 android-aarch64-beta/opt:
     description: "Android 5.0 AArch64 Beta"
-    use-pgo: android-api-16-beta/pgo
+    use-pgo: android-api-16/pgo
     attributes:
         nightly: true
         enable-full-crashsymbols: true
         release-type: beta
     shipping-phase: build
     shipping-product: fennec
     index:
         job-name: android-aarch64-beta-opt
@@ -491,16 +644,47 @@ android-aarch64-beta/opt:
     run:
         actions: [get-secrets, build, multi-l10n]
         config:
             - builds/releng_base_android_64_builds.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: aarch64-beta
         update-channel: beta
 
+android-aarch64-release/opt:
+    description: "Android 5.0 AArch64 Release"
+    use-pgo: android-api-16/pgo
+    attributes:
+        nightly: true
+        enable-full-crashsymbols: true
+        release-type: release
+    shipping-phase: build
+    shipping-product: fennec
+    index:
+        job-name: android-aarch64-release-opt
+        type: android-nightly
+    treeherder:
+        platform: android-5-0-aarch64-release/opt
+        symbol: N
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build, multi-l10n]
+        config:
+            - builds/releng_base_android_64_builds.py
+            - taskcluster_nightly.py
+        custom-build-variant-cfg: aarch64-release
+        update-channel: release
+
 android-x86_64/opt:
     description: "Android 5.0 x86-64 Opt"
     index:
         job-name: android-x86_64-opt
     attributes:
         enable-full-crashsymbols: true
     treeherder:
         platform: android-5-0-x86_64/opt
@@ -567,16 +751,46 @@ android-x86_64-beta/opt:
     run:
         actions: [get-secrets, build, multi-l10n]
         config:
             - builds/releng_base_android_64_builds.py
             - taskcluster_nightly.py
         custom-build-variant-cfg: x86_64-beta
         update-channel: beta
 
+android-x86_64-release/opt:
+    description: "Android 5.0 x86-64 Release"
+    attributes:
+        nightly: true
+        enable-full-crashsymbols: true
+        release-type: release
+    shipping-phase: build
+    shipping-product: fennec
+    index:
+        job-name: android-x86_64-release-opt
+        type: android-nightly
+    treeherder:
+        platform: android-5-0-x86_64-release/opt
+        symbol: N
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build, multi-l10n]
+        config:
+            - builds/releng_base_android_64_builds.py
+            - taskcluster_nightly.py
+        custom-build-variant-cfg: x86_64-release
+        update-channel: release
+
 android-x86_64-beta-test/opt:
     description: "Android 5.0 x86-64 Beta"
     attributes:
         enable-full-crashsymbols: true
         release-type: beta
     shipping-phase: build
     shipping-product: fennec
     index:
@@ -589,16 +803,38 @@ android-x86_64-beta-test/opt:
         env:
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: x86_64-beta
         update-channel: beta
 
+android-x86_64-release-test/opt:
+    description: "Android 5.0 x86-64 release"
+    attributes:
+        enable-full-crashsymbols: true
+        release-type: release
+    shipping-phase: build
+    shipping-product: fennec
+    index:
+        job-name: android-x86_64-release-opt
+    treeherder:
+        platform: android-5-0-x86_64-release/opt
+        symbol: B
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+    run:
+        actions: [get-secrets, build]
+        config: ["builds/releng_base_android_64_builds.py"]
+        custom-build-variant-cfg: x86_64-release
+        update-channel: release
+
 android-x86_64/debug:
     description: "Android 5.0 x86-64 Debug"
     index:
         job-name: android-x86_64-debug
     attributes:
         enable-full-crashsymbols: true
     treeherder:
         platform: android-5-0-x86_64/debug
@@ -631,8 +867,31 @@ android-x86_64-beta/debug:
               type: file
     run:
         actions: [get-secrets, build]
         config: ["builds/releng_base_android_64_builds.py"]
         custom-build-variant-cfg: x86_64-beta-debug
         update-channel: beta
     toolchains:
         - linux64-sccache
+
+android-x86_64-release/debug:
+    description: "Android 5.0 x86-64 Release Debug"
+    index:
+        job-name: android-x86_64-release-debug
+    treeherder:
+        platform: android-5-0-x86_64-release/debug
+        symbol: B
+    worker-type: b-linux
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+        artifacts:
+            - name: public/build/target.maven.zip
+              path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
+              type: file
+    run:
+        actions: [get-secrets, build]
+        config: ["builds/releng_base_android_64_builds.py"]
+        custom-build-variant-cfg: x86_64-release-debug
+        update-channel: release
+    toolchains:
+        - linux64-sccache
--- a/taskcluster/ci/config.yml
+++ b/taskcluster/ci/config.yml
@@ -152,16 +152,19 @@ release-promotion:
     flavors:
         promote_devedition:
             product: devedition
             target-tasks-method: promote_desktop
             partial-updates: true
         promote_fennec_beta:
             product: fennec
             target-tasks-method: promote_fennec_beta
+        promote_fennec_release:
+            product: fennec
+            target-tasks-method: promote_fennec_release
         promote_firefox:
             product: firefox
             target-tasks-method: promote_desktop
             partial-updates: true
         promote_firefox_partners:
             product: firefox
             rebuild-kinds:
                 - release-partner-repack
@@ -188,21 +191,23 @@ release-promotion:
             product: devedition
             target-tasks-method: ship_desktop
             version-bump: true
             partial-updates: true
         ship_fennec_beta:
             product: fennec
             target-tasks-method: ship_fennec_beta
             version-bump: true
-        # TODO Modify this entry once `ship_fennec_release` is created
-        ship_fennec_rc:
+        ship_fennec_release:
+            product: fennec
+            target-tasks-method: ship_fennec_release
+        ship_fennec_release_rc:
             product: fennec
             is-rc: true
-            target-tasks-method: ship_fennec
+            target-tasks-method: ship_fennec_release
         ship_firefox:
             product: firefox
             target-tasks-method: ship_desktop
             version-bump: true
             partial-updates: true
         ship_firefox_rc:
             product: firefox
             is-rc: true
--- a/taskcluster/ci/generate-profile/kind.yml
+++ b/taskcluster/ci/generate-profile/kind.yml
@@ -84,44 +84,8 @@ jobs:
             job-script: taskcluster/scripts/tester/test-linux.sh
             script: android_emulator_pgo.py
             tooltool-downloads: internal
             options: [installer-path=/builds/worker/fetches/target.apk]
             config:
                 - android/android_common.py
                 - android/androidarm_4_3.py
                 - android/android_pgo.py
-
-    android-api-16-beta/pgo:
-        description: "Android 4.0 api-16+ Beta Profile Generation"
-        shipping-phase: build
-        shipping-product: fennec
-        index:
-            product: mobile
-            job-name: android-api-16-beta-profile
-        treeherder:
-            platform: android-4-0-armv7-api16-beta/pgo
-        worker-type: t-linux-xlarge-pgo
-        worker:
-            max-run-time: 5400
-            docker-image: {in-tree: desktop1604-test}
-            env:
-                WORKSPACE: "/builds/worker/workspace"
-                WORKING_DIR: "/builds/worker"
-                MOZHARNESS_PATH: "/builds/worker/workspace/build/src/testing/mozharness"
-            artifacts:
-                - type: file
-                  name: public/build/profdata.tar.xz
-                  path: /builds/worker/artifacts/profdata.tar.xz
-                - type: directory
-                  name: public/build
-                  path: /builds/worker/artifacts/blobber_upload_dir
-        run:
-            using: mozharness
-            need-xvfb: true
-            job-script: taskcluster/scripts/tester/test-linux.sh
-            script: android_emulator_pgo.py
-            tooltool-downloads: internal
-            options: [installer-path=/builds/worker/fetches/target.apk]
-            config:
-                - android/android_common.py
-                - android/androidarm_4_3.py
-                - android/android_pgo.py
--- a/taskcluster/ci/google-play-strings/kind.yml
+++ b/taskcluster/ci/google-play-strings/kind.yml
@@ -35,17 +35,17 @@ job-defaults:
             - >
               python3 ./mozapkpublisher/get_l10n_strings.py
               --package-name "${PACKAGE_NAME}"
               --output-file "${GOOGLE_PLAY_STRING_FILE}"
     treeherder:
         platform: Android/opt
         tier: 2
         kind: other
-    run-on-projects: ['try', 'mozilla-central', 'mozilla-beta', 'mozilla-release']
+    run-on-projects: ['try', 'mozilla-esr68']
 
 jobs:
     nightly:
         attributes:
             release-type: nightly
         worker:
             env:
                 PACKAGE_NAME: org.mozilla.fennec_aurora
@@ -54,8 +54,16 @@ jobs:
     beta:
         attributes:
             release-type: beta
         worker:
             env:
                 PACKAGE_NAME: org.mozilla.firefox_beta
         treeherder:
             symbol: pub(gps-b)
+    release:
+        attributes:
+            release-type: release
+        worker:
+            env:
+                PACKAGE_NAME: org.mozilla.firefox
+        treeherder:
+            symbol: pub(gps-r)
--- a/taskcluster/ci/instrumented-build/kind.yml
+++ b/taskcluster/ci/instrumented-build/kind.yml
@@ -142,8 +142,55 @@ jobs:
             - android-sdk-linux
             - linux64-clang-android-cross
             - linux64-rust-android
             - linux64-rust-size
             - linux64-cbindgen
             - linux64-sccache
             - linux64-nasm
             - linux64-node
+
+    android-api-16-release/pgo:
+        description: "Android 4.0 api-16+ Release PGO instrumented"
+        shipping-phase: build
+        shipping-product: fennec
+        attributes:
+            enable-full-crashsymbols: true
+        treeherder:
+            platform: android-4-0-armv7-api16-release/pgo
+        worker-type: b-linux
+        worker:
+            docker-image: {in-tree: android-build}
+            max-run-time: 7200
+            env:
+                GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
+                TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+                PERFHERDER_EXTRA_OPTIONS: instrumented
+            artifacts:
+                - name: public/build
+                  path: /builds/worker/artifacts/
+                  type: directory
+                - name: public/build/geckoview-androidTest.apk
+                  path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+                  type: file
+                - name: public/build/geckoview_example.apk
+                  path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+                  type: file
+        run:
+            using: mozharness
+            actions: [get-secrets, build]
+            config:
+                - builds/releng_base_android_64_builds.py
+            script: "mozharness/scripts/fx_desktop_build.py"
+            secrets: true
+            custom-build-variant-cfg: api-16-profile-generate
+            tooltool-downloads: internal
+        toolchains:
+            - android-gradle-dependencies
+            - android-ndk-linux
+            - android-sdk-linux
+            - linux64-clang-android-cross
+            - linux64-rust-android
+            - linux64-rust-size
+            - linux64-cbindgen
+            - linux64-sccache
+            - linux64-nasm
+            - linux64-node
--- a/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
+++ b/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
@@ -26,40 +26,63 @@ jobs:
             implementation: docker-worker
             os: linux
             docker-image: "ubuntu:16.10"
             max-run-time: 600
             command:
                 - /bin/bash
                 - -c
                 - echo "Dummy task"
+
     devedition-promote:
         name: post-beetmover-checksums-dummy
         description: Dummy task to deal with max_dependencies
         run-on-projects: []
         shipping-phase: promote
         shipping-product: devedition
         worker-type: b-linux
         worker:
             implementation: docker-worker
             os: linux
             docker-image: "ubuntu:16.10"
             max-run-time: 600
             command:
                 - /bin/bash
                 - -c
                 - echo "Dummy task"
-    fennec-promote:
+
+    fennec-promote-beta:
+        attributes:
+            release-type: beta
         name: post-beetmover-checksums-dummy
         description: Dummy task to deal with max_dependencies
         run-on-projects: []
         shipping-phase: promote
         shipping-product: fennec
         worker-type: b-linux
         worker:
             implementation: docker-worker
             os: linux
             docker-image: "ubuntu:16.10"
             max-run-time: 600
             command:
                 - /bin/bash
                 - -c
                 - echo "Dummy task"
+
+    fennec-promote-release:
+        attributes:
+            release-type: release
+        name: post-beetmover-checksums-dummy
+        description: Dummy task to deal with max_dependencies
+        run-on-projects: []
+        shipping-phase: promote
+        shipping-product: fennec
+        worker-type: b-linux
+        worker:
+            implementation: docker-worker
+            os: linux
+            docker-image: "ubuntu:16.10"
+            max-run-time: 600
+            command:
+                - /bin/bash
+                - -c
+                - echo "Dummy task"
--- a/taskcluster/ci/push-apk-checks/kind.yml
+++ b/taskcluster/ci/push-apk-checks/kind.yml
@@ -22,17 +22,17 @@ job-defaults:
         os: linux
         docker-image: {in-tree: mozapkpublisher}
         chain-of-trust: true
         max-run-time: 600
     treeherder:
         platform: Android/opt
         tier: 1
         kind: test
-    run-on-projects: ['try', 'mozilla-beta', 'mozilla-esr68']
+    run-on-projects: ['try', 'mozilla-esr68']
 
 jobs:
     push-apk-checks-nightly/opt:
         description: Verify Nightly APKs are sane before uploading them onto Google Play Store
         attributes:
             release-type: nightly
         package-name: org.mozilla.fennec_aurora
         treeherder:
@@ -40,8 +40,16 @@ jobs:
 
     push-apk-checks-beta/opt:
         description: Verify Beta APKs are sane before uploading them onto Google Play Store
         attributes:
             release-type: beta
         package-name: org.mozilla.firefox_beta
         treeherder:
             symbol: pub(gpc-b)
+
+    push-apk-checks-release/opt:
+        description: Verify Release APKs are sane before uploading them onto Google Play Store
+        attributes:
+            release-type: release
+        package-name: org.mozilla.firefox
+        treeherder:
+            symbol: pub(gpc-r)
--- a/taskcluster/ci/push-apk/kind.yml
+++ b/taskcluster/ci/push-apk/kind.yml
@@ -61,8 +61,24 @@ jobs:
                     staging: alpha
             rollout-percentage:
                 by-release-level:
                     # XXX Change this value if google-play-track becomes rollout
                     production: null
                     staging: null
         treeherder:
             symbol: pub(gp-b)
+
+    push-apk-release/opt:
+        attributes:
+            release-type: release
+        worker:
+            google-play-track:
+                by-release-level:
+                    production: rollout
+                    staging: alpha
+            rollout-percentage:
+                by-release-level:
+                    # XXX Change this value if google-play-track becomes rollout
+                    production: 10
+                    staging: null
+        treeherder:
+            symbol: pub(gp-r)
--- a/taskcluster/ci/release-beetmover-push-to-release/kind.yml
+++ b/taskcluster/ci/release-beetmover-push-to-release/kind.yml
@@ -12,17 +12,27 @@ transforms:
 kind-dependencies:
     - release-generate-checksums-beetmover
 
 job-defaults:
     run-on-projects: []
     shipping-phase: push
 
 jobs:
-    fennec-push-to-release:
+    fennec-beta-push-to-release:
+        attributes:
+            release-type: beta
+        name: fennec_push_to_release
+        product: fennec
+        shipping-product: fennec
+        treeherder-platform: fennec-beta/opt
+
+    fennec-release-push-to-release:
+        attributes:
+            release-type: release
         name: fennec_push_to_release
         product: fennec
         shipping-product: fennec
         treeherder-platform: fennec-release/opt
 
     devedition-push-to-release:
         name: devedition_push_to_release
         product: devedition
--- a/taskcluster/ci/release-bouncer-aliases/kind.yml
+++ b/taskcluster/ci/release-bouncer-aliases/kind.yml
@@ -46,19 +46,28 @@ jobs:
         treeherder:
             platform: devedition-release/opt
 
     fennec-beta:
         bouncer-products-per-alias:
             fennec-beta-latest: apk
         shipping-product: fennec
         treeherder:
+            platform: fennec-beta/opt
+        attributes:
+            release-type: beta
+
+    fennec-release:
+        bouncer-products-per-alias:
+            fennec-latest: apk
+        shipping-product: fennec
+        treeherder:
             platform: fennec-release/opt
         attributes:
-            release-type: beta
+            release-type: release
 
     firefox:
         bouncer-products-per-alias:
             by-project:
                 mozilla-beta:
                     firefox-beta-latest-ssl: installer-ssl
                     firefox-beta-latest: installer
                     firefox-beta-stub: stub-installer
--- a/taskcluster/ci/release-bouncer-sub/kind.yml
+++ b/taskcluster/ci/release-bouncer-sub/kind.yml
@@ -42,19 +42,29 @@ jobs:
             platform: devedition-release/opt
 
     fennec-beta:
         bouncer-platforms: ['android', 'android-x86']
         bouncer-products: ['apk']
         shipping-product: fennec
         locales-file: mobile/locales/l10n-changesets.json
         treeherder:
+            platform: fennec-beta/opt
+        attributes:
+            release-type: beta
+
+    fennec-release:
+        bouncer-platforms: ['android', 'android-x86']
+        bouncer-products: ['apk']
+        shipping-product: fennec
+        locales-file: mobile/locales/l10n-changesets.json
+        treeherder:
             platform: fennec-release/opt
         attributes:
-            release-type: beta
+            release-type: release
 
     firefox:
         bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64', 'win64-aarch64']
         bouncer-products:
             by-release-type:
                 default: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi']
                 esr68: ['complete-mar', 'complete-mar-bz2', 'installer', 'installer-ssl', 'partial-mar', 'msi']
                 # No stub installer in esr60
--- a/taskcluster/ci/release-generate-checksums/kind.yml
+++ b/taskcluster/ci/release-generate-checksums/kind.yml
@@ -79,16 +79,34 @@ jobs:
                 by-release-level:
                     production:
                         stage_product: "mobile"
                         bucket_name: "net-mozaws-prod-delivery-archive"
                     staging:
                         stage_product: "mobile"
                         bucket_name: "net-mozaws-stage-delivery-archive"
         treeherder:
+            platform: fennec-beta/opt
+
+    fennec-release:
+        shipping-product: fennec
+        attributes:
+            build_platform: fennec-release
+            build_type: opt
+            release-type: release
+        run:
+            extra-config:
+                by-release-level:
+                    production:
+                        stage_product: "mobile"
+                        bucket_name: "net-mozaws-prod-delivery-archive"
+                    staging:
+                        stage_product: "mobile"
+                        bucket_name: "net-mozaws-stage-delivery-archive"
+        treeherder:
             platform: fennec-release/opt
 
     devedition:
         shipping-product: devedition
         attributes:
             build_platform: devedition-release
             build_type: opt
         run:
--- a/taskcluster/ci/release-mark-as-shipped/kind.yml
+++ b/taskcluster/ci/release-mark-as-shipped/kind.yml
@@ -36,15 +36,21 @@ job-defaults:
 
 jobs:
     fennec-beta:
         name: release-fennec-beta_mark_as_shipped
         shipping-product: fennec
         attributes:
             release-type: beta
 
+    fennec-release:
+        name: release-fennec-release_mark_as_shipped
+        shipping-product: fennec
+        attributes:
+            release-type: release
+
     firefox:
         name: release-firefox_mark_as_shipped
         shipping-product: firefox
 
     devedition:
         name: release-devedition_mark_as_shipped
         shipping-product: devedition
--- a/taskcluster/ci/release-notify-promote/kind.yml
+++ b/taskcluster/ci/release-notify-promote/kind.yml
@@ -38,12 +38,16 @@ job-defaults:
                 try: ["{config[params][owner]}"]
                 default: []
 
 jobs:
     fennec-beta:
         shipping-product: fennec
         attributes:
             release-type: beta
+    fennec-release:
+        shipping-product: fennec
+        attributes:
+            release-type: release
     firefox:
         shipping-product: firefox
     devedition:
         shipping-product: devedition
--- a/taskcluster/ci/release-notify-ship/kind.yml
+++ b/taskcluster/ci/release-notify-ship/kind.yml
@@ -41,16 +41,23 @@ job-defaults:
 jobs:
     fennec-beta:
         shipping-product: fennec
         notifications:
             subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has shipped!"
             message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has shipped!"
         attributes:
             release-type: beta
+    fennec-release:
+        shipping-product: fennec
+        notifications:
+            subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has shipped!"
+            message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has shipped!"
+        attributes:
+            release-type: release
     firefox:
         shipping-product: firefox
         notifications:
             subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
             message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
     devedition:
         shipping-product: devedition
         notifications:
--- a/taskcluster/ci/release-notify-started/kind.yml
+++ b/taskcluster/ci/release-notify-started/kind.yml
@@ -25,12 +25,16 @@ job-defaults:
             try: ["{config[params][owner]}"]
             default: []
 
 jobs:
     fennec-beta:
         shipping-product: fennec
         attributes:
             release-type: beta
+    fennec-release:
+        shipping-product: fennec
+        attributes:
+            release-type: release
     firefox:
         shipping-product: firefox
     devedition:
         shipping-product: devedition
--- a/taskcluster/ci/release-source/kind.yml
+++ b/taskcluster/ci/release-source/kind.yml
@@ -48,18 +48,26 @@ jobs:
         description: "Firefox source builder"
         treeherder:
             platform: firefox-release/opt
         shipping-product: firefox
 
     fennec-beta-source/opt:
         description: "Fennec source builder"
         treeherder:
+            platform: fennec-beta/opt
+        shipping-product: fennec
+        attributes:
+            release-type: beta
+
+    fennec-release-source/opt:
+        description: "Fennec source builder"
+        treeherder:
             platform: fennec-release/opt
         shipping-product: fennec
         attributes:
-            release-type: beta
+            release-type: release
 
     devedition-source/opt:
         description: "Devedition source builder"
         treeherder:
             platform: devedition-release/opt
         shipping-product: devedition
--- a/taskcluster/ci/release-version-bump/kind.yml
+++ b/taskcluster/ci/release-version-bump/kind.yml
@@ -52,15 +52,24 @@ jobs:
         attributes:
             release-type: beta
         name: fennec-beta-version-bump
         shipping-product: fennec
         worker:
             bump-files:
                 - mobile/android/config/version-files/beta/version_display.txt
 
+    fennec-release:
+        attributes:
+            release-type: release
+        name: fennec-release-version-bump
+        shipping-product: fennec
+        worker:
+            bump-files:
+                - mobile/android/config/version-files/release/version_display.txt
+
     firefox:
         name: firefox-version-bump
         shipping-product: firefox
 
     devedition:
         name: devedition-version-bump
         shipping-product: devedition
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -362,16 +362,21 @@ android-em-4.3-arm7-api-16/debug:
     test-sets:
         - android-common-tests
 
 android-em-4.3-arm7-api-16-beta/debug:
     build-platform: android-api-16-beta/debug
     test-sets:
         - android-common-tests
 
+android-em-4.3-arm7-api-16-release/debug:
+    build-platform: android-api-16-release/debug
+    test-sets:
+        - android-common-tests
+
 # Disable ccov testing on Android due to issues with
 # Java 8 features. Bug 1498721.
 # android-em-4.3-arm7-api-16-ccov/debug:
 #     build-platform: android-api-16-ccov/debug
 #     test-sets:
 #         - android-ccov-tests
 
 android-em-4.3-arm7-api-16/opt:
@@ -381,16 +386,22 @@ android-em-4.3-arm7-api-16/opt:
         - android-opt-tests
 
 android-em-4.3-arm7-api-16-beta/opt:
     build-platform: android-api-16-beta-test/opt
     test-sets:
         - android-common-tests
         - android-opt-tests
 
+android-em-4.3-arm7-api-16-release/opt:
+    build-platform: android-api-16-release-test/opt
+    test-sets:
+        - android-common-tests
+        - android-opt-tests
+
 android-em-4.3-arm7-api-16/pgo:
     build-platform: android-api-16-pgo/opt
     test-sets:
         - android-common-tests
         - android-opt-tests
 
 android-em-7.0-x86/opt:
     build-platform: android-x86/opt
@@ -408,26 +419,41 @@ android-em-7.0-x86_64/debug:
     test-sets:
         - android-x86_64-tests
 
 android-em-7.0-x86-beta/opt:
     build-platform: android-x86-beta/opt
     test-sets:
         - android-x86-tests
 
+android-em-7.0-x86-release/opt:
+    build-platform: android-x86-release/opt
+    test-sets:
+        - android-x86-tests
+
 android-em-7.0-x86_64-beta/debug:
     build-platform: android-x86_64-beta/debug
     test-sets:
         - android-x86_64-tests
 
+android-em-7.0-x86_64-release/debug:
+    build-platform: android-x86_64-release/debug
+    test-sets:
+        - android-x86_64-tests
+
 android-em-7.0-x86_64-beta/opt:
     build-platform: android-x86_64-beta-test/opt
     test-sets:
         - android-x86_64-tests
 
+android-em-7.0-x86_64-release/opt:
+    build-platform: android-x86_64-release-test/opt
+    test-sets:
+        - android-x86_64-tests
+
 # android-hw test platforms execute on real devices attached to Autophone hosts.
 
 # android-hw-g5-7-0 Motorola Moto G5 Android 7.0
 
 android-hw-g5-7-0-arm7-api-16/opt:
     build-platform: android-api-16/opt
     test-sets:
         - android-hw-arm7-raptor
--- a/taskcluster/docker/mozapkpublisher/Dockerfile
+++ b/taskcluster/docker/mozapkpublisher/Dockerfile
@@ -20,17 +20,17 @@ RUN apt-get update \
     python3-pip \
     python3-setuptools \
     unzip \
   && apt-get clean
 
 WORKDIR /builds/worker/
 # Change hash_for_given_tag to point to a newer tag. For more information, see
 # https://bugzilla.mozilla.org/show_bug.cgi?id=1459980#c3
-RUN export revision='49254cd61a4536206651424179a39e846d61d8b1' \
+RUN export revision='520af258e5e5109dfba5dc0cc758f9265f1b6611' \
   && curl --location "https://github.com/mozilla-releng/mozapkpublisher/archive/$revision.zip" > mozapkpublisher.zip \
   && unzip mozapkpublisher.zip \
   && mv "mozapkpublisher-$revision" mozapkpublisher \
   && rm mozapkpublisher.zip
 
 WORKDIR /builds/worker/mozapkpublisher
 RUN pip3 --no-cache-dir install --upgrade pip
 RUN pip3 --no-cache-dir install --no-deps --require-hashes --requirement requirements.txt
--- a/taskcluster/taskgraph/manifests/fennec_candidates.yml
+++ b/taskcluster/taskgraph/manifests/fennec_candidates.yml
@@ -9,26 +9,26 @@ default_locales:  # if given an empty lo
     - multi
 tasktype_map:  # map task reference to task type.
     build: build
     build-signing: signing
     nightly-l10n-signing: signing
 platform_names:
     path_platform:
         by-platform:
-            android-x86-beta: 'android-x86'
-            android-x86_64-beta: 'android-x86_64'
-            android-api-16-beta: 'android-api-16'
-            android-aarch64-beta: 'android-aarch64'
+            android-x86-(beta|release): 'android-x86'
+            android-x86_64-(beta|release): 'android-x86_64'
+            android-api-16-(beta|release): 'android-api-16'
+            android-aarch64-(beta|release): 'android-aarch64'
     filename_platform:
         by-platform:
-            android-x86-beta: 'android-i386'
-            android-x86_64-beta: 'android-x86_64'
-            android-api-16-beta: 'android-arm'
-            android-aarch64-beta: 'android-aarch64'
+            android-x86-(beta|release): 'android-i386'
+            android-x86_64-(beta|release): 'android-x86_64'
+            android-api-16-(beta|release): 'android-arm'
+            android-aarch64-(beta|release): 'android-aarch64'
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
     from:
         - build
     all_locales: false
--- a/taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
+++ b/taskcluster/taskgraph/manifests/fennec_candidates_checksums.yml
@@ -6,26 +6,26 @@ s3_bucket_paths:
     - pub/mobile/candidates
 default_locales:  # if given an empty locale, use these locales
     - en-US
 tasktype_map:  # Map task reference to task type.
     checksums-signing: signing
 platform_names:
     path_platform:
         by-platform:
-            android-x86-beta: 'android-x86'
-            android-x86_64-beta: 'android-x86_64'
-            android-api-16-beta: 'android-api-16'
-            android-aarch64-beta: 'android-aarch64'
+            android-x86-(beta|release): 'android-x86'
+            android-x86_64-(beta|release): 'android-x86_64'
+            android-api-16-(beta|release): 'android-api-16'
+            android-aarch64-(beta|release): 'android-aarch64'
     filename_platform:
         by-platform:
-            android-x86-beta: 'android-i386'
-            android-x86_64-beta: 'android-x86_64'
-            android-api-16-beta: 'android-arm'
-            android-aarch64-beta: 'android-aarch64'
+            android-x86-(beta|release): 'android-i386'
+            android-x86_64-(beta|release): 'android-x86_64'
+            android-api-16-(beta|release): 'android-arm'
+            android-aarch64-(beta|release): 'android-aarch64'
 
 # A default entry, which the mappings below extend and override.
 # Final 'destinations' will be the product of:
 # s3_bucket_paths + destinations + locale_prefix + pretty_name
 default: &default
     from:
         - checksums-signing
     all_locales: true
--- a/taskcluster/taskgraph/target_tasks.py
+++ b/taskcluster/taskgraph/target_tasks.py
@@ -395,68 +395,99 @@ def target_tasks_ship_desktop(full_task_
         if 'secondary' in task.kind:
                 return is_rc
         else:
                 return not is_rc
 
     return [l for l, t in full_task_graph.tasks.iteritems() if filter(t)]
 
 
-@_target_task('promote_fennec_beta')
-def target_tasks_promote_fennec(full_task_graph, parameters, graph_config):
-    """Select the set of tasks required for a candidates build of fennec. The
-    nightly build process involves a pipeline of builds, signing,
-    and, eventually, uploading the tasks to balrog."""
-
-    def filter(task):
+def _get_filter_promote_fennec(fennec_release_type):
+    def filter_(task):
         attr = task.attributes.get
         # Don't ship single locale fennec anymore - Bug 1408083
         if attr("locale") or attr("chunk_locales"):
             return False
 
-        if task.attributes.get('shipping_product') == 'fennec' and \
-                task.attributes.get('shipping_phase') == 'promote' and \
-                task.attributes.get('release-type') != 'nightly':
-            return True
-        return False
+        return attr('shipping_product') == 'fennec' and \
+            attr('shipping_phase') == 'promote' and \
+            attr('release-type') in (None, fennec_release_type)
 
-    return [l for l, t in full_task_graph.tasks.iteritems() if filter(full_task_graph[l])]
+    return filter_
 
 
-@_target_task('ship_fennec_beta')
-def target_tasks_ship_fennec(full_task_graph, parameters, graph_config):
-    """Select the set of tasks required to ship fennec.
-    Previous build deps will be optimized out via action task."""
+def _get_filter_ship_fennec(fennec_release_type, filtered_for_candidates, parameters):
     is_rc = (parameters.get('release_type') == 'release-rc')
-    filtered_for_candidates = target_tasks_promote_fennec(
-        full_task_graph, parameters, graph_config,
-    )
 
-    def filter(task):
+    def filter_(task):
         # XXX Starting 68, Geckoview is shipped in a separate target_tasks
         if task.kind == 'beetmover-geckoview':
             return False
 
         # Include candidates build tasks; these will be optimized out
         if task.label in filtered_for_candidates:
             return True
-        if task.attributes.get('shipping_product') != 'fennec' or \
-                task.attributes.get('shipping_phase') not in ('ship', 'push') or \
-                task.attributes.get('release-type') == 'nightly':
-            return False
 
         # secondary-notify-ship is only for RC
-        if task.kind in (
-            'release-secondary-notify-ship',
-        ):
+        if task.kind == 'release-secondary-notify-ship':
             return is_rc
 
-        # Everything else is only for non-RC
-        return not is_rc
+        attr = task.attributes.get
+        return attr('shipping_product') == 'fennec' and \
+            attr('shipping_phase') in ('ship', 'push') and \
+            attr('release-type') in (None, fennec_release_type)
+
+    return filter_
+
+
+@_target_task('promote_fennec_beta')
+def target_tasks_promote_fennec_beta(full_task_graph, parameters, graph_config):
+    """Select the set of tasks required for a candidates build of fennec. The
+    beta build process involves a pipeline of builds, signing,
+    and, eventually, uploading the tasks to balrog."""
+
+    filter = _get_filter_promote_fennec(fennec_release_type='beta')
+    return [l for l, t in full_task_graph.tasks.iteritems() if filter(full_task_graph[l])]
+
+
+@_target_task('promote_fennec_release')
+def target_tasks_promote_fennec_release(full_task_graph, parameters, graph_config):
+    """Select the set of tasks required for a candidates build of fennec. The
+    release build process involves a pipeline of builds, signing,
+    and, eventually, uploading the tasks to balrog."""
+
+    filter = _get_filter_promote_fennec(fennec_release_type='release')
+    return [l for l, t in full_task_graph.tasks.iteritems() if filter(full_task_graph[l])]
 
+
+@_target_task('ship_fennec_beta')
+def target_tasks_ship_fennec_beta(full_task_graph, parameters, graph_config):
+    """Select the set of tasks required to ship fennec.
+    Previous build deps will be optimized out via action task."""
+    filter = _get_filter_ship_fennec(
+        fennec_release_type='beta',
+        filtered_for_candidates=target_tasks_promote_fennec_beta(
+            full_task_graph, parameters, graph_config,
+        ),
+        parameters=parameters,
+    )
+    return [l for l, t in full_task_graph.tasks.iteritems() if filter(full_task_graph[l])]
+
+
+@_target_task('ship_fennec_release')
+def target_tasks_ship_fennec_release(full_task_graph, parameters, graph_config):
+    """Select the set of tasks required to ship fennec.
+    Previous build deps will be optimized out via action task."""
+    filter = _get_filter_ship_fennec(
+        fennec_release_type='release',
+        filtered_for_candidates=target_tasks_promote_fennec_release(
+            full_task_graph, parameters, graph_config,
+        ),
+        parameters=parameters,
+    )
     return [l for l, t in full_task_graph.tasks.iteritems() if filter(full_task_graph[l])]
 
 
 @_target_task('pine_tasks')
 def target_tasks_pine(full_task_graph, parameters, graph_config):
     """Bug 1339179 - no mobile automation needed on pine"""
     def filter(task):
         platform = task.attributes.get('build_platform')
--- a/taskcluster/taskgraph/transforms/beetmover_geckoview.py
+++ b/taskcluster/taskgraph/transforms/beetmover_geckoview.py
@@ -19,33 +19,30 @@ from taskgraph.util.schema import resolv
 from taskgraph.util.scriptworker import (generate_beetmover_artifact_map,
                                          generate_beetmover_compressed_upstream_artifacts,
                                          get_worker_type_for_scope)
 from taskgraph.transforms.task import task_description_schema
 from voluptuous import Required, Optional
 
 
 _ARTIFACT_ID_PER_PLATFORM = {
-    'android-aarch64': 'geckoview{update_channel}-arm64-v8a',
-    'android-api-16': 'geckoview{update_channel}-armeabi-v7a',
-    'android-x86': 'geckoview{update_channel}-x86',
-    'android-x86_64': 'geckoview{update_channel}-x86_64',
+    'android-aarch64-nightly': 'geckoview-nightly-arm64-v8a',
+    'android-api-16-nightly': 'geckoview-nightly-armeabi-v7a',
+    'android-x86-nightly': 'geckoview-nightly-x86',
+    'android-x86_64-nightly': 'geckoview-nightly-x86_64',
     'android-aarch64-beta': 'geckoview-beta-arm64-v8a',
     'android-api-16-beta': 'geckoview-beta-armeabi-v7a',
     'android-x86-beta': 'geckoview-beta-x86',
     'android-x86_64-beta': 'geckoview-beta-x86_64',
+    'android-aarch64-release': 'geckoview-arm64-v8a',
+    'android-api-16-release': 'geckoview-armeabi-v7a',
+    'android-x86-release': 'geckoview-x86',
+    'android-x86_64-release': 'geckoview-x86_64',
 }
 
-_MOZ_UPDATE_CHANNEL_PER_BRANCH = {
-    'mozilla-release': '',
-    'mozilla-beta': '-beta',
-    'mozilla-central': '-nightly',
-    'try': '-nightly-try',
-    'maple': '-nightly-maple',
-}
 
 beetmover_description_schema = schema.extend({
     Required('depname', default='build'): basestring,
     Optional('label'): basestring,
     Optional('treeherder'): task_description_schema['treeherder'],
 
     Required('run-on-projects'): task_description_schema['run-on-projects'],
     Required('run-on-hg-branches'): task_description_schema['run-on-hg-branches'],
@@ -172,17 +169,14 @@ def make_task_worker(config, jobs):
         job["worker"] = worker
 
         yield job
 
 
 def craft_release_properties(config, job):
     props = beetmover_craft_release_properties(config, job)
 
-    platform = props['platform']
-    update_channel = _MOZ_UPDATE_CHANNEL_PER_BRANCH.get(
-        props['branch'], '-UNKNOWN_MOZ_UPDATE_CHANNEL'
-    )
-    artifact_id = _ARTIFACT_ID_PER_PLATFORM[platform].format(update_channel=update_channel)
+    platform = job['attributes']['build_platform']
+    artifact_id = _ARTIFACT_ID_PER_PLATFORM[platform]
     props['artifact-id'] = artifact_id
     props['app-name'] = 'geckoview'     # this beetmover job is not about pushing Fennec
 
     return props
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -701,19 +701,21 @@ def set_treeherder_machine_platform(conf
         'win64-asan/opt': 'windows10-64/asan',
         'win64-aarch64/opt': 'windows10-aarch64/opt',
         'win32-pgo/opt': 'windows7-32/pgo',
         'win64-pgo/opt': 'windows10-64/pgo',
         # The build names for Android platforms have partially evolved over the
         # years and need to be translated.
         'android-api-16/debug': 'android-em-4-3-armv7-api16/debug',
         'android-api-16-beta/debug': 'android-em-4-3-armv7-api16-beta/debug',
+        'android-api-16-release/debug': 'android-em-4-3-armv7-api16-release/debug',
         'android-api-16-ccov/debug': 'android-em-4-3-armv7-api16-ccov/debug',
         'android-api-16/opt': 'android-em-4-3-armv7-api16/opt',
         'android-api-16-beta-test/opt': 'android-em-4-3-armv7-api16-beta/opt',
+        'android-api-16-release-test/opt': 'android-em-4-3-armv7-api16-release/opt',
         'android-api-16-pgo/opt': 'android-em-4-3-armv7-api16/pgo',
         'android-x86/opt': 'android-em-4-2-x86/opt',
         'android-api-16-gradle/opt': 'android-api-16-gradle/opt',
     }
     for test in tests:
         # For most desktop platforms, the above table is not used for "regular"
         # builds, so we'll always pick the test platform here.
         # On macOS though, the regular builds are in the table.  This causes a
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_release.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_release.py
@@ -1,5 +1,5 @@
 config = {
     'stage_platform': 'android-aarch64',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-aarch64/beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-aarch64/release',
     'multi_locale_config_platform': 'android',
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta_debug.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_release_debug.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_beta_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_aarch64_release_debug.py
@@ -1,6 +1,6 @@
 config = {
     'stage_platform': 'android-aarch64-debug',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-aarch64/debug-beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-aarch64/debug-release',
     'multi_locale_config_platform': 'android',
     'debug_build': True,
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_release.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_release.py
@@ -1,5 +1,5 @@
 config = {
     'stage_platform': 'android-api-16',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16/beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16/release',
     'multi_locale_config_platform': 'android',
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta_debug.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_release_debug.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_beta_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_release_debug.py
@@ -1,6 +1,6 @@
 config = {
     'stage_platform': 'android-api-16-debug',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16/debug-beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16/debug-release',
     'multi_locale_config_platform': 'android',
     'debug_build': True,
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_release.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_release.py
@@ -1,5 +1,5 @@
 config = {
     'stage_platform': 'android-x86_64',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86_64/beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86_64/release',
     'multi_locale_config_platform': 'android',
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta_debug.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_release_debug.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_beta_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_64_release_debug.py
@@ -1,6 +1,6 @@
 config = {
     'stage_platform': 'android-x86_64-debug',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86_64/debug-beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86_64/debug-release',
     'multi_locale_config_platform': 'android',
     'debug_build': True,
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_release.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_release.py
@@ -1,4 +1,4 @@
 config = {
     'stage_platform': 'android-x86',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/release',
 }
copy from testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta_debug.py
copy to testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_release_debug.py
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_beta_debug.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_x86_release_debug.py
@@ -1,5 +1,5 @@
 config = {
     'stage_platform': 'android-x86-debug',
-    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/debug-beta',
+    'src_mozconfig': 'mobile/android/config/mozconfigs/android-x86/debug-release',
     'debug_build': True,
 }
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -356,36 +356,42 @@ class BuildOptionParser(object):
         'api-16-beta': 'builds/releng_sub_%s_configs/%s_api_16_beta.py',
         'api-16-beta-debug': 'builds/releng_sub_%s_configs/%s_api_16_beta_debug.py',
         'api-16-debug': 'builds/releng_sub_%s_configs/%s_api_16_debug.py',
         'api-16-debug-ccov': 'builds/releng_sub_%s_configs/%s_api_16_debug_ccov.py',
         'api-16-debug-searchfox': 'builds/releng_sub_%s_configs/%s_api_16_debug_searchfox.py',
         'api-16-gradle': 'builds/releng_sub_%s_configs/%s_api_16_gradle.py',
         'api-16-profile-generate': 'builds/releng_sub_%s_configs/%s_api_16_profile_generate.py',
         'api-16-profile-use': 'builds/releng_sub_%s_configs/%s_api_16_profile_use.py',
+        'api-16-release': 'builds/releng_sub_%s_configs/%s_api_16_release.py',
+        'api-16-release-debug': 'builds/releng_sub_%s_configs/%s_api_16_release_debug.py',
         'api-16-without-google-play-services':
             'builds/releng_sub_%s_configs/%s_api_16_without_google_play_services.py',
         'rusttests': 'builds/releng_sub_%s_configs/%s_rusttests.py',
         'rusttests-debug': 'builds/releng_sub_%s_configs/%s_rusttests_debug.py',
         'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
         'x86-beta': 'builds/releng_sub_%s_configs/%s_x86_beta.py',
         'x86-beta-debug': 'builds/releng_sub_%s_configs/%s_x86_beta_debug.py',
         'x86-debug': 'builds/releng_sub_%s_configs/%s_x86_debug.py',
         'x86-fuzzing-debug': 'builds/releng_sub_%s_configs/%s_x86_fuzzing_debug.py',
+        'x86-release': 'builds/releng_sub_%s_configs/%s_x86_release.py',
+        'x86-release-debug': 'builds/releng_sub_%s_configs/%s_x86_release_debug.py',
         'x86_64': 'builds/releng_sub_%s_configs/%s_x86_64.py',
         'x86_64-beta': 'builds/releng_sub_%s_configs/%s_x86_64_beta.py',
         'x86_64-beta-debug': 'builds/releng_sub_%s_configs/%s_x86_64_beta_debug.py',
         'x86_64-debug': 'builds/releng_sub_%s_configs/%s_x86_64_debug.py',
+        'x86_64-release': 'builds/releng_sub_%s_configs/%s_x86_64_release.py',
+        'x86_64-release-debug': 'builds/releng_sub_%s_configs/%s_x86_64_release_debug.py',
         'api-16-partner-sample1': 'builds/releng_sub_%s_configs/%s_api_16_partner_sample1.py',
         'aarch64': 'builds/releng_sub_%s_configs/%s_aarch64.py',
         'aarch64-beta': 'builds/releng_sub_%s_configs/%s_aarch64_beta.py',
         'aarch64-beta-debug': 'builds/releng_sub_%s_configs/%s_aarch64_beta_debug.py',
-        'aarch64-pgo': 'builds/releng_sub_%s_configs/%s_aarch64_pgo.py',
-        'aarch64-beta-pgo': 'builds/releng_sub_%s_configs/%s_aarch64_beta_pgo.py',
         'aarch64-debug': 'builds/releng_sub_%s_configs/%s_aarch64_debug.py',
+        'aarch64-release': 'builds/releng_sub_%s_configs/%s_aarch64_release.py',
+        'aarch64-release-debug': 'builds/releng_sub_%s_configs/%s_aarch64_release_debug.py',
         'android-test': 'builds/releng_sub_%s_configs/%s_test.py',
         'android-test-ccov': 'builds/releng_sub_%s_configs/%s_test_ccov.py',
         'android-checkstyle': 'builds/releng_sub_%s_configs/%s_checkstyle.py',
         'android-api-lint': 'builds/releng_sub_%s_configs/%s_api_lint.py',
         'android-lint': 'builds/releng_sub_%s_configs/%s_lint.py',
         'android-findbugs': 'builds/releng_sub_%s_configs/%s_findbugs.py',
         'android-geckoview-docs': 'builds/releng_sub_%s_configs/%s_geckoview_docs.py',
         'valgrind': 'builds/releng_sub_%s_configs/%s_valgrind.py',