From 8965e81aacd8f2a4102e3d91c2e86d243a0b4d97 Mon Sep 17 00:00:00 2001 From: klockky <108465095+klockky@users.noreply.github.com> Date: Sat, 11 Apr 2026 22:46:34 +0300 Subject: [PATCH] Add GitHub Actions workflow for Android build This workflow builds the Android application, including generating APKs and an AAB for release. --- .github/workflows/build-android.yml | 91 +++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 .github/workflows/build-android.yml diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml new file mode 100644 index 0000000..380cd38 --- /dev/null +++ b/.github/workflows/build-android.yml @@ -0,0 +1,91 @@ +name: Build Android + +on: + workflow_dispatch: + push: + branches: + - main + - master + paths: + - 'lib/**' + - 'android/**' + - 'pubspec.yaml' + - '.github/workflows/build-android.yml' + pull_request: + paths: + - 'lib/**' + - 'android/**' + - 'pubspec.yaml' + - '.github/workflows/build-android.yml' + +jobs: + build-android: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - uses: actions/checkout@v3 + + - name: Setup Java + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.41.5' + channel: 'stable' + + - name: Get dependencies + run: flutter pub get + + - name: Configure Gradle + run: | + mkdir -p ~/.gradle + echo "org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m" >> ~/.gradle/gradle.properties + echo "kotlin.daemon.jvmargs=-Xmx1536m" >> ~/.gradle/gradle.properties + + - name: Build Universal APK + run: flutter build apk --release + + - name: Build Split APKs + run: flutter build apk --release --split-per-abi + + - name: Upload Universal APK + uses: actions/upload-artifact@v4 + with: + name: komet-android-universal + path: build/app/outputs/flutter-apk/app-release.apk + retention-days: 30 + + - name: Upload arm64-v8a APK + uses: actions/upload-artifact@v4 + with: + name: komet-android-arm64-v8a + path: build/app/outputs/flutter-apk/app-arm64-v8a-release.apk + retention-days: 30 + + - name: Upload armeabi-v7a APK + uses: actions/upload-artifact@v4 + with: + name: komet-android-armeabi-v7a + path: build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk + retention-days: 30 + + - name: Upload x86_64 APK + uses: actions/upload-artifact@v4 + with: + name: komet-android-x86_64 + path: build/app/outputs/flutter-apk/app-x86_64-release.apk + retention-days: 30 + + - name: Build App Bundle + run: flutter build appbundle --release + + - name: Upload App Bundle artifact + uses: actions/upload-artifact@v4 + with: + name: komet-android-aab + path: build/app/outputs/bundle/release/app-release.aab + retention-days: 30