From 57065bd3d58a2c3f65eaa6e29e5c7ea98c628bcd Mon Sep 17 00:00:00 2001 From: mso7nueh Date: Mon, 18 Nov 2024 15:45:38 +0300 Subject: [PATCH] fix: try2 --- .gitea/workflows/test.yml | 85 +++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 49 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 93e76b48..598dffb5 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -6,91 +6,76 @@ env: flutter_version: "3.24.5" java_version: "21.x" flutter_channel: "stable" - ANDROID_SDK_ROOT: /root/Android/Sdk # Define this consistently - ANDROID_HOME: ${{ env.ANDROID_SDK_ROOT }} # Link ANDROID_HOME to ANDROID_SDK_ROOT - CACHE_KEY: ${{ runner.os }}-jdk-${{ env.java_version }}-flutter-${{ env.flutter_version }} jobs: build: - runs-on: [ dev-office ] + runs-on: [dev-office] steps: - uses: actions/checkout@v3 + # Кэширование JDK - name: Cache JDK uses: actions/cache@v3 with: - path: ${{ env.JDK_HOME }} # You'll need to define JDK_HOME in a subsequent step - key: ${{ env.CACHE_KEY }}-jdk - restore-keys: | - ${{ env.CACHE_KEY }}-jdk- + path: ~/.cache/zulu + key: ${{ runner.os }}-zulu-${{ hashFiles('**/pom.xml') }} # Или любой файл для определения изменения - name: Set up JDK uses: actions/setup-java@v3 with: distribution: "zulu" java-version: ${{ env.java_version }} - id: setup-jdk - # Set the JDK_HOME after the JDK installation. - # This is necessary for caching. - run: | - echo "JDK_HOME=$(echo "${{ steps.setup-jdk.outputs.java-home }}")" >> $GITHUB_ENV + id: setup-jdk - - - name: Cache Android SDK, NDK & CMake + # Кэширование Android SDK + - name: Cache Android SDK uses: actions/cache@v3 with: - path: ${{ env.ANDROID_SDK_ROOT }} - key: ${{ env.CACHE_KEY }}-android - restore-keys: | - ${{ env.CACHE_KEY }}-android- + path: $HOME/Android/Sdk + key: ${{ runner.os }}-android-sdk-${{ hashFiles('**/build.gradle') }} # Укажите файл для хеширования - - - name: Install Android SDK, NDK and CMake (if needed) - if: steps.cache-android.outputs.cache-hit != 'true' + - name: Install Android SDK run: | apt-get update - apt-get install -y wget zip - wget https://dl.google.com/android/repository/commandlinetools-linux-latest.zip -O commandlinetools.zip + apt-get install -y openjdk-11-jdk wget + wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip -O commandlinetools.zip unzip commandlinetools.zip - mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools/latest" - mv cmdline-tools/* "$ANDROID_SDK_ROOT/cmdline-tools/latest/" - yes | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses 2>/dev/null || true - # Install NDK and CMake if you need them. Add the commands here (example) - # yes | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" "ndk;cmake" 2>/dev/null || true - + mkdir -p $HOME/Android/Sdk/cmdline-tools/latest + mv cmdline-tools/* $HOME/Android/Sdk/cmdline-tools/latest/ + export ANDROID_SDK_ROOT=$HOME/Android/Sdk + export PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin + yes | sdkmanager --licenses 2>/dev/null || true - name: Set up Android environment variables run: | - echo "ANDROID_SDK_ROOT=${{ env.ANDROID_SDK_ROOT }}" >> $GITHUB_ENV - echo "PATH=$PATH:${{ env.ANDROID_SDK_ROOT }}/cmdline-tools/latest/bin:${{ env.ANDROID_SDK_ROOT }}/platform-tools:${{ env.ANDROID_SDK_ROOT }}/build-tools/30.0.3" >> $GITHUB_ENV - echo "ANDROID_HOME=${{ env.ANDROID_HOME }}" >> $GITHUB_ENV - + echo "ANDROID_SDK_ROOT=$HOME/Android/Sdk" >> $GITHUB_ENV + echo "PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin:$HOME/Android/Sdk/platform-tools:$HOME/Android/Sdk/build-tools/30.0.3" >> $GITHUB_ENV + echo "ANDROID_HOME=$HOME/Android/Sdk" >> $GITHUB_ENV - name: Install jq - run: apt-get install -y jq + run: | + apt-get install -y jq + # Кэширование Flutter SDK - name: Cache Flutter uses: actions/cache@v3 with: - path: ~/.flutter - key: ${{ env.CACHE_KEY }}-flutter - restore-keys: | - ${{ env.CACHE_KEY }}-flutter- + path: ~/.pub-cache + key: ${{ runner.os }}-flutter-${{ env.flutter_version }}-${{ hashFiles('**/pubspec.yaml') }} # Укажите файл для хеширования - - - name: Set up Flutter + - id: flutter-action uses: actions/flutter-action@v2 with: channel: ${{ env.flutter_channel }} flutter-version: ${{ env.flutter_version }} - cache: true # This is redundant because we use actions/cache above + cache: true - - - name: Fix dir permissions (Often unnecessary with actions/flutter-action) + - name: Fix dir permissions run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/${{ env.flutter_channel }}-${{ env.flutter_version }}-${{ steps.flutter-action.outputs.ARCHITECTURE }} flutter config --android-sdk="$ANDROID_HOME" - flutter doctor -v + flutter doctor -v - name: Get dependencies run: flutter pub get @@ -99,18 +84,20 @@ jobs: run: flutter analyze - name: Test - run: flutter test + run: | + flutter test - name: Build apk - run: flutter build apk --split-per-abi + run: | + flutter build apk - name: Rename and move apk run: | TIMESTAMP=$(date +'%Y-%m-%d-%H-%M') APK_NAME="eatvio_app_${TIMESTAMP}.apk" - mv build/app/outputs/flutter-apk/app-release.apk "$APK_NAME" + mv build/app/outputs/flutter-apk/app-release.apk $APK_NAME echo "APK build finished $APK_NAME" - echo "APK_NAME=$APK_NAME" >> $GITHUB_ENV + echo "APK_NAME=$APK_NAME" >> $GITHUB_ENV - name: Upload APK artifact uses: actions/upload-artifact@v3