chore: manual ios testflight deploy

This commit is contained in:
Aman Harwara
2023-05-02 01:35:43 +05:30
parent 053aaa5c9f
commit b5f31c3ca3
2 changed files with 65 additions and 2 deletions

58
.github/workflows/ios.testflight.yml vendored Normal file
View File

@@ -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'

View File

@@ -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