diff --git a/.github/workflows/android_build.yml b/.github/workflows/android_build.yml index 64566233..8cec0a90 100644 --- a/.github/workflows/android_build.yml +++ b/.github/workflows/android_build.yml @@ -74,7 +74,6 @@ jobs: cd .. mv khelo/build/app/outputs/apk/release/Khelo*.apk . - mv khelo/build/app/outputs/bundle/release/app-release.aab . - name: Upload APK Artifact uses: actions/upload-artifact@v4 @@ -83,9 +82,77 @@ jobs: path: Khelo*.apk retention-days: 2 - - name: Upload AAB Artifact - uses: actions/upload-artifact@v4 - with: - name: Khelo AAB - path: app-release.aab - retention-days: 2 + android_build_aab: + runs-on: ubuntu-latest + needs: android_build_apk + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK 1.8 + uses: actions/setup-java@v4 + with: + distribution: 'oracle' + java-version: 17.0.6 + cache: 'gradle' + + - name: Set up Flutter SDK + uses: subosito/flutter-action@v2 + with: + channel: stable + cache: true + + - name: Set up ruby env + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.3.0 + bundler-cache: true + + - name: Retrieve the secret and decode it to file + env: + FIREBASE_OPTIONS_BASE64: ${{ secrets.FIREBASE_OPTIONS_BASE64 }} + GOOGLE_SERVICES_JSON_BASE64: ${{ secrets.GOOGLE_SERVICES_JSON_BASE64 }} + + run: | + cd khelo + echo $FIREBASE_OPTIONS_BASE64 | base64 -di > lib/firebase_options.dart + echo $GOOGLE_SERVICES_JSON_BASE64 | base64 -di > android/app/google-services.json + + - name: Install Dependencies + run: | + cd data && flutter clean && flutter pub get + cd ../style && flutter clean && flutter pub get + cd ../khelo && flutter clean && flutter pub get + cd .. + + - name: Generate build + env: + APKSIGN_KEYSTORE_BASE64: ${{ secrets.APKSIGN_KEYSTORE_BASE64 }} + APKSIGN_KEYSTORE_PASS: ${{ secrets.APKSIGN_KEYSTORE_PASS }} + APKSIGN_KEY_ALIAS: ${{ secrets.APKSIGN_KEY_ALIAS }} + APKSIGN_KEY_PASS: ${{ secrets.APKSIGN_KEY_PASS }} + + run: | + echo $APKSIGN_KEYSTORE_BASE64 | base64 -di > release.keystore + export APKSIGN_KEYSTORE=`pwd`/release.keystore + cd khelo + file='VERSION' + fileData=`cat $file` + IFS='.' + read -a versionValue <<< "$fileData" + buildNumber=$(( ${versionValue[0]} * 1000000 + ${versionValue[1]} * 10000 + ${{ github.run_number }} )) + IFS='' + buildName="${versionValue[0]}.${versionValue[1]}.${{ github.run_number }}" + echo "Generating android build $buildName $buildNumber" + flutter build apk --release --build-number=$buildNumber --build-name=$buildName + + cd .. + mv khelo/build/app/outputs/bundle/release/app-release.aab . + + - name: Upload AAB Artifact + uses: actions/upload-artifact@v4 + with: + name: Khelo AAB + path: app-release.aab + retention-days: 2 diff --git a/khelo/ios/Runner/Info.plist b/khelo/ios/Runner/Info.plist index 7cd7f4ad..93080e1f 100644 --- a/khelo/ios/Runner/Info.plist +++ b/khelo/ios/Runner/Info.plist @@ -48,6 +48,7 @@ UIBackgroundModes fetch + remote-notification UILaunchStoryboardName LaunchScreen