Skip to content

Commit

Permalink
[RNKC-059] - iOS Fabric builds (#67)
Browse files Browse the repository at this point in the history
## Description

CI builds for iOS (Fabric).

## Motivation and Context

To assure new changes are not breaking builds.

## Changelog

### CI
- added a script/scenario for building FabricExample app on iOS;

### iOS
- update Podfile.lock;

## How Has This Been Tested?

Tested using GitHub actions.

## Checklist

- [x] CI successfully passed
  • Loading branch information
kirillzyusko committed Sep 21, 2022
1 parent ad00a93 commit 23b8df6
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 2 deletions.
84 changes: 84 additions & 0 deletions .github/workflows/build-ios-fabric.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Build iOS Fabric

on:
push:
branches:
- main
paths:
- '.github/workflows/build-ios-fabric.yml'
- 'ios/**'
- 'FabricExample/ios/**'
- 'yarn.lock'
- 'FabricExample/yarn.lock'
pull_request:
branches:
- main
paths:
- '.github/workflows/build-ios-fabric.yml'
- 'ios/**'
- 'FabricExample/ios/**'
- 'yarn.lock'
- 'FabricExample/yarn.lock'

jobs:
build:
name: Build iOS FabricExample App
runs-on: macOS-latest
defaults:
run:
working-directory: FabricExample/ios
steps:
- uses: actions/checkout@v2

- name: Get yarn cache directory path
id: fabric-yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Restore node_modules from cache
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.fabric-yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-fabric-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-fabric-yarn-
- name: Install node_modules for FabricExample/
run: yarn install --frozen-lockfile --cwd ..

- name: Restore buildcache
uses: mikehardy/buildcache-action@v1
continue-on-error: true
with:
cache_key: react-native-keyboard-controller-fabric

- name: Setup Ruby (bundle)
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.6
bundler-cache: true
working-directory: FabricExample/ios

- name: Restore Pods cache
uses: actions/cache@v2
with:
path: |
FabricExample/ios/Pods
~/Library/Caches/CocoaPods
~/.cocoapods
key: ${{ runner.os }}-fabric-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-fabric-pods-
- name: Install Pods
run: pod install
- name: Install xcpretty
run: gem install xcpretty
- name: Build App
run: "set -o pipefail && xcodebuild \
CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
-derivedDataPath build -UseModernBuildSystem=YES \
-workspace KeyboardControllerFabricExample.xcworkspace \
-scheme KeyboardControllerFabricExample \
-sdk iphonesimulator \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 11 Pro' \
build \
CODE_SIGNING_ALLOWED=NO | xcpretty"
4 changes: 2 additions & 2 deletions FabricExample/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ PODS:
- FlipperKit/FlipperKitNetworkPlugin
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.69.2)
- hermes-engine (0.69.4)
- libevent (2.1.12)
- OpenSSL-Universal (1.1.1100)
- RCT-Folly (2021.06.28.00-v2):
Expand Down Expand Up @@ -987,7 +987,7 @@ SPEC CHECKSUMS:
FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a
hermes-engine: e7f0920bc628f30a90d4916359711147083e2bff
hermes-engine: 761a544537e62df2a37189389b9d2654dc1f75af
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a
Expand Down

0 comments on commit 23b8df6

Please sign in to comment.