UNPKG

2.8 kBYAMLView Raw
1# -------------------------
2# ALIASES
3# -------------------------
4aliases:
5 # CACHE
6 - &restore-yarn-cache
7 keys:
8 - yarn-cache-{{ arch }}-{{ checksum "package.json" }}-{{ checksum "yarn.lock" }}
9 - yarn-cache-{{ arch }}
10
11 - &save-yarn-cache
12 paths:
13 - ~/.cache/yarn
14 - ~/Library/Detox/ios
15 key: yarn-cache-{{ arch }}-{{ checksum "package.json" }}-{{ checksum "yarn.lock" }}
16
17 # -------------------------
18 # INSTALLATION
19 # -------------------------
20 - &yarn
21 name: Yarn Install
22 command: |
23 yarn install --network-concurrency 1 --non-interactive --cache-folder ~/.cache/yarn & wait
24
25 # -------------------------
26 # ANALYSE
27 # -------------------------
28
29 - &flow
30 name: Flow Checks
31 command: yarn test:flow
32
33 - &javascript
34 name: Javascript Tests
35 command: yarn test:js
36
37 - &eslint
38 name: Eslint Checks
39 command: yarn test:lint
40
41 - &prettier
42 name: Prettier Checks
43 command: yarn test:prettier
44
45# -------------------------
46# DEFAULTS
47# -------------------------
48defaults: &defaults
49 working_directory: ~/react-native-masked-view
50 environment:
51 - GIT_COMMIT_DESC: git log --format=oneline -n 1 $CIRCLE_SHA1
52
53# JAVASCRIPT
54js_defaults: &js_defaults
55 <<: *defaults
56 docker:
57 - image: circleci/node:8
58 environment:
59 - PATH: '/opt/yarn/yarn-v1.5.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
60
61# -------------------------
62# JOBS
63# -------------------------
64version: 2
65jobs:
66 # Set up a Node environment for downstream jobs
67 checkout-code:
68 <<: *js_defaults
69 steps:
70 - checkout
71 - restore-cache: *restore-yarn-cache
72 - run: rm -rf node_modules
73 - run: yarn cache clean
74 - run: *yarn
75 - save-cache: *save-yarn-cache
76 - persist_to_workspace:
77 root: .
78 paths: .
79
80 flow:
81 <<: *js_defaults
82 steps:
83 - attach_workspace:
84 at: ~/react-native-masked-view
85 - run: *flow
86
87 javascript:
88 <<: *js_defaults
89 steps:
90 - attach_workspace:
91 at: ~/react-native-masked-view
92 - run: *javascript
93
94 eslint:
95 <<: *js_defaults
96 steps:
97 - attach_workspace:
98 at: ~/react-native-masked-view
99 - run: *eslint
100
101 prettier:
102 <<: *js_defaults
103 steps:
104 - attach_workspace:
105 at: ~/react-native-masked-view
106 - run: *prettier
107
108# -------------------------
109# WORK FLOWS
110# -------------------------
111workflows:
112 version: 2
113 Test:
114 jobs:
115 - checkout-code
116 - flow:
117 requires:
118 - checkout-code
119 - eslint:
120 requires:
121 - checkout-code
122 - prettier:
123 requires:
124 - checkout-code
125 - javascript:
126 requires:
127 - checkout-code