Skip to content

Workflow file for this run

name: Deploy iOS to App Store
on:
release:
types:
[prereleased, released]
jobs:
build-ios:
runs-on: ${{ matrix.os }}
if: |
startsWith(github.ref, 'refs/tags/@quiet/mobile')
strategy:
matrix:
os: [macOS-latest]
steps:
- name: "Print OS"
run: echo ${{ matrix.os }}
- uses: actions/checkout@v2
with:
lfs: true
- name: Install gpg
run: brew install gnupg
- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.2'
- name: Setup environment
uses: ./.github/actions/setup-env
with:
cachePrefix: "deploy-ios"
bootstrap-packages: "@quiet/eslint-config,@quiet/logger,@quiet/common,@quiet/types,@quiet/state-manager,@quiet/backend,@quiet/identity,@quiet/mobile,backend-bundle"
- name: Install pod dependencies
run: |
cd ./packages/mobile/ios
pod install
shell: bash
- name: Setup provisioning profile
run: ./.github/secrets/decrypt_secrets.sh
env:
IOS_PROFILE_KEY: ${{ secrets.IOS_PROFILE_KEY }}
IOS_CERTIFICATE_KEY: ${{ secrets.IOS_CERTIFICATE_KEY }}
- name: Build
run: |
cd ./packages/mobile/ios
xcodebuild archive \
-workspace Quiet.xcworkspace \
-scheme Quiet \
-configuration Release \
-archivePath build/Quiet.xcarchive \
PROVISIONING_PROFILE="654a2214-095f-4939-a9e5-09f7a2ccf530" \
CODE_SIGN_IDENTITY="Apple Distribution: Zbay LLC (CTYKSWN9T4)"
- name: Export .ipa
run: |
cd ./packages/mobile/ios
xcodebuild \
-exportArchive \
-archivePath build/Quiet.xcarchive \
-exportOptionsPlist ci.plist \
-exportPath build/
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: Quiet.ipa
path: ./packages/mobile/ios/build/Quiet.ipa
- name: Submit to the store
run: |
cd ./packages/mobile/ios
xcrun altool \
--upload-app \
--type ios \
--file build/Quiet.ipa \
-u $APPSTORE_USER \
-p $APPSTORE_PASSWORD \
--verbose
env:
APPSTORE_USER: ${{ secrets.APPSTORE_USER }}
APPSTORE_PASSWORD: ${{ secrets.APPSTORE_PASSWORD }}