# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. name: Build Prod App Bundle on: workflow_dispatch: jobs: build: runs-on: macos-11 timeout-minutes: 30 steps: - uses: shaunco/ssh-agent@git-repo-mapping with: ssh-private-key: | ${{ secrets.M3_LIGHTMETER_IAP_KEY }} repo-mappings: | github.com/vodemn/m3_lightmeter_iap - uses: actions/checkout@v3 with: submodules: recursive - uses: actions/setup-java@v2 with: distribution: "zulu" java-version: "11" - name: Restore Android keystore .jsk and .properties files env: KEYSTORE: ${{ secrets.KEYSTORE }} KEYSTORE_PROPERTIES: ${{ secrets.KEYSTORE_PROPERTIES }} run: | KEYSTORE_PATH=$RUNNER_TEMP/keystore.jks echo -n "$KEYSTORE" | base64 --decode --output $KEYSTORE_PATH cp $KEYSTORE_PATH ./android/app KEYSTORE_PROPERTIES_PATH=$RUNNER_TEMP/key.properties echo -n "$KEYSTORE_PROPERTIES" | base64 --decode --output $KEYSTORE_PROPERTIES_PATH cp $KEYSTORE_PROPERTIES_PATH ./android - name: Restore android/app/google-services.json env: KEYSTORE: ${{ secrets.FIREBASE_OPTIONS }} run: | GOOGLE_SERVICES_JSON_ANDROID_PATH=$RUNNER_TEMP/google-services.json echo -n "$GOOGLE_SERVICES_JSON_ANDROID" | base64 --decode --output $GOOGLE_SERVICES_JSON_ANDROID_PATH cp $GOOGLE_SERVICES_JSON_ANDROID_PATH ./android/app - name: Restore firebase_options.dart env: KEYSTORE: ${{ secrets.FIREBASE_OPTIONS }} run: | FIREBASE_OPTIONS_PATH=$RUNNER_TEMP/firebase_options.dart echo -n "$FIREBASE_OPTIONS" | base64 --decode --output $FIREBASE_OPTIONS_PATH cp $FIREBASE_OPTIONS_PATH ./lib - name: Install Flutter uses: subosito/flutter-action@v2 with: channel: "stable" - name: Prepare flutter project run: | flutter --version flutter pub get flutter pub run intl_utils:generate - name: Build appbundle run: flutter build appbundle --release --flavor prod --dart-define cameraPreviewAspectRatio=2/3 -t lib/main_prod.dart - name: Upload app bundle to artifacts uses: actions/upload-artifact@v3 with: name: m3_lightmeter_bundle path: build/app/outputs/bundle/prodRelease/app-prod-release.aab - name: Upload native debug symbols to artifacts uses: actions/upload-artifact@v3 with: name: m3_lightmeter_native_debug_symbols path: | build/app/intermediates/merged_native_libs/prodRelease/out/lib/