fix(ci): use template-expanded paths in run scripts to bypass Docker ENV
Android Build / build-apk (push) Failing after 3m6s
Build and Deploy / build-and-push (push) Successful in 31s

Replace shell variable $ANDROID_HOME references in run blocks with
${{ env.ANDROID_SDK }} template expressions. Gitea runner v1 may not
override Docker-image-baked ENV vars via docker exec; template expansion
happens at workflow compilation time, so the literal path is hardcoded
into the script before the shell runs it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-05-14 11:14:29 -07:00
parent 90959728b1
commit eba1f66b45
+14 -12
View File
@@ -12,8 +12,7 @@ on:
- '**.md'
env:
ANDROID_HOME: /opt/android-sdk
ANDROID_NDK_HOME: /opt/android-sdk/ndk/25.2.9519653
ANDROID_SDK: /opt/android-sdk
NDK_VERSION: "25.2.9519653"
BUILD_TOOLS_VERSION: "34.0.0"
@@ -40,25 +39,25 @@ jobs:
uses: actions/cache@v4
id: sdk-cache
with:
path: ${{ env.ANDROID_HOME }}
path: ${{ env.ANDROID_SDK }}
key: v2-android-sdk-ndk${{ env.NDK_VERSION }}-bt${{ env.BUILD_TOOLS_VERSION }}
- name: Install Android SDK + NDK
if: steps.sdk-cache.outputs.cache-hit != 'true'
run: |
sudo mkdir -p "$ANDROID_HOME/cmdline-tools"
sudo mkdir -p ${{ env.ANDROID_SDK }}/cmdline-tools
curl -sL \
"https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" \
-o /tmp/cmdtools.zip
unzip -q /tmp/cmdtools.zip -d /tmp/cmdtools
sudo mv /tmp/cmdtools/cmdline-tools "$ANDROID_HOME/cmdline-tools/latest"
yes | sudo "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" \
--sdk_root="$ANDROID_HOME" --licenses > /dev/null 2>&1 || true
sudo "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" \
--sdk_root="$ANDROID_HOME" \
"build-tools;$BUILD_TOOLS_VERSION" \
sudo mv /tmp/cmdtools/cmdline-tools ${{ env.ANDROID_SDK }}/cmdline-tools/latest
yes | sudo ${{ env.ANDROID_SDK }}/cmdline-tools/latest/bin/sdkmanager \
--sdk_root=${{ env.ANDROID_SDK }} --licenses > /dev/null 2>&1 || true
sudo ${{ env.ANDROID_SDK }}/cmdline-tools/latest/bin/sdkmanager \
--sdk_root=${{ env.ANDROID_SDK }} \
"build-tools;${{ env.BUILD_TOOLS_VERSION }}" \
"platforms;android-34" \
"ndk;$NDK_VERSION"
"ndk;${{ env.NDK_VERSION }}"
# ── Rust toolchain ─────────────────────────────────────────────────
- name: Install Rust stable
@@ -105,7 +104,10 @@ jobs:
run: cargo install cargo-apk --locked
- name: Build debug APK
run: cargo apk build --package solitaire_app --lib
run: |
export ANDROID_HOME=${{ env.ANDROID_SDK }}
export ANDROID_NDK_HOME=${{ env.ANDROID_SDK }}/ndk/${{ env.NDK_VERSION }}
cargo apk build --package solitaire_app --lib
# ── Artifact ───────────────────────────────────────────────────────
- name: Upload APK