react-native-cameraroll/.circleci/config.yml

72 lines
1.8 KiB
YAML

version: 2.1
orbs:
rn: react-native-community/react-native@dev:0.1.0-rc10
jobs:
checkout_code:
executor: rn/linux_js
steps:
- checkout
- persist_to_workspace:
root: .
paths: .
analyze:
executor: rn/linux_js
steps:
- attach_workspace:
at: .
- rn/yarn_install
- run:
name: Eslint
command: yarn run validate:eslint
- run:
name: Flow
command: yarn run validate:flow
- run:
name: TypeScript
command: yarn run validate:typescript
- run:
name: Jest
command: yarn run test:jest
- run:
name: Android JavaScript Bundle
command: yarn run test:detox:android:bundle:release
- run:
name: iOS JavaScript Bundle
command: yarn run test:detox:ios:bundle:release
workflows:
test:
jobs:
- checkout_code
- analyze:
requires:
- checkout_code
- rn/android_build:
name: android_debug_build
project_path: "example/android"
build_type: debug
requires:
- analyze
- rn/android_build:
name: android_release_build
project_path: "example/android"
build_type: release
requires:
- analyze
- rn/android_test:
logcat_grep: "com.camerarollexample"
detox_configuration: "android.emu.release"
requires:
- android_release_build
- rn/ios_build_and_test:
project_path: "example/ios/CameraRollExample.xcodeproj"
derived_data_path: "example/ios/build"
device: "iPhone X"
build_configuration: "Release"
scheme: "CameraRollExample"
detox_configuration: "ios.sim.release"
requires:
- analyze