From 8954535e08b6d862812422b1b762caa59300d3a3 Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Mon, 15 Jun 2026 13:54:55 +0700 Subject: [PATCH] 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 --- .github/workflows/android.yml | 11 +++++++---- apps/api/Dockerfile | 1 + apps/web/Dockerfile | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index b51f1b6..65e3894 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -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' diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile index 4b86151..0bb72d8 100644 --- a/apps/api/Dockerfile +++ b/apps/api/Dockerfile @@ -4,6 +4,7 @@ WORKDIR /app COPY package.json bun.lock bunfig.toml tsconfig.base.json ./ COPY apps/api/package.json apps/api/package.json COPY apps/web/package.json apps/web/package.json +COPY apps/tauri/package.json apps/tauri/package.json COPY packages/shared/package.json packages/shared/package.json RUN bun install --production diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index d10c072..445d990 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -5,6 +5,7 @@ COPY package.json bun.lock bunfig.toml tsconfig.base.json ./ COPY packages/shared/package.json packages/shared/package.json COPY apps/web/package.json apps/web/package.json COPY apps/api/package.json apps/api/package.json +COPY apps/tauri/package.json apps/tauri/package.json RUN bun install COPY packages/shared packages/shared