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