diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index ca81939c..45a2d5af 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -1,30 +1,29 @@ name: Eatvio App Android Test -on: [ pull_request ] +on: [pull_request] jobs: build: - runs-on: [ dev-office ] + runs-on: [dev-office] env: extensions: gd flutter_version: "3.24.5" java_version: "21.x" flutter_channel: "stable" - key: "cache-v1" steps: - - uses: "actions/checkout@v3" + - name: Checkout code + 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 + - name: Cache JDK + uses: actions/cache@v3 with: - extensions: ${{ env.extensions }} - key: ${{ env.key }} + path: ~/.sdkman/candidates/java + key: jdk-${{ env.java_version }} - name: Set up JDK uses: actions/setup-java@v3 @@ -32,38 +31,32 @@ jobs: distribution: "zulu" java-version: ${{ env.java_version }} - - name: Manage Android SDK cache + - name: Cache Android SDK uses: actions/cache@v3 with: path: | - /root/Android/Sdk/cmdline-tools/latest/ - /root/Android/Sdk - /root/Android/Sdk/cmdline-tools/latest/bin - /root/Android/Sdk/ - - key: ${{ steps.extcache.outputs.key }} + $HOME/Android/Sdk + key: android-sdk-${{ runner.os }}-${{ hashFiles('**/build.gradle') }} - name: Install Android SDK run: | - apt-get update - 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/ + wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip -O commandlinetools.zip + unzip commandlinetools.zip -d $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 - + yes | $HOME/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --licenses || true - name: Set up Android environment variables run: | 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 "PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin:$HOME/Android/Sdk/platform-tools:$HOME/Android/Sdk/build-tools" >> $GITHUB_ENV echo "ANDROID_HOME=$HOME/Android/Sdk" >> $GITHUB_ENV - - name: Install jq - run: apt-get install -y jq + - name: Cache Flutter + uses: actions/cache@v3 + with: + path: ~/.flutter + key: flutter-${{ env.flutter_channel }}-${{ env.flutter_version }} - id: flutter-action uses: actions/flutter-action@v2 @@ -72,30 +65,29 @@ jobs: flutter-version: ${{ env.flutter_version }} cache: true - - name: Fix dir permissions + - name: Fix directory permissions and run Flutter doctor 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 - name: Get dependencies run: flutter pub get - - name: Native Analyze + - name: Analyze code run: flutter analyze - - name: Test + - name: Run tests run: flutter test - - name: Build apk + - name: Build APK run: flutter build apk - - name: Rename and move 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 - echo "APK build finished $APK_NAME" + echo "APK build finished: $APK_NAME" echo "APK_NAME=$APK_NAME" >> $GITHUB_ENV - name: Upload APK artifact