Добавлено кэширование Android SDK и Gradle wrapper для ускорения сборки

This commit is contained in:
2026-03-22 17:01:27 +05:00
parent 30fbc41245
commit 69c0c377d1

View File

@@ -41,6 +41,12 @@ jobs:
export JAVA_HOME="$JAVA_DIR" export JAVA_HOME="$JAVA_DIR"
echo "JAVA_HOME set to $JAVA_HOME" echo "JAVA_HOME set to $JAVA_HOME"
- name: Cache Android SDK
uses: actions/cache@v3
with:
path: ~/android-sdk
key: android-sdk-34
- name: Install Android SDK - name: Install Android SDK
run: | run: |
export ANDROID_HOME="$HOME/android-sdk" export ANDROID_HOME="$HOME/android-sdk"
@@ -65,6 +71,14 @@ jobs:
echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV
echo "ANDROID_SDK_ROOT=$ANDROID_HOME" >> $GITHUB_ENV echo "ANDROID_SDK_ROOT=$ANDROID_HOME" >> $GITHUB_ENV
- name: Cache Gradle wrapper
uses: actions/cache@v3
with:
path: |
~/.gradle/wrapper/dists
~/.gradle/caches
key: gradle-wrapper-8.14.3
- name: Restore debug keystore - name: Restore debug keystore
run: | run: |
mkdir -p ~/.android mkdir -p ~/.android
@@ -76,10 +90,28 @@ jobs:
- name: Setup Gradle wrapper - name: Setup Gradle wrapper
run: | run: |
chmod +x ./gradlew chmod +x ./gradlew
./gradlew --version GRADLE_VERSION="8.14.3"
GRADLE_DIST_DIR="$HOME/.gradle/wrapper/dists/gradle-${GRADLE_VERSION}-bin"
# Проверяем — если Gradle уже распакован в кэше, пропускаем скачивание
if find "$GRADLE_DIST_DIR" -name "gradle-${GRADLE_VERSION}" -type d 2>/dev/null | grep -q .; then
echo "Gradle ${GRADLE_VERSION} found in cache, skipping download"
else
echo "Gradle not found in cache, downloading..."
mkdir -p /opt/gradle-download
curl -fL --retry 3 --retry-delay 5 \
"https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
-o "/opt/gradle-download/gradle-${GRADLE_VERSION}-bin.zip"
mkdir -p /opt/gradle
unzip -q "/opt/gradle-download/gradle-${GRADLE_VERSION}-bin.zip" -d /opt/gradle
export PATH="/opt/gradle/gradle-${GRADLE_VERSION}/bin:$PATH"
echo "PATH=/opt/gradle/gradle-${GRADLE_VERSION}/bin:$PATH" >> $GITHUB_ENV
fi
./gradlew --no-daemon --version
- name: Build Release APK - name: Build Release APK
run: ./gradlew assembleRelease run: ./gradlew --no-daemon assembleRelease
- name: Check if APK exists - name: Check if APK exists
run: | run: |