2.8 KiB
Mobile Store Artifacts
The Mobile Store Artifacts workflow builds signed Android and iOS store artifacts from the Vue/Vite web app through Capacitor.
Use the Capacitor project under android/ for the Google Play Store package. The Bubblewrap/TWA files at the repository root are not the path used by mobile:android:bundle.
Triggers
- Manual: run
Mobile Store Artifactsfrom GitHub Actions and optionally provideversion_nameandversion_code. - Tag: push a tag named
mobile-vX.Y.Z; the workflow usesX.Y.Zas the store version name. - Automatic Android Play Store artifact: after the
Automated Testsworkflow completes successfully onmaster, GitHub Actions builds and uploads a signed Android App Bundle from the tested commit.
Required Secrets
Android:
ANDROID_KEYSTORE_BASE64ANDROID_KEYSTORE_PASSWORDANDROID_KEY_ALIASANDROID_KEY_PASSWORD
iOS:
IOS_CERTIFICATE_BASE64IOS_CERTIFICATE_PASSWORDIOS_PROVISION_PROFILE_BASE64IOS_KEYCHAIN_PASSWORDAPPLE_TEAM_ID
Local Checks
Run the native permission validation after changing Capacitor, native manifests, or store metadata:
npm run mobile:permissions:check
Build a local unsigned Android App Bundle for packaging verification:
npm run mobile:android:bundle:unsigned
Build a signed Play Console upload bundle after exporting the Android upload-key variables:
export ANDROID_KEYSTORE_FILE=/path/to/upload-key.jks
export ANDROID_KEYSTORE_PASSWORD=...
export ANDROID_KEY_ALIAS=...
export ANDROID_KEY_PASSWORD=...
npm run mobile:android:bundle
The signed Android bundle is written to:
android/app/build/outputs/bundle/release/app-release.aab
Android artifacts use package id io.truckwash.twa. iOS artifacts use bundle id io.truckwash.app.
The Android project currently targets SDK 36. Google Play requires new apps and updates to target Android 15/API 35 or higher starting August 31, 2025: https://developer.android.com/google/play/requirements/target-sdk
Play Store graphics are generated in the workspace-level playstoregraphics/ folder:
- App icon:
playstoregraphics/universal/app-icon/truck-wash-icon-512.png - Feature graphic:
playstoregraphics/universal/feature-graphic/truck-wash-feature-1024x500.jpg - Phone screenshots:
playstoregraphics/phone/screenshots/ - 7-inch tablet screenshots:
playstoregraphics/tablet-7/screenshots/ - 10-inch tablet screenshots:
playstoregraphics/tablet-10/screenshots/ - Chromebook screenshots:
playstoregraphics/chromebook/screenshots/
The native manifests declare camera and foreground location access for the store binaries. Keep the App Store Connect and Play Console privacy questionnaires aligned with the app's actual camera and location data handling before submitting a release.