mirror of
https://github.com/streamyfin/streamyfin.git
synced 2025-08-20 18:37:18 +02:00
86 lines
2.8 KiB
YAML
86 lines
2.8 KiB
YAML
name: 🤖 iOS IPA Build
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
# push:
|
|
# branches: [develop]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macos-15
|
|
name: 🏗️ Build iOS IPA
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- name: 📥 Check out repository
|
|
uses: actions/checkout@v4.2.2
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
show-progress: false
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
|
|
- name: 🍞 Setup Bun
|
|
uses: oven-sh/setup-bun@v2.0.2
|
|
with:
|
|
# @todo: update to 1.x once this is fixed: https://github.com/streamyfin/streamyfin/pull/690#discussion_r2089749689
|
|
bun-version: '1.2.13'
|
|
|
|
- name: 💾 Cache Bun dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.bun/install/cache
|
|
key: ${{ runner.os }}-bun-cache-${{ hashFiles('bun.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-bun-cache-
|
|
|
|
- name: 📦 Install & Prepare
|
|
run: |
|
|
bun i && bun run submodule-reload
|
|
npx expo prebuild
|
|
|
|
- name: 🏗️ Build iOS app
|
|
uses: sparkfabrik/ios-build-action@v2.3.2
|
|
with:
|
|
upload-to-testflight: false
|
|
increment-build-number: false
|
|
build-pods: true
|
|
pods-path: "ios/Podfile"
|
|
configuration: Release
|
|
# Change later to app-store if wanted
|
|
export-method: appstore
|
|
#export-method: ad-hoc
|
|
workspace-path: "ios/Streamyfin.xcodeproj/project.xcworkspace/"
|
|
project-path: "ios/Streamyfin.xcodeproj"
|
|
scheme: Streamyfin
|
|
apple-key-id: ${{ secrets.APPLE_KEY_ID }}
|
|
apple-key-issuer-id: ${{ secrets.APPLE_KEY_ISSUER_ID }}
|
|
apple-key-content: ${{ secrets.APPLE_KEY_CONTENT }}
|
|
team-id: ${{ secrets.TEAM_ID }}
|
|
team-name: ${{ secrets.TEAM_NAME }}
|
|
#match-password: ${{ secrets.MATCH_PASSWORD }}
|
|
#match-git-url: ${{ secrets.MATCH_GIT_URL }}
|
|
#match-git-basic-authorization: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
|
|
#match-build-type: "appstore"
|
|
#browserstack-upload: true
|
|
#browserstack-username: ${{ secrets.BROWSERSTACK_USERNAME }}
|
|
#browserstack-access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
|
|
#fastlane-env: stage
|
|
ios-app-id: com.stetsed.teststreamyfin
|
|
output-path: build-${{ github.sha }}.ipa
|
|
|
|
- name: 📅 Set date tag
|
|
run: echo "DATE_TAG=$(date +%d-%m-%Y_%H-%M-%S)" >> $GITHUB_ENV
|
|
|
|
- name: 📤 Upload IPA artifact
|
|
uses: actions/upload-artifact@v4.6.2
|
|
with:
|
|
name: streamyfin-ipa-${{ github.sha }}-${{ env.DATE_TAG }}
|
|
path: build-*.ipa
|
|
retention-days: 7
|