From f9a6363025c10d3a7769fcedaf1aaa53f5687d91 Mon Sep 17 00:00:00 2001 From: Vadim <44135514+vodemn@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:47:12 +0100 Subject: [PATCH] test ipa building --- .github/workflows/build_apk.yml | 73 ++++++++++----------------------- 1 file changed, 21 insertions(+), 52 deletions(-) diff --git a/.github/workflows/build_apk.yml b/.github/workflows/build_apk.yml index 03478a2..0b7f52a 100644 --- a/.github/workflows/build_apk.yml +++ b/.github/workflows/build_apk.yml @@ -3,27 +3,17 @@ # separate terms of service, privacy policy, and support # documentation. -name: Build .apk +name: Build Prod .ipa on: workflow_dispatch: - inputs: - flavor: - description: 'Flavor' - type: choice - required: true - options: - - dev - - prod - default: 'dev' - include-iap: - type: boolean - description: Include IAP package - default: true + +env: + FLAVOR: "prod" jobs: build: - name: Build .apk + name: Build .ipa runs-on: macos-11 timeout-minutes: 15 steps: @@ -33,66 +23,45 @@ jobs: - name: Connect private iap package uses: webfactory/ssh-agent@v0.8.0 - if: ${{ inputs.include-iap }} with: ssh-private-key: ${{ secrets.M3_LIGHTMETER_IAP_KEY }} - - name: Override iap package with stub - if: ${{ !inputs.include-iap }} - run: bash ./.github/scripts/stub_iap.sh - - 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 }} + - name: Install Apple Certificate + uses: apple-actions/import-codesign-certs@v1 + with: + p12-file-base64: ${{ secrets.APP_STORE_P12 }} + p12-password: ${{ secrets.APP_STORE_P12_PASSWORD }} + - name: Install the provisioning profile 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 + bash .github/scripts/restore_from_base64.sh "${{ secrets.APP_STORE_PROVISION_PROD }}" "provision_prod.mobileprovision" + mkdir -p ~/Library/MobileDevice/profiles + cp provision_prod.mobileprovision ~/Library/MobileDevice/profiles - 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 + run: bash .github/scripts/restore_from_base64.sh "${{ secrets.FIREBASE_OPTIONS }}" "lib/firebase_options.dart" - name: Install Flutter uses: subosito/flutter-action@v2 with: channel: "stable" - flutter-version: '3.10.0' + flutter-version: "3.10.0" - name: Prepare flutter project - run: | + run: | flutter --version flutter pub get flutter pub run intl_utils:generate - - name: Build .apk - env: - FLAVOR: ${{ github.event.inputs.flavor }} - run: flutter build apk --release --flavor $FLAVOR -t lib/main_$FLAVOR.dart + - name: Build .ipa + run: flutter build ipa --release --flavor $FLAVOR -t lib/main_$FLAVOR.dart - name: Upload artifact uses: actions/upload-artifact@v3 with: - name: m3_lightmeter_${{ github.event.inputs.flavor }} - path: build/app/outputs/flutter-apk/app-${{ github.event.inputs.flavor }}-release.apk + name: m3_lightmeter_$FLAVOR_ipa + path: build/ios/ipa/lightmeter.ipa