android: publish nightly builds for aarch64 (#33435)

* android: publish nightly builds for aarch64

Publish the aarch64 apk and aar packages to both Github Releases
and S3 so that it can be linked from servo.org.

The focus is on getting a working version of the APK on the homepage,
so few issues are resolved with temporary solutions:
1) We publish the "release" profile instead of "production" since the
   latter will need changes in the gradle configuration (the changes
   required was previously blocked on #32720 which is now closed).
2) The scheme for the version code is simple and doesn't consider
   other factors such as API level and product variants discussed in the
   Android docs (https://developer.android.com/google/play/publishing/multiple-apks#VersionCodes)
   This should be fine for now as we don't publish to any store yet.

The change also makes it so that the 'Release nightly' workflow will
endup building all 4 variants for the Android target, but only aarch64
is uploaded. This is because GH Actions doesn't have a good way to skip
a specific job in a matrix and the additionally code complexity needed
to acheive it (either generating a JSON dynamically in a new job and using
`fromJSON` in the matrix definition or skipping each individual step
based on matrix.target and `inputs.upload`) didn't seem worth the cost
saved (this is executed only once a day).

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* android: add attestation for nightly build artifacts

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This commit is contained in:
Mukilan Thiyagarajan 2024-09-16 17:15:04 +05:30 committed by GitHub
parent 5b6a9110c7
commit ea109d5490
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 84 additions and 14 deletions

View file

@ -42,8 +42,8 @@ from servo.util import delete, get_target_dir
PACKAGES = {
'android': [
'android/aarch64-linux-android/production/servoapp.apk',
'android/aarch64-linux-android/production/servoview.aar',
'android/aarch64-linux-android/release/servoapp.apk',
'android/aarch64-linux-android/release/servoview.aar',
],
'linux': [
'production/servo-tech-demo.tar.gz',