mirror of
https://github.com/KRTirtho/spotube.git
synced 2026-11-04 10:13:59 +00:00
89 lines
2.3 KiB
YAML
89 lines
2.3 KiB
YAML
name: iOS cloud verification
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
ref:
|
|
description: Branch or commit to verify
|
|
required: true
|
|
default: ios-background-playback
|
|
|
|
jobs:
|
|
build-ios:
|
|
runs-on: macos-latest
|
|
timeout-minutes: 120
|
|
steps:
|
|
- name: Checkout Spotube
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ inputs.ref }}
|
|
|
|
- name: Checkout ComposeNativeWebview
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: KRTirtho/ComposeNativeWebview
|
|
ref: cbd36f88927298a28a2d64c6acf7ec3b2def6f9d
|
|
path: compose-webview
|
|
|
|
- name: Set up Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: '21'
|
|
|
|
- name: Set up Ruby and CocoaPods
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: '3.3'
|
|
bundler-cache: false
|
|
|
|
- name: Install CocoaPods
|
|
run: gem install cocoapods
|
|
|
|
- name: Set up Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Publish ComposeNativeWebview
|
|
working-directory: compose-webview
|
|
run: |
|
|
chmod +x gradlew
|
|
./gradlew publishToMavenLocal
|
|
|
|
- name: Compile Kotlin/Native iOS
|
|
run: |
|
|
chmod +x gradlew
|
|
./gradlew :composeApp:compileKotlinIosSimulatorArm64
|
|
|
|
- name: Install CocoaPods dependencies
|
|
run: |
|
|
cd iosApp
|
|
pod install --repo-update
|
|
|
|
- name: Build unsigned iOS app
|
|
run: |
|
|
xcodebuild \
|
|
-workspace iosApp/iosApp.xcworkspace \
|
|
-scheme iosApp \
|
|
-configuration Release \
|
|
-sdk iphoneos \
|
|
-destination 'generic/platform=iOS' \
|
|
-derivedDataPath build/ios \
|
|
CODE_SIGNING_ALLOWED=NO \
|
|
CODE_SIGNING_REQUIRED=NO \
|
|
CODE_SIGN_IDENTITY="" \
|
|
DEVELOPMENT_TEAM="" \
|
|
build
|
|
|
|
- name: Package unsigned IPA
|
|
run: |
|
|
app=$(find build/ios/Build/Products/Release-iphoneos -maxdepth 1 -name '*.app' -type d | head -1)
|
|
mkdir Payload
|
|
cp -R "$app" Payload/
|
|
zip -qry Spotube-ios-unsigned.ipa Payload
|
|
|
|
- name: Upload IPA
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: spotube-ios-unsigned
|
|
path: Spotube-ios-unsigned.ipa
|