ADFA-4762: Restore per-ABI assets zip generation for generate_assets workflow#1573
Conversation
…workflow PR #1441 (ADFA-4423) removed createAssetsZip() while extracting the AI plugins, so assembleV8Assets/assembleV7Assets stopped producing app/build/outputs/assets/assets-<abi>.zip and the "Generate Assets Zips and Upload to Google Drive" workflow has failed at the Drive upload step ever since. Debug APKs still need these zips on-device (SplitAssetsInstaller). Restore a trimmed createAssetsZip(arch) - the original repackaging logic minus the llama.aar/D8 handling the installer no longer expects - and wire it back into assembleV8Assets/assembleV7Assets. Entry names match the installer contract in AssetsInstallationHelper.expectedEntries. Co-Authored-By: Claude Fable 5 <[email protected]>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 Walkthrough
WalkthroughGradle now validates required asset inputs, packages them into architecture-specific ZIP files with installer-compatible entry names, and invokes packaging from the V8 and V7 assembly tasks. ChangesABI assets packaging
Sequence Diagram(s)sequenceDiagram
participant GradleBuild
participant createAssetsZip
participant AssetsDirectory
participant AssetsZipOutput
GradleBuild->>createAssetsZip: createAssetsZip(arch)
createAssetsZip->>AssetsDirectory: validate and read required payload files
createAssetsZip->>AssetsZipOutput: write assets-<arch>.zip with mapped entries
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Problem
The "Generate Assets Zips and Upload to Google Drive" workflow (
generate_assets.yml) has failed at the Drive upload step on every run since Jul 7 (curl exit 26: can't openapp/build/outputs/assets/assets-arm64-v8a.zip). PR #1441 (ADFA-4423) removedcreateAssetsZip()while extracting the AI plugins, soassembleV8Assets/assembleV7Assetswere reduced tocreatePluginArtifactsZipand no longer produce the per-ABI zips the workflow uploads.Debug APKs don't bundle assets —
SplitAssetsInstalleropensDownload/assets-<arch>.zipon-device — so QA hasn't been able to get refreshed assets since the task was removed.Fix
Restore a trimmed
createAssetsZip(arch)inapp/build.gradle.kts: the original repackaging loop only, without the llama.aar extraction / D8 dexing /dynamic_libs/llama.aarentry (legitimately removed in #1441 — the installer no longer expects them). Wire it back intoassembleV8Assets/assembleV7AssetsviadoLast, keeping the existingcreatePluginArtifactsZipdependency and not restoring the:llama-impldependencies.Zip entries match the installer contract in
AssetsInstallationHelper.expectedEntries:android-sdk.zip,localMvnRepository.zip,gradle-8.14.3-bin.zip,gradle-api-8.14.3.jar.zip,documentation.db,bootstrap.zip,plugin-artifacts.zip,core.cgt(per-ABI sourcesandroid-sdk-<arch>.zip/bootstrap-<arch>.zipare renamed on entry).No workflow changes needed —
generate_assets.ymlalready runs:app:assembleAssetsand expectsapp/build/outputs/assets/assets-<abi>.zip.Verification
GITHUB_ACTIONS=true ./gradlew :app:assembleAssets(the CI code path): build succeeds, both zips produced.unzip -lon both zips: exactly the 8 expected entries, correct names.spotlessCheckpasses.Jira: ADFA-4762
🤖 Generated with Claude Code