mirror of
https://github.com/Jellify-Music/App.git
synced 2026-05-06 19:39:28 -05:00
4d560be350
Adds internal over-the-air update support Powered by `react-native-nitro-modules`, this OTA functionality is faster than the previous implementation, and won't slow down the UI when updates are being applied since updates occur off the main thread
64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
name: Build iOS IPA
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
build-ios:
|
|
if: github.repository == 'Jellify-Music/App'
|
|
runs-on: macos-15
|
|
steps:
|
|
- name: 🛒 Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 🖥 Setup Node 20
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: 💬 Echo package.json version to Github ENV
|
|
run: echo VERSION_NUMBER=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV
|
|
|
|
- name: 🍎 Setup Xcode
|
|
uses: ./.github/actions/setup-xcode
|
|
|
|
- name: 🍎 Run yarn init-ios:new-arch
|
|
run: yarn init-android && cd ios && bundle install && bundle exec pod install
|
|
|
|
|
|
- name: 🚀 Run fastlane build
|
|
run: |
|
|
cd ios
|
|
set -o pipefail
|
|
xcodebuild \
|
|
CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
|
|
-derivedDataPath build -UseModernBuildSystem=YES \
|
|
-workspace Jellify.xcworkspace \
|
|
-scheme Jellify \
|
|
-sdk iphonesimulator \
|
|
-configuration Release \
|
|
-destination 'generic/platform=iOS Simulator' \
|
|
build \
|
|
CODE_SIGNING_ALLOWED=NO
|
|
- name: Package .app for Simulator
|
|
run: |
|
|
cd ios/build/Build/Products/Release-iphonesimulator
|
|
zip -r Jellify-Release-Simulator.zip Jellify.app
|
|
|
|
- name: 📦 Upload IPA for testing
|
|
uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: jellify-ios-pr-${{ github.event.number }}-${{ env.VERSION_NUMBER }}
|
|
path: |
|
|
ios/build/*.ipa
|
|
ios/*.ipa
|
|
Jellify.app
|
|
*.zip
|
|
ios/build/Build/Products/Release-iphonesimulator/Jellify-Release-Simulator.zip
|
|
retention-days: 7
|
|
if-no-files-found: warn |