mirror of
https://github.com/Jellify-Music/App.git
synced 2026-01-06 11:00:09 -06:00
68 lines
2.1 KiB
YAML
68 lines
2.1 KiB
YAML
name: Build iOS IPA
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/build-ios.yml'
|
|
- 'ios/**'
|
|
- 'package.json'
|
|
|
|
|
|
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 |