fix(ci): add tauri package.json to Dockerfiles and fix Android NDK/build issues

Build and Deploy: workspace has 4 members (api/web/shared/tauri) but
Dockerfiles only copied 3 package.json files. Missing tauri workspace
member caused bun install --production to fail with frozen lockfile
error.

Build Android APK:
- Remove explicit NDK 28 install (runner has NDK 29 pre-installed, dual
  NDK presence broke ANDROID_NDK_HOME resolution)
- Auto-pin NDK version from runner's SDK
- rm -rf gen/android before tauri android init (stale cache recovery)
- Remove gen/android/.gradle from Gradle cache (causes stale state)
- Use --apk flag for faster APK-only build

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-06-15 13:54:55 +07:00
co-authored by Claude
parent b93be6c6cb
commit 8954535e08
3 changed files with 9 additions and 4 deletions
+7 -4
View File
@@ -64,7 +64,9 @@ jobs:
- name: Setup Android SDK
uses: android-actions/setup-android@v3
with:
packages: 'platforms;android-36 build-tools;36.0.0 ndk;28.0.13004108'
packages: 'platforms;android-36 build-tools;36.0.0'
- name: Pin NDK version
run: echo "ANDROID_NDK_HOME=${ANDROID_SDK_ROOT}/ndk/$(ls ${ANDROID_SDK_ROOT}/ndk | sort -V | head -1)" >> $GITHUB_ENV
- name: Setup Rust with Android targets
uses: dtolnay/rust-toolchain@stable
@@ -92,7 +94,6 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
apps/tauri/gen/android/.gradle
key: ${{ runner.os }}-gradle-android-${{ hashFiles('apps/tauri/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-gradle-android-
@@ -131,7 +132,9 @@ jobs:
JAVA_HOME: ${{ env.JAVA_HOME_21_X64 }}
ANDROID_HOME: ${{ env.ANDROID_SDK_ROOT }}
NDK_HOME: ${{ env.ANDROID_NDK_HOME }}
run: bun tauri android init
run: |
rm -rf gen/android
bun tauri android init
- name: Build Tauri Android APK
working-directory: apps/tauri
@@ -139,7 +142,7 @@ jobs:
JAVA_HOME: ${{ env.JAVA_HOME_21_X64 }}
ANDROID_HOME: ${{ env.ANDROID_SDK_ROOT }}
NDK_HOME: ${{ env.ANDROID_NDK_HOME }}
run: bun tauri android build
run: bun tauri android build --apk
- name: Decode keystore
if: github.event_name != 'pull_request'