mirror of
git://f0xx.org/android_cast
synced 2026-07-29 03:38:52 +03:00
Fix Docker CI and orchestration deploy reliability for full rebuild flows.
Use JDK 17 and make in the CI image, avoid self-overwriting DB init SQL, and make Gradle/native builds use container-local SDK paths and CMake caches. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -222,7 +222,9 @@ if [[ ! -f "$LIBVPX_A" ]]; then
|
||||
fi
|
||||
|
||||
cp -f "$LIBVPX_A" "$OUT/libvpx.a"
|
||||
cp -f "$OUT/libvpx.a" "$PROJECT_OUT/libvpx.a"
|
||||
if [[ "$OUT" != "$PROJECT_OUT" ]]; then
|
||||
cp -f "$OUT/libvpx.a" "$PROJECT_OUT/libvpx.a"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Built: $PROJECT_OUT/libvpx.a (size $(ls -lah "${PROJECT_OUT}/libvpx.a" | awk '{print $5}'))"
|
||||
|
||||
@@ -42,10 +42,24 @@ fi
|
||||
|
||||
export ANDROIDCAST_ROOT="$ROOT"
|
||||
export ANDROIDCAST_CCACHE="${ANDROIDCAST_CCACHE:-1}"
|
||||
GRADLE_JAVA_OPT=()
|
||||
if [[ -n "${JAVA_HOME:-}" ]]; then
|
||||
GRADLE_JAVA_OPT=(-Dorg.gradle.java.home="${JAVA_HOME}")
|
||||
fi
|
||||
# shellcheck source=android-ndk.sh
|
||||
source "$ROOT/scripts/android-ndk.sh"
|
||||
export ANDROID_NDK_HOME="$(androidcast_find_ndk_root "$ROOT")"
|
||||
export ANDROID_NDK_ROOT="$ANDROID_NDK_HOME"
|
||||
if [[ -n "${ANDROID_SDK_ROOT:-}" ]]; then
|
||||
LOCAL_PROPS="$ROOT/local.properties"
|
||||
LOCAL_PROPS_BACKUP=""
|
||||
if [[ -f "$LOCAL_PROPS" ]]; then
|
||||
LOCAL_PROPS_BACKUP="$(mktemp)"
|
||||
cp -f "$LOCAL_PROPS" "$LOCAL_PROPS_BACKUP"
|
||||
fi
|
||||
trap 'if [[ -n "${LOCAL_PROPS_BACKUP:-}" && -f "${LOCAL_PROPS_BACKUP}" ]]; then cp -f "${LOCAL_PROPS_BACKUP}" "$LOCAL_PROPS"; rm -f "${LOCAL_PROPS_BACKUP}"; else rm -f "$LOCAL_PROPS"; fi' EXIT
|
||||
printf 'sdk.dir=%s\n' "${ANDROID_SDK_ROOT//\\/\\\\}" > "$LOCAL_PROPS"
|
||||
fi
|
||||
|
||||
if [[ "$RUN_NATIVE" == "1" && "$RUN_APK" == "1" ]]; then
|
||||
echo "==> Phase: native codecs"
|
||||
@@ -59,16 +73,19 @@ else
|
||||
echo "==> Phase: native codecs (skipped)"
|
||||
fi
|
||||
|
||||
# Avoid host-specific CMake cache paths when running in Docker.
|
||||
rm -rf "$ROOT/app/.cxx" "$ROOT/app/build/.cxx" "$ROOT/app/build/intermediates/cxx"
|
||||
|
||||
if [[ "$RUN_APK" == "1" ]]; then
|
||||
echo "==> Phase: gradle ${GRADLE_TASK}"
|
||||
if [[ "$RUN_UNIT_TESTS" == "1" ]]; then
|
||||
./gradlew --no-daemon clean "${GRADLE_TASK}" testDebugUnitTest
|
||||
./gradlew --no-daemon "${GRADLE_JAVA_OPT[@]}" clean "${GRADLE_TASK}" testDebugUnitTest
|
||||
else
|
||||
./gradlew --no-daemon clean "${GRADLE_TASK}"
|
||||
./gradlew --no-daemon "${GRADLE_JAVA_OPT[@]}" clean "${GRADLE_TASK}"
|
||||
fi
|
||||
else
|
||||
echo "==> Phase: gradle tests-only"
|
||||
./gradlew --no-daemon testDebugUnitTest
|
||||
./gradlew --no-daemon "${GRADLE_JAVA_OPT[@]}" testDebugUnitTest
|
||||
fi
|
||||
|
||||
APK=""
|
||||
|
||||
Reference in New Issue
Block a user