mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-08-09 08:27:54 +00:00
Add files via upload
This commit is contained in:
parent
eb074f1a22
commit
2e9aca4494
1 changed files with 189 additions and 0 deletions
189
.github/workflows/duild-mobile.yml
vendored
Normal file
189
.github/workflows/duild-mobile.yml
vendored
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
name: Build Nuvio Mobile (iOS & Android)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'kmp'
|
||||
- '*'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-ios-full:
|
||||
name: Build iOS Full Version
|
||||
runs-on: macos-latest
|
||||
env:
|
||||
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx11264M -Dkotlin.daemon.jvmargs=-Xmx11264M -Dkotlin.native.jvmargs=-Xmx11264M"
|
||||
steps:
|
||||
- name: Checkout Repository & Submodules
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Fetch iOS Specific Submodule
|
||||
run: |
|
||||
set -euo pipefail
|
||||
git submodule sync -- MPVKit
|
||||
git submodule update --init --depth 1 -- MPVKit
|
||||
|
||||
- name: Pull Git LFS files
|
||||
run: |
|
||||
set -euo pipefail
|
||||
git lfs install --local
|
||||
git lfs pull
|
||||
cd MPVKit
|
||||
git lfs install --local
|
||||
git lfs pull
|
||||
|
||||
- name: Select Latest Stable Xcode
|
||||
uses: maxim-lobanov/setup-xcode@v1
|
||||
with:
|
||||
xcode-version: latest-stable
|
||||
|
||||
- name: Make gradlew executable
|
||||
run: chmod +x ./gradlew
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Generate local.properties
|
||||
env:
|
||||
SUPABASE_URL_VAR: ${{ secrets.SUPABASE_URL || 'https://dpyhjjcoabcglfmgecug.supabase.co' }}
|
||||
SUPABASE_ANON_KEY_VAR: ${{ secrets.SUPABASE_ANON_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRweWhqamNvYWJjZ2xmbWdlY3VnIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzA3OTAwMDAwfQ.dummy' }}
|
||||
TRAKT_CLIENT_ID_VAR: ${{ secrets.TRAKT_CLIENT_ID || 'dummy-key' }}
|
||||
TRAKT_CLIENT_SECRET_VAR: ${{ secrets.TRAKT_CLIENT_SECRET || 'dummy-key' }}
|
||||
TRAKT_REDIRECT_URI_VAR: ${{ secrets.TRAKT_REDIRECT_URI || 'nuvio://auth/trakt' }}
|
||||
PREMIUMIZE_CLIENT_ID_VAR: ${{ secrets.PREMIUMIZE_CLIENT_ID || 'dummy-key' }}
|
||||
PREMIUMIZE_CLIENT_SECRET_VAR: ${{ secrets.PREMIUMIZE_CLIENT_SECRET || 'dummy-key' }}
|
||||
PREMIUMIZE_REDIRECT_URI_VAR: ${{ secrets.PREMIUMIZE_REDIRECT_URI || 'nuvio://auth/trakt' }}
|
||||
TMDB_API_KEY_VAR: ${{ secrets.TMDB_API_KEY || 'dummy-key' }}
|
||||
INTRODB_API_URL_VAR: ${{ secrets.INTRODB_API_URL || 'https://api.introdb.app' }}
|
||||
CONTRIBUTIONS_URL_VAR: ${{ secrets.CONTRIBUTIONS_URL || '' }}
|
||||
DONATIONS_BASE_URL_VAR: ${{ secrets.DONATIONS_BASE_URL || '' }}
|
||||
DONATIONS_DONATE_URL_VAR: ${{ secrets.DONATIONS_DONATE_URL || '' }}
|
||||
DIRECT_DEBRID_API_BASE_URL_VAR: ${{ secrets.DIRECT_DEBRID_API_BASE_URL || '' }}
|
||||
run: |
|
||||
cat << EOF > local.properties
|
||||
SUPABASE_URL=${SUPABASE_URL_VAR}
|
||||
SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY_VAR}
|
||||
TRAKT_CLIENT_ID=${TRAKT_CLIENT_ID_VAR}
|
||||
TRAKT_CLIENT_SECRET=${TRAKT_CLIENT_SECRET_VAR}
|
||||
TRAKT_REDIRECT_URI=${TRAKT_REDIRECT_URI_VAR}
|
||||
PREMIUMIZE_CLIENT_ID=${PREMIUMIZE_CLIENT_ID_VAR}
|
||||
PREMIUMIZE_CLIENT_SECRET=${PREMIUMIZE_CLIENT_SECRET_VAR}
|
||||
PREMIUMIZE_REDIRECT_URI=${PREMIUMIZE_REDIRECT_URI_VAR}
|
||||
TMDB_API_KEY=${TMDB_API_KEY_VAR}
|
||||
INTRODB_API_URL=${INTRODB_API_URL_VAR}
|
||||
CONTRIBUTIONS_URL=${CONTRIBUTIONS_URL_VAR}
|
||||
DONATIONS_BASE_URL=${DONATIONS_BASE_URL_VAR}
|
||||
DONATIONS_DONATE_URL=${DONATIONS_DONATE_URL_VAR}
|
||||
DIRECT_DEBRID_API_BASE_URL=${DIRECT_DEBRID_API_BASE_URL_VAR}
|
||||
NUVIO_IOS_DISTRIBUTION=full
|
||||
EOF
|
||||
|
||||
- name: Build iOS App via Xcode
|
||||
run: |
|
||||
rm -rf ~/Library/Caches/org.swift.swiftpm/
|
||||
rm -rf ~/Library/Developer/Xcode/DerivedData/
|
||||
cd iosApp
|
||||
rm -rf build
|
||||
xcodebuild -resolvePackageDependencies -project iosApp.xcodeproj -scheme iosApp -derivedDataPath build
|
||||
xcodebuild \
|
||||
-project iosApp.xcodeproj \
|
||||
-scheme iosApp \
|
||||
-configuration Release \
|
||||
-sdk iphoneos \
|
||||
-destination "generic/platform=iOS" \
|
||||
-derivedDataPath build \
|
||||
CODE_SIGNING_ALLOWED=NO \
|
||||
CODE_SIGNING_REQUIRED=NO \
|
||||
CODE_SIGN_IDENTITY="" \
|
||||
build
|
||||
|
||||
- name: Package App into .ipa
|
||||
run: |
|
||||
cd iosApp/build/Build/Products/Release-iphoneos
|
||||
APP_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" Nuvio.app/Info.plist)
|
||||
mkdir -p Payload
|
||||
mv Nuvio.app Payload/
|
||||
zip -q -r "Nuvio-v${APP_VERSION}-Full.ipa" Payload
|
||||
echo "IPA_FILENAME=Nuvio-v${APP_VERSION}-Full.ipa" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload iOS Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Nuvio-iOS-Full
|
||||
path: iosApp/build/Build/Products/Release-iphoneos/${{ env.IPA_FILENAME }}
|
||||
|
||||
build-android:
|
||||
name: Build Android Full Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Setup Android SDK
|
||||
uses: android-actions/setup-android@v3
|
||||
|
||||
- name: Generate local.properties
|
||||
env:
|
||||
SUPABASE_URL_VAR: ${{ secrets.SUPABASE_URL || 'https://dpyhjjcoabcglfmgecug.supabase.co' }}
|
||||
SUPABASE_ANON_KEY_VAR: ${{ secrets.SUPABASE_ANON_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRweWhqamNvYWJjZ2xmbWdlY3VnIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzA3OTAwMDAwfQ.dummy' }}
|
||||
TRAKT_CLIENT_ID_VAR: ${{ secrets.TRAKT_CLIENT_ID || 'dummy-key' }}
|
||||
TRAKT_CLIENT_SECRET_VAR: ${{ secrets.TRAKT_CLIENT_SECRET || 'dummy-key' }}
|
||||
TRAKT_REDIRECT_URI_VAR: ${{ secrets.TRAKT_REDIRECT_URI || 'nuvio://auth/trakt' }}
|
||||
PREMIUMIZE_CLIENT_ID_VAR: ${{ secrets.PREMIUMIZE_CLIENT_ID || 'dummy-key' }}
|
||||
PREMIUMIZE_CLIENT_SECRET_VAR: ${{ secrets.PREMIUMIZE_CLIENT_SECRET || 'dummy-key' }}
|
||||
PREMIUMIZE_REDIRECT_URI_VAR: ${{ secrets.PREMIUMIZE_REDIRECT_URI || 'nuvio://auth/trakt' }}
|
||||
TMDB_API_KEY_VAR: ${{ secrets.TMDB_API_KEY || 'dummy-key' }}
|
||||
INTRODB_API_URL_VAR: ${{ secrets.INTRODB_API_URL || 'https://api.introdb.app' }}
|
||||
CONTRIBUTIONS_URL_VAR: ${{ secrets.CONTRIBUTIONS_URL || '' }}
|
||||
DONATIONS_BASE_URL_VAR: ${{ secrets.DONATIONS_BASE_URL || '' }}
|
||||
DONATIONS_DONATE_URL_VAR: ${{ secrets.DONATIONS_DONATE_URL || '' }}
|
||||
DIRECT_DEBRID_API_BASE_URL_VAR: ${{ secrets.DIRECT_DEBRID_API_BASE_URL || '' }}
|
||||
run: |
|
||||
cat << EOF > local.properties
|
||||
SUPABASE_URL=${SUPABASE_URL_VAR}
|
||||
SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY_VAR}
|
||||
TRAKT_CLIENT_ID=${TRAKT_CLIENT_ID_VAR}
|
||||
TRAKT_CLIENT_SECRET=${TRAKT_CLIENT_SECRET_VAR}
|
||||
TRAKT_REDIRECT_URI=${TRAKT_REDIRECT_URI_VAR}
|
||||
PREMIUMIZE_CLIENT_ID=${PREMIUMIZE_CLIENT_ID_VAR}
|
||||
PREMIUMIZE_CLIENT_SECRET=${PREMIUMIZE_CLIENT_SECRET_VAR}
|
||||
PREMIUMIZE_REDIRECT_URI=${PREMIUMIZE_REDIRECT_URI_VAR}
|
||||
TMDB_API_KEY=${TMDB_API_KEY_VAR}
|
||||
INTRODB_API_URL=${INTRODB_API_URL_VAR}
|
||||
CONTRIBUTIONS_URL=${CONTRIBUTIONS_URL_VAR}
|
||||
DONATIONS_BASE_URL=${DONATIONS_BASE_URL_VAR}
|
||||
DONATIONS_DONATE_URL=${DONATIONS_DONATE_URL_VAR}
|
||||
DIRECT_DEBRID_API_BASE_URL=${DIRECT_DEBRID_API_BASE_URL_VAR}
|
||||
NUVIO_ANDROID_DISTRIBUTION=full
|
||||
EOF
|
||||
|
||||
- name: Cache Gradle
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
|
||||
- name: Build Full APK
|
||||
run: |
|
||||
./gradlew \
|
||||
:androidApp:assembleFullDebug \
|
||||
-Pnuvio.android.distribution=full \
|
||||
-Pnuvio.splitAbi=true \
|
||||
--stacktrace
|
||||
|
||||
- name: Upload Android Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Nuvio-Android-Full
|
||||
path: androidApp/build/outputs/apk/full/debug/*.apk
|
||||
Loading…
Reference in a new issue