From 57b6e8464fde86623ab5449d140e7d76bb50cfa8 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 11 Feb 2026 10:31:05 +0200 Subject: [PATCH] Apply same Android build changes to bundle-deploy-eas-update workflow The testflight-android profile now produces an AAB, so update buildIfNecessaryAndroid to output build.aab, submit to Google Play, and use bundletool to produce a signed universal APK for the artifact. Co-Authored-By: Claude Opus 4.6 --- .../workflows/bundle-deploy-eas-update.yml | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/.github/workflows/bundle-deploy-eas-update.yml b/.github/workflows/bundle-deploy-eas-update.yml index d7dba722c2..38b5066161 100644 --- a/.github/workflows/bundle-deploy-eas-update.yml +++ b/.github/workflows/bundle-deploy-eas-update.yml @@ -375,7 +375,39 @@ jobs: yarn use-build-number-with-bump eas build -p android --profile testflight-android - --local --output build.apk --non-interactive + --local --output build.aab --non-interactive + + - name: 📚 Get version from package.json + id: get-build-info + run: bash scripts/setGitHubOutput.sh + + - name: 🚀 Submit to Google Play + run: eas submit -p android --profile testflight-android --non-interactive --path build.aab + + - name: 🔧 Setup bundletool + uses: amyu/setup-bundletool@v1 + with: + bundletool-version: "1.17.2" + + - name: 🔑 Decode keystore + run: echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode > keystore.jks + + - name: 📦 Build signed universal APK + run: | + bundletool build-apks \ + --bundle=build.aab \ + --output=universal.apks \ + --mode=universal \ + --ks=keystore.jks \ + --ks-pass=pass:${{ secrets.ANDROID_KEYSTORE_PASSWORD }} \ + --ks-key-alias=${{ secrets.ANDROID_KEY_ALIAS }} \ + --key-pass=pass:${{ secrets.ANDROID_KEY_PASSWORD }} + + - name: 📋 Rename to .zip for extraction + run: mv universal.apks universal.zip + + - name: 📦 Extract universal APK + run: unzip -p universal.zip universal.apk > build.apk - name: ⏰ Get a timestamp id: timestamp