Fix part of #6106: Add build_and_sign.yml workflow for building, signing, and archiving release AABs#6267
Conversation
|
@Sandesh282 this PR is being marked as draft because the PR description should not use 'Fix #' or 'Fix part of #' syntax. Instead use 'Fixes' and 'Fixes part of', per referenced issue(s): #6106. |
|
@adhiamboperes |
Coverage ReportResultsCoverage Analysis: SKIP ⏭️ This PR did not introduce any changes to Kotlin source or test files.
|
APK & AAB differences analysisNote that this is a summarized snapshot. See the CI artifacts for detailed differences. DevExpand to see flavor specificsUniversal APKAPK file size: 19 MiB (old), 19 MiB (new), 3460 bytes (Removed) APK download size (estimated): 18 MiB (old), 18 MiB (new), 4323 bytes (Removed) Method count: 265520 (old), 265374 (new), 146 (Removed) Features: 1 (old), 1 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 7119 (old), 7119 (new), 0 (No change)
Lesson assets: 113 (old), 113 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 19 MiB (old), 19 MiB (new), 3460 bytes (Removed) Configuration hdpiAPK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 49 KiB (old), 49 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 46 KiB (old), 46 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 86 KiB (old), 86 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 57 KiB (old), 57 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 63 KiB (old), 63 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 64 KiB (old), 64 KiB (new), 0 bytes (No change) AlphaExpand to see flavor specificsUniversal APKAPK file size: 11 MiB (old), 11 MiB (new), 284 bytes (Removed) APK download size (estimated): 10 MiB (old), 10 MiB (new), 516 bytes (Removed) Method count: 118637 (old), 118613 (new), 24 (Removed) Features: 1 (old), 1 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 6054 (old), 6054 (new), 0 (No change)
Lesson assets: 114 (old), 114 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 11 MiB (old), 11 MiB (new), 284 bytes (Removed) Configuration hdpiAPK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 45 KiB (old), 45 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 73 KiB (old), 73 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change) BetaExpand to see flavor specificsUniversal APKAPK file size: 11 MiB (old), 11 MiB (new), 268 bytes (Removed) APK download size (estimated): 10 MiB (old), 10 MiB (new), 1328 bytes (Added) Method count: 118641 (old), 118617 (new), 24 (Removed) Features: 1 (old), 1 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 6054 (old), 6054 (new), 0 (No change)
Lesson assets: 114 (old), 114 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 11 MiB (old), 11 MiB (new), 272 bytes (Removed) Configuration hdpiAPK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 45 KiB (old), 45 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 73 KiB (old), 73 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change) GaExpand to see flavor specificsUniversal APKAPK file size: 11 MiB (old), 11 MiB (new), 336 bytes (Removed) APK download size (estimated): 10 MiB (old), 10 MiB (new), 449 bytes (Removed) Method count: 118641 (old), 118617 (new), 24 (Removed) Features: 1 (old), 1 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 6054 (old), 6054 (new), 0 (No change)
Lesson assets: 114 (old), 114 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 11 MiB (old), 11 MiB (new), 340 bytes (Removed) Configuration hdpiAPK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 45 KiB (old), 45 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 73 KiB (old), 73 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change) |
|
@manas-yu, do you have a moment to look at this PR? |
Fixes part of #6106
Explanation
Adds the
build_and_sign.ymlGitHub Actions workflow that allows a release coordinator to build, sign, and archive a release AAB for any flavor (alpha,beta,ga) from the GitHub Actions UI with a single manual trigger.This workflow:
workflow_dispatchinputs:flavor(choice: alpha/beta/ga) andsource_ref(must belatest-alphaor matchrelease-X.Yformat), validated before any build step runsbazel build --compilation_mode=optwith//config:keystore_*Bazel flags: signing and renaming are handled by the_sign_and_rename_aabrule from Fix #5033, #6215, #6217, #6218, #6219, #6220, #6221, #6222, #6223: Prepare for release automation #6265environment: oppia-android-release-envrequiring reviewer approval before any step executesconcurrencywithcancel-in-progress: falseto prevent mid-signing interruptionsIntegration Testing Notes
Tested against a personal GCP project (
sandesh-oppia-release-dev) using a fork. Verified:bazel build --compilation_mode=optcompiles the full app (~27 min on ubuntu-latest)gsutil cpuploads the AAB to the correct GCS path (gs://bucket/VERSION/RCNUM/name.aab)Remaining Work (draft)
oppia-android-release-envGitHub environment with required reviewers (needs repo admin)Essential Checklist