diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index d4f6f724..c7c530b8 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -2,81 +2,59 @@ name: Eatvio App Android Test on: [ pull_request ] +env: + flutter_version: "3.24.5" + java_version: "21.x" + flutter_channel: "stable" + jobs: build: - runs-on: [ dev-office ] - - env: - extensions: gd - flutter_version: "3.24.5" - java_version: "21.x" - flutter_channel: "stable" - key: "cache-v1" - ANDROID_HOME: /root/Android/Sdk - SDK_CACHE_DIR: /root/Android/Sdk/ + runs-on: [dev-office] steps: - uses: actions/checkout@v3 - - name: Update system - run: apt-get update - - - name: Setup cache environment - id: extcache - uses: https://github.com/shivammathur/cache-extensions@v1 - with: - extensions: ${{ env.extensions }} - key: ${{ env.key }} - - - name: Set up JDK uses: actions/setup-java@v3 with: - distribution: zulu + distribution: "zulu" java-version: ${{ env.java_version }} + id: setup-jdk - - name: Cache Android SDK - uses: actions/cache@v3 - with: - path: ${{ env.SDK_CACHE_DIR }} - key: ${{ steps.extcache.outputs.key }}-android-sdk-${{ env.java_version }}-${{ runner.os }} - restore-keys: | - ${{ steps.extcache.outputs.key }}-android-sdk-* - - - name: Install Android SDK Command Line Tools + - name: Install Android SDK run: | apt-get update - apt-get install -y wget openjdk-11-jdk - wget -qO - https://dl.google.com/android/repository/commandlinetools-linux-latest.zip | \ - unzip -d "$HOME/Android/Sdk/cmdline-tools" - export ANDROID_HOME="${ANDROID_HOME}" - export PATH="$PATH:${ANDROID_HOME}/cmdline-tools/latest/bin" - sdkmanager --licenses + 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 $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_HOME" >> $GITHUB_ENV - echo "PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/30.0.3" >> $GITHUB_ENV # Corrected path + 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 - - name: Set up Flutter + - id: flutter-action uses: actions/flutter-action@v2 with: channel: ${{ env.flutter_channel }} flutter-version: ${{ env.flutter_version }} cache: true - architecture: ${{ runner.os }}-x64 - - - name: Fix dir permissions (Avoids potential issues) + - name: Fix dir permissions run: | - #This is no longer needed if flutter-action@v2 uses appropriate caching - #Remove this step or add specific checks + 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 @@ -85,22 +63,23 @@ 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 with: name: ${{ env.APK_NAME }} - path: ${{ env.APK_NAME }} \ No newline at end of file + path: ${{ env.APK_NAME }}