Migrate to CircleCI v2 (#1517)

Use the new Docker-based, beta version of CircleCI.

This adds a docker image that has the correct deps to run flow, and then migrates from the old circle.yml format to the new.

This gets test runs wayyyyy down. Earlier today, on the old stack, before optimizations, we were at > 9 min for PR builds (aka, CI runs without a website deploy). The build for this PR ran in 1 min 33 seconds. Woo!
This commit is contained in:
Adam Miskiewicz
2017-05-14 23:08:13 -07:00
parent a3f47ad4be
commit fbbba58183
5 changed files with 44 additions and 34 deletions

View File

@@ -1,33 +1,31 @@
machine:
node:
version: 6
environment:
PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
dependencies:
pre:
- curl -o- -L https://yarnpkg.com/install.sh | bash
cache_directories:
- ~/.cache/yarn
- ./website/node_modules
- ./examples/NavigationPlayground/node_modules
- ./examples/ReduxExample/node_modules
override:
- yarn
- cd website && yarn
- cd examples/NavigationPlayground && yarn
- cd examples/ReduxExample && yarn
test:
override:
- ./scripts/test.sh:
parallel: true
post:
- yarn codecov
deployment:
website-prod:
branch: master
commands:
- yarn run build-docs
- ./scripts/deploy-website.sh
version: 2
jobs:
build:
docker:
- image: reactcommunity/node-ci:7.10.0 # custom image -- includes ocaml, libelf1, Yarn
parallelism: 3
working_directory: ~/react-navigation
steps:
- checkout
- restore_cache:
key: v1-react-navigation-{{ .Branch }} # generate cache per branch
- run:
command: |
yarn
cd website && yarn && cd ../
cd examples/NavigationPlayground && yarn && cd ../../
cd examples/ReduxExample && yarn && cd ../../
- save_cache:
key: v1-react-navigation-{{ .Branch }} # generate cache per branch
paths:
- ~/.cache/yarn
- ~/react-navigation/website/node_modules
- ~/react-navigation/examples/NavigationPlayground/node_modules
- ~/react-navigation/examples/ReduxExample/node_modules
- run: ./scripts/test.sh
- deploy:
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
yarn run build-docs
./scripts/deploy-website.sh
fi

View File

@@ -0,0 +1,6 @@
#!/bin/bash
set -eo pipefail
docker build -t reactcommunity/node-ci:7.10.0 -f ./ci.Dockerfile .
docker push reactcommunity/node-ci:7.10.0

View File

@@ -0,0 +1,6 @@
FROM node:7.10.0
RUN apt-get update -y && \
apt-get install -y ocaml libelf1 && \
rm -rf /var/lib/apt/lists/* && \
curl -o- -L https://yarnpkg.com/install.sh | bash

0
packages/react-navigation/scripts/compile-docs.js vendored Normal file → Executable file
View File

View File

@@ -3,7 +3,7 @@
set -eo pipefail
case $CIRCLE_NODE_INDEX in
0) yarn test ;;
0) yarn test && yarn codecov ;;
1) cd examples/NavigationPlayground && yarn test ;;
2) cd examples/ReduxExample && yarn test ;;
esac