Skip to content

@quiet/desktop@7.1.0-alpha.0 #539

@quiet/desktop@7.1.0-alpha.0

@quiet/desktop@7.1.0-alpha.0 #539

name: Deploy iOS to App Store
on:
release:
types: [prereleased, released]
jobs:
build-ios:
# needs: detox-ios
runs-on: ${{ matrix.os }}
if: |
startsWith(github.ref, 'refs/tags/@quiet/mobile')
strategy:
matrix:
os: [macos-26]
steps:
- name: 'Print OS'
run: echo ${{ matrix.os }}
- uses: actions/checkout@v5
with:
submodules: 'recursive'
lfs: true
- name: Extract version
id: extract_version
uses: Saionaro/extract-package-version@fdb5b74adc1278ddb777dfed4c988b9d098bb48d # v1.2.1
with:
path: packages/mobile
- name: Install gpg
run: brew install gnupg
- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26.3'
- 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,helia,@quiet/node-common'
- name: Install pod dependencies
run: |
cd ./packages/mobile/ios
pod install
shell: bash
- name: Remove bitcode from Tor.framework
run: |
cd ./packages/mobile/ios
FRAMEWORK_PATH="Pods/Tor/Build/iOS/Tor.framework/Tor"
if [ -f "$FRAMEWORK_PATH" ]; then
echo "Removing bitcode from Tor.framework"
xcrun bitcode_strip -r "$FRAMEWORK_PATH" -o "$FRAMEWORK_PATH"
echo "Verifying bitcode removal"
if otool -l "$FRAMEWORK_PATH" | grep -q LLVM; then
echo "WARNING: Bitcode still present in Tor framework!"
else
echo "SUCCESS: Bitcode successfully removed from Tor framework"
fi
else
echo "Tor framework not found at expected path: $FRAMEWORK_PATH"
find . -name "Tor.framework" -type d
fi
- 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 }}
IOS_FIREBASE_KEY: ${{ secrets.IOS_FIREBASE_KEY }}
IOS_NSE_PROFILE_KEY: ${{ secrets.IOS_NSE_PROFILE_KEY }}
- name: Build
run: |
cd ./packages/mobile/ios
xcodebuild archive \
-workspace Quiet.xcworkspace \
-scheme Quiet \
-configuration Release \
-archivePath build/Quiet.xcarchive \
CODE_SIGN_IDENTITY="Apple Distribution: A Quiet LLC (CTYKSWN9T4)" \
ENABLE_BITCODE=NO
- 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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
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 }}
- name: Send Release Notificaton
uses: ./.github/actions/release-notifier
if: always()
with:
os-name: IOS
version: ${{ steps.extract_version.outputs.version }}
status: ${{ job.status }}
slack_oauth_token: ${{ secrets.SLACK_BOT_OAUTH_TOKEN }}