From eeaf0ef4b038a9f2917e3a98637add871ab370a1 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Wed, 7 Nov 2018 19:52:28 +0100 Subject: [PATCH] circleci --- .circleci/config.yml | 96 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..cc4062a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,96 @@ +version: 2 +jobs: + node: + working_directory: ~/rn-dp + docker: + - image: circleci/node:8 + steps: + - checkout + + - restore_cache: + key: yarn-v1-{{ checksum "example/yarn.lock" }}-{{ arch }} + + - restore_cache: + key: node-v1-{{ checksum "example/package.json" }}-{{ arch }} + + - run: cd example && yarn install + + - save_cache: + key: yarn-v1-{{ checksum "example/yarn.lock" }}-{{ arch }} + paths: + - ~/.cache/yarn + + - save_cache: + key: node-v1-{{ checksum "example/package.json" }}-{{ arch }} + paths: + - example/node_modules + + - persist_to_workspace: + root: ~/rn-dp + paths: + - example/node_modules + + android: + working_directory: ~/rn-dp/example/android + docker: + - image: circleci/android:api-27-node8-alpha + environment: + JVM_OPTS: -Xmx3200m + steps: + + - checkout: + path: ~/rn-dp + + - attach_workspace: + at: ~/rn-dp + + - restore_cache: + key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} + + - run: + name: Cd + command: cd .. && ls -la + + - run: + name: Download Dependencies + command: ./gradlew androidDependencies + + - save_cache: + paths: + - ~/.gradle + key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} + + - run: + name: Setup emulator + command: sdkmanager "system-images;android-16;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-16;default;armeabi-v7a" + - run: + name: Launch emulator + command: export LD_LIBRARY_PATH=${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib64/qt/lib && emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel auto -verbose + background: true + - run: + name: Wait emulator + command: | + # start the emulator + - emulator -avd circleci-android22 -no-audio -no-window: + background: true + parallel: true + # wait for it to have booted + circle-android wait-for-boot + # unlock the emulator screen + sleep 30 + adb shell input keyevent 82 + ./gradlew connectedAndroidTest -PdisablePreDex + - store_artifacts: + path: app/build/reports + destination: reports + - store_test_results: + path: app/build/test-results + +workflows: + version: 2 + node-android: + jobs: + - node + - android: + requires: + - node \ No newline at end of file