Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

Commit

Permalink
Bug 1831168 - upload focus/klar APKs to archive.mozilla.org
Browse files Browse the repository at this point in the history
  • Loading branch information
jcristau committed May 4, 2023
1 parent 0b53789 commit d904a0e
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 27 deletions.
12 changes: 5 additions & 7 deletions docs/shared/android/automation.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,22 +83,20 @@ Signing requires access to Mozilla's signing certificates. In addition to that a
* [Chain of Trust](http://scriptworker.readthedocs.io/en/latest/chain_of_trust.html)
* [pushapkscript](https://github.com/mozilla-releng/pushapkscript)

### 📓 Planned: Upload to archive.mozilla.org
### ✅ Active: Upload to archive.mozilla.org

We want to publish every release on archive.mozilla.org. Currently we upload those builds manually. In automation this will be done by the beetmover_scriptworker.
Every release is published on archive.mozilla.org. Nightly builds go to https://archive.mozilla.org/pub/fenix/nightly/ and https://archive.mozilla.org/pub/focus/nightly/.
Release builds are uploaded to https://archive.mozilla.org/pub/fenix/releases/ and https://archive.mozilla.org/pub/focus/releases/.

Before we can automate this task we need to automate signing builds and have a chain of trust.

* [beetmover script](https://github.com/mozilla-releng/beetmoverscript/)
* [beetmover configuration for Fennec](https://github.com/mozilla-releng/beetmoverscript/blob/master/beetmoverscript/templates/fennec_nightly.yml)
* [beetmover script](https://github.com/mozilla-releng/scriptworker-scripts/tree/master/beetmoverscript/)

### ✅ Active: Publish

Finally we want to publish a release build on Google Play

Like other scriptworker instances, we can use the existing instance. The current implementation is fennec-specific. We have to add support there too. pushapk_scriptworker mainly delegates checks and uploads to mozapkpublisher. That tool needs Focus support. Working on mozapkpublisher doesn't require any Taskcluster knowledge.

* [pushapkscript](https://github.com/mozilla-releng/pushapkscript)
* [pushapkscript](https://github.com/mozilla-releng/scriptworker-scripts/tree/master/pushapkscript/)
* [mozapkpublisher](https://github.com/mozilla-releng/mozapkpublisher)

## Nightly (Alpha) pipeline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,22 @@ s3_bucket_paths:
by-build-type:
fenix-nightly:
- pub/fenix/nightly
default:
fenix-(release|beta):
- pub/fenix/releases
focus-nightly:
- pub/focus/nightly
focus-beta|focus-release|klar-release:
- pub/focus/releases
default_locales:
- multi
tasktype_map:
signing-apk: signing
platform_names:
path_platform: android
tools_platform: android
filename_platform: android
product:
by-platform:
focus.*: focus
fenix.*: fenix
klar.*: klar

default: &default
from:
Expand All @@ -64,24 +70,24 @@ mapping:
target.arm64-v8a.apk:
<<: *default
description: "Android package for arm64-v8a"
pretty_name: fenix-${version}.${locale}.android-arm64-v8a.apk
pretty_name: ${product}-${version}.${locale}.android-arm64-v8a.apk
destinations:
- ${folder_prefix}fenix-${version}-android-arm64-v8a
- ${folder_prefix}${product}-${version}-android-arm64-v8a
target.armeabi-v7a.apk:
<<: *default
description: "Android package for armeabi-v7a"
pretty_name: fenix-${version}.${locale}.android-armeabi-v7a.apk
pretty_name: ${product}-${version}.${locale}.android-armeabi-v7a.apk
destinations:
- ${folder_prefix}fenix-${version}-android-armeabi-v7a
- ${folder_prefix}${product}-${version}-android-armeabi-v7a
target.x86.apk:
<<: *default
description: "Android package for x86"
pretty_name: fenix-${version}.${locale}.android-x86.apk
pretty_name: ${product}-${version}.${locale}.android-x86.apk
destinations:
- ${folder_prefix}fenix-${version}-android-x86
- ${folder_prefix}${product}-${version}-android-x86
target.x86_64.apk:
<<: *default
description: "Android package for x86_64"
pretty_name: fenix-${version}.${locale}.android-x86_64.apk
pretty_name: ${product}-${version}.${locale}.android-x86_64.apk
destinations:
- ${folder_prefix}fenix-${version}-android-x86_64
- ${folder_prefix}${product}-${version}-android-x86_64
2 changes: 1 addition & 1 deletion taskcluster/android_taskgraph/transforms/multi_dep.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def build_upstream_artifacts(config, tasks):
"upstream-artifacts": [],
}
if "artifact_map" in task["attributes"]:
# Beetmover-fenix tasks use declarative artifacts.
# Beetmover-apk tasks use declarative artifacts.
locale = task["attributes"].get("locale")
build_type = task["attributes"]["build-type"]
worker_definition[
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ transforms:
- android_taskgraph.transforms.multi_dep:transforms
- android_taskgraph.transforms.clean_multi_dep:transforms
- android_taskgraph.transforms.treeherder:transforms
- android_taskgraph.transforms.beetmover_fenix:transforms
- android_taskgraph.transforms.beetmover_apk:transforms
- taskgraph.transforms.task:transforms

kind-dependencies:
Expand All @@ -22,19 +22,24 @@ only-for-build-types:
- fenix-release
- fenix-beta
- fenix-nightly
- focus-release
- klar-release
- focus-beta
- focus-nightly

task-template:
attributes:
# TODO: Support focus
artifact_map: taskcluster/android_taskgraph/manifests/fenix_releases.yml
artifact_map: taskcluster/android_taskgraph/manifests/apk_releases.yml
shipping_phase: ship
treeherder:
job-symbol: BM
job-symbol:
by-build-type:
klar.*: BM-klar
default: BM
bucket-scope:
by-level:
'3':
by-build-type:
'fenix-nightly': "project:mobile:firefox-android:releng:beetmover:bucket:nightly"
(fenix-release|fenix-beta): "project:mobile:firefox-android:releng:beetmover:bucket:release"
default: "project:mobile:firefox-android:releng:beetmover:bucket:dep"
.*-nightly: "project:mobile:firefox-android:releng:beetmover:bucket:nightly"
.*-(release|beta): "project:mobile:firefox-android:releng:beetmover:bucket:release"
default: "project:mobile:firefox-android:releng:beetmover:bucket:dep"

0 comments on commit d904a0e

Please sign in to comment.