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:
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user