diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml index 2c0803f04..01d7ffa66 100755 --- a/.forgejo/workflows/build_release.yml +++ b/.forgejo/workflows/build_release.yml @@ -96,13 +96,33 @@ jobs: shell: bash run: | set -euo pipefail - if [ -d /opt/android-sdk-linux ]; then - export ANDROID_HOME=/opt/android-sdk-linux - export ANDROID_SDK_ROOT=/opt/android-sdk-linux - echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV" - echo "ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" >> "$GITHUB_ENV" - printf 'sdk.dir=%s\n' "$ANDROID_HOME" > local.properties + sdk_candidates=( + "${ANDROID_HOME:-}" + "${ANDROID_SDK_ROOT:-}" + "/opt/android-sdk-linux" + "/home/yuna/Android/Sdk" + "/home/runner/Android/Sdk" + "/root/Android/Sdk" + ) + sdk_dir="" + for candidate in "${sdk_candidates[@]}"; do + if [ -n "$candidate" ] && [ -d "$candidate/platforms" ] && [ -d "$candidate/build-tools" ]; then + sdk_dir="$candidate" + break + fi + done + if [ -z "$sdk_dir" ]; then + echo "Android SDK not found. Checked:" + for candidate in "${sdk_candidates[@]}"; do + [ -n "$candidate" ] && echo " - $candidate" + done + exit 1 fi + export ANDROID_HOME="$sdk_dir" + export ANDROID_SDK_ROOT="$sdk_dir" + echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV" + echo "ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" >> "$GITHUB_ENV" + printf 'sdk.dir=%s\n' "$ANDROID_HOME" > local.properties chmod +x ./gradlew export GRADLE_USER_HOME="${PWD}/.gradle-ci" ./gradlew --no-daemon --max-workers=1 \