Skip to content

Merge pull request #549 from bitmovin/main #259

Merge pull request #549 from bitmovin/main

Merge pull request #549 from bitmovin/main #259

Workflow file for this run

name: CI (iOS & tvOS)
on:
pull_request:
paths:
- '.github/workflows/ci-ios-tvos.yml'
- '.github/actions/**'
- 'package.json'
- 'yarn.lock'
- 'ios/**'
- 'RNBitmovinPlayer.podspec'
- '.swiftlint.yml'
- 'Brewfile.lock.json'
- 'example/ios/**'
- 'example/package.json'
- 'example/yarn.lock'
push:
branches: [development]
paths:
- '.github/workflows/ci-ios-tvos.yml'
- '.github/actions/**'
- 'package.json'
- 'yarn.lock'
- 'ios/**'
- 'RNBitmovinPlayer.podspec'
- '.swiftlint.yml'
- 'Brewfile.lock.json'
- 'example/ios/**'
- 'example/package.json'
- 'example/yarn.lock'
concurrency:
group: ci-ios-tvos-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
NO_FLIPPER: 1
jobs:
code-style-ios:
name: Code style iOS
runs-on: macOS-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup-environment
with:
ios: true
- name: Check code style
run: swiftlint --strict
test-build-ios:
name: Build iOS
runs-on: macOS-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup-environment
with:
node: true
subprojects: true
ios: true
- name: Restore Pods cache
id: pods-cache-restore
uses: actions/cache/restore@v3
with:
path: |
.cocoapods-cache
example/ios/Pods
key: pods-${{ hashFiles('example/ios/Podfile.lock') }}
restore-keys: pods-
- name: Install pods
run: |
pod repo add bitmovin https://github.com/bitmovin/cocoapod-specs.git || pod repo update bitmovin
yarn pods
env:
CP_HOME_DIR: ${{ github.workspace }}/.cocoapods-cache
- name: Save Pods cache
if: steps.pods-cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: |
.cocoapods-cache
example/ios/Pods
integration_test/ios/Pods
key: ${{ steps.pods-cache-restore.outputs.cache-primary-key }}
- name: Build iOS example
run: set -o pipefail && xcodebuild -workspace BitmovinPlayerReactNativeExample.xcworkspace -scheme BitmovinPlayerReactNativeExample -configuration Debug build CODE_SIGNING_ALLOWED='NO' | xcpretty
working-directory: example/ios
env:
NSUnbufferedIO: YES
- name: Build iOS integration test host app
run: set -o pipefail && xcodebuild -workspace IntegrationTest.xcworkspace -scheme IntegrationTest -configuration Debug build CODE_SIGNING_ALLOWED='NO' | xcpretty
working-directory: integration_test/ios
env:
NSUnbufferedIO: YES
test-build-tvos:
name: Build tvOS
runs-on: macOS-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup-environment
with:
node: true
subprojects: true
ios: true
- name: Restore Pods cache
id: pods-cache-restore
uses: actions/cache/restore@v3
with:
path: |
.cocoapods-cache
example/ios/Pods
key: pods-${{ hashFiles('example/ios/Podfile.lock') }}-${{ hashFiles('integration_test/ios/Podfile.lock') }}
restore-keys: pods-
- name: Install pods
run: |
pod repo add bitmovin https://github.com/bitmovin/cocoapod-specs.git || pod repo update bitmovin
yarn example pods
env:
CP_HOME_DIR: ${{ github.workspace }}/.cocoapods-cache
- name: Save Pods cache
if: steps.pods-cache-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: |
.cocoapods-cache
example/ios/Pods
integration_test/ios/Pods
key: ${{ steps.pods-cache-restore.outputs.cache-primary-key }}
- name: Build tvOS example
run: set -o pipefail && xcodebuild -workspace BitmovinPlayerReactNativeExample.xcworkspace -scheme BitmovinPlayerReactNativeExample-tvOS -configuration Debug build CODE_SIGNING_ALLOWED='NO' | xcpretty
working-directory: example/ios
env:
NSUnbufferedIO: YES