Merge pull request #586 from bitmovin/main #306
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: 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: 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 |