88 lines
2.2 KiB
YAML
88 lines
2.2 KiB
YAML
version: 2.1
|
|
|
|
orbs:
|
|
rn: react-native-community/react-native@4.0.4
|
|
|
|
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
|
|
publish:
|
|
executor: rn/linux_js
|
|
steps:
|
|
- attach_workspace:
|
|
at: .
|
|
- rn/yarn_install
|
|
- run:
|
|
name: Publish to NPM
|
|
command: yarn ci:publish
|
|
|
|
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
|
|
- publish:
|
|
requires:
|
|
- android_debug_build
|
|
- android_release_build
|
|
filters:
|
|
branches:
|
|
only: master
|