jellyflood/.github/workflows/ci.yml

67 lines
1.9 KiB
YAML

name: "Build 🔨"
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
name: ""
strategy:
matrix:
scheme:
- "JellyfinPlayer"
- "JellyfinPlayer tvOS"
runs-on: macos-latest
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
- name: Checkout
uses: actions/checkout@v1
- name: Cache Carthage dependencies
id: cache-vlckit
uses: actions/cache@v2
with:
path: Carthage
key: ${{ runner.os }}-${{ matrix.scheme }}-carthage-${{ hashFiles('**/Cartfile.resolved') }}
restore-keys: |
${{ runner.os }}-${{ matrix.scheme }}-carthage-
- name: Cache Swift packages
uses: actions/cache@v2
with:
path: .build
key: ${{ runner.os }}-${{ matrix.scheme }}-spm-${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-${{ matrix.scheme }}-spm-
- name: Cache DerivedData folder
uses: actions/cache@v2
with:
path: "~/Library/Developer/Xcode/DerivedData"
key: ${{ runner.os }}-${{ matrix.scheme }}-deriveddata
- name: Install Ruby (for Carthage)
if: steps.cache-vlckit.outputs.cache-hit != 'true'
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6 # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Update Carthage dependencies
if: steps.cache-vlckit.outputs.cache-hit != 'true'
run: "carthage update"
- name: xcodebuild!
run: |
xcodebuild build -project "JellyfinPlayer.xcodeproj" \
-scheme "${{ matrix.scheme }}" \
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO