# 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 .aab & .apk on: workflow_dispatch: inputs: version: description: "Version" required: true type: string env: BUILD_ARGS: --release --flavor prod --dart-define cameraPreviewAspectRatio=2/3 -t lib/main_prod.dart #UPDATE_VERSION_SCRIPT: perl -i -pe 's/^(version:\s+)(\d+\.\d+\.\d+)(\+)(\d+)$/$1."${{ github.event.inputs.version }}"".$3.($4+1)/e' pubspec.yaml jobs: # build: # name: Build .apk & .aab # runs-on: macos-13.4 # 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: # GOOGLE_SERVICES_JSON_ANDROID: ${{ secrets.GOOGLE_SERVICES_JSON_ANDROID }} # 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: # FIREBASE_OPTIONS: ${{ 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: Increment build number & replace version number # run: perl -i -pe 's/^(version:\s+)(\d+\.\d+\.\d+)(\+)(\d+)$/$1."${{ github.event.inputs.version }}".$3.($4+1)/e' pubspec.yaml # - 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 apk # run: flutter build apk $BUILD_ARGS # - name: Upload apk to artifacts # uses: actions/upload-artifact@v3 # with: # name: m3_lightmeter_apk # path: build/app/outputs/flutter-apk/app-prod-release.apk # - name: Build appbundle # run: flutter build appbundle $BUILD_ARGS # - 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 update-version-in-repo: name: Update repo version #needs: [build] runs-on: macos-13.4 steps: - uses: actions/checkout@v3 with: submodules: recursive - name: Increment build number & replace version number run: perl -i -pe 's/^(version:\s+)(\d+\.\d+\.\d+)(\+)(\d+)$/$1."${{ github.event.inputs.version }}".$3.($4+1)/e' pubspec.yaml - name: Commit and push changes run: | git config --global user.name "vodemn" git config --global user.email "vadim.turko@gmail.com" git add -A git commit -m "Version bump" git push # create-release: # name: Create Github release # needs: [build, update-version-in-repo] # runs-on: ubuntu-latest # permissions: # contents: write # steps: # - uses: actions/checkout@v3 # with: # submodules: recursive # - uses: ncipollo/release-action@v1 # with: # artifacts: "m3_lightmeter_apk, m3_lightmeter_bundle" # skipIfReleaseExists: true # tag: "v${{ github.event.inputs.version }}"