diff --git a/.gitea/workflows/build_app.yml b/.gitea/workflows/build_app.yml index cf98c9b..aa51819 100644 --- a/.gitea/workflows/build_app.yml +++ b/.gitea/workflows/build_app.yml @@ -1,49 +1,57 @@ -name: Build APK +name: Build APK and Upload Artifacts on: push: branches: - master - paths: - - '**/*' + messages: + - /build/ # Condition sur le message de commit contenant "build" jobs: - build: - runs-on: ubuntu-20.04 - env: - ANDROID_SDK_ROOT: "/root/Android/Sdk" - ANDROID_HOME: "/root/Android/Sdk" - GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" + build-apk: + runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout Repository + uses: actions/checkout@v3 - - name: Install dependencies + - name: Set up Java and Android SDK run: | sudo apt-get update -qq && sudo apt-get install -qq -y openjdk-17-jdk wget unzip wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O android-commandlinetools.zip - sudo mkdir -p $ANDROID_SDK_ROOT/cmdline-tools - sudo unzip android-commandlinetools.zip -d $ANDROID_SDK_ROOT/cmdline-tools - sudo mv $ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/tools - sudo mkdir -p $ANDROID_SDK_ROOT/licenses - yes | sudo $ANDROID_SDK_ROOT/cmdline-tools/tools/bin/sdkmanager --licenses || true - sudo $ANDROID_SDK_ROOT/cmdline-tools/tools/bin/sdkmanager "platforms;android-30" "build-tools;30.0.3" "platforms;android-34" "build-tools;34.0.0" + mkdir -p $HOME/Android/Sdk/cmdline-tools + unzip android-commandlinetools.zip -d $HOME/Android/Sdk/cmdline-tools + mv $HOME/Android/Sdk/cmdline-tools/cmdline-tools $HOME/Android/Sdk/cmdline-tools/tools + mkdir -p $HOME/Android/Sdk/licenses + yes | $HOME/Android/Sdk/cmdline-tools/tools/bin/sdkmanager --licenses || true + $HOME/Android/Sdk/cmdline-tools/tools/bin/sdkmanager "platforms;android-30" "build-tools;30.0.3" "platforms;android-34" "build-tools;34.0.0" - - name: Download dependencies + - name: Set up Gradle run: | - echo "Téléchargement des dépendances..." sed -i 's/\r$//' gradlew chmod +x ./gradlew ./gradlew dependencies - name: Build APK run: | - echo "Construction de l'APK..." ./gradlew assembleDebug # ou assembleRelease pour un APK de production - - name: Upload APK - uses: actions/upload-artifact@v2 + - name: Verify APK existence and non-zero size + run: | + APK_FILE="app/build/outputs/apk/debug/app-debug.apk" + if [ ! -f "$APK_FILE" ]; then + echo "Erreur : L'APK n'a pas été généré !" + exit 1 + fi + APK_SIZE=$(stat -c %s "$APK_FILE") + if [ "$APK_SIZE" -eq 0 ]; then + echo "Erreur : L'APK est vide !" + exit 1 + fi + echo "APK est prêt à être uploadé. Taille : $APK_SIZE octets" + + - name: Upload APK artifact + uses: actions/upload-artifact@v3 with: - name: apk - path: app/build/outputs/apk/debug/*.apk + name: app-debug-apk + path: app/build/outputs/apk/debug/app-debug.apk