From b5f31c3ca3b54128b6390072d557434806bd4e64 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Tue, 2 May 2023 01:35:43 +0530 Subject: [PATCH] chore: manual ios testflight deploy --- .github/workflows/ios.testflight.yml | 58 ++++++++++++++++++++++++++++ packages/mobile/fastlane/Fastfile | 9 ++++- 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ios.testflight.yml diff --git a/.github/workflows/ios.testflight.yml b/.github/workflows/ios.testflight.yml new file mode 100644 index 000000000..c62f60d14 --- /dev/null +++ b/.github/workflows/ios.testflight.yml @@ -0,0 +1,58 @@ +name: iOS Testflight + +on: workflow_dispatch + +jobs: + ios: + defaults: + run: + working-directory: packages/mobile + runs-on: macos-latest + timeout-minutes: 90 + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Export version from package.json + run: + echo "PACKAGE_VERSION=$(grep '"version"' ../web/package.json | cut -d '"' -f 4 | cut -d "-" -f 1)" >> $GITHUB_ENV + - name: Install dependencies + run: yarn install --immutable && yarn install:pods + - run: yarn build:mobile + - name: Set ssh connection to Github + uses: webfactory/ssh-agent@v0.4.1 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Export Apple AppStore Connect API key + run: echo "${{ secrets.APPSTORE_CONNECT_KEY }}" > ios/Authkey.p8 + - name: Ruby Setup for Fastlane + uses: ruby/setup-ruby@v1 + with: + working-directory: 'packages/mobile' + - name: Setup fastlane + uses: maierj/fastlane-action@v1.4.0 + env: + FASTLANE_USER: ${{ secrets.FASTLANE_USER }} + APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + with: + lane: 'ios setup' + subdirectory: 'packages/mobile' + - name: fastlane + uses: maierj/fastlane-action@v1.4.0 + env: + APPLE_APP_ID: ${{ secrets.APP_APPLE_ID }} + APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} + APPSTORE_CONNECT_KEY_ID: ${{ secrets.APPSTORE_CONNECT_KEY_ID }} + APPSTORE_CONNECT_KEY_ISSUER_ID: ${{ secrets.APPSTORE_CONNECT_KEY_ISSUER_ID }} + BUILD_NUMBER: ${{ github.run_number }} + FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} + FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }} + FASTLANE_USER: ${{ secrets.FASTLANE_USER }} + MATCH_CERTIFICATES_URL: ${{ secrets.MATCH_CERTIFICATES_URL }} + MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} + with: + lane: 'ios dev' + subdirectory: 'packages/mobile' + diff --git a/packages/mobile/fastlane/Fastfile b/packages/mobile/fastlane/Fastfile index dbc368761..cf7a4383a 100755 --- a/packages/mobile/fastlane/Fastfile +++ b/packages/mobile/fastlane/Fastfile @@ -34,7 +34,7 @@ platform :ios do build_number end - def deploy_ios(scheme) + def deploy_ios(scheme, is_testflight = false) sign_ios build_number = build_ios(scheme) app_store_connect_api_key( @@ -55,7 +55,7 @@ platform :ios do changelog: 'Fixes and improvements.' ) - if is_prod + if is_prod && !is_testflight upload_to_app_store( build_number: build_number, submit_for_review: true, @@ -83,6 +83,11 @@ platform :ios do deploy_ios 'StandardNotes' end + desc 'Deploy prod app to tesflight' + lane :testflight do + deploy_ios 'StandardNotes', true + end + desc 'Setup iOS for running on CI' lane :setup do setup_project