aboutsummaryrefslogtreecommitdiffstats
path: root/.circleci/config.yml
blob: 66dabcea571337d1e05b329822353e1fac7dfe2f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
version: 2

jobs:
  build:
    docker:
      - image: circleci/node:6.12
    environment:
      CONTRACTS_COMMIT_HASH: '9ed05f5'
    working_directory: ~/repo
    steps:
      - checkout
      - run: echo 'export PATH=$HOME/CIRCLE_PROJECT_REPONAME/node_modules/.bin:$PATH' >> $BASH_ENV
      - run:
          name: yarn
          command: yarn
      - save_cache:
          key: dependency-cache-{{ checksum "package.json" }}
          paths:
            - ~/.cache/yarn
      - run: wget https://s3.amazonaws.com/testrpc-shapshots/${CONTRACTS_COMMIT_HASH}.zip
      - run: unzip ${CONTRACTS_COMMIT_HASH}.zip -d testrpc_snapshot
      - run: node ./node_modules/lerna/bin/lerna.js bootstrap
      - run: yarn lerna:run build
      - save_cache:
          key: repo-{{ .Environment.CIRCLE_SHA1 }}
          paths:
            - ~/repo
  test-0xjs:
    docker:
      - image: circleci/node:6.12
    working_directory: ~/repo
    steps:
      - restore_cache:
          keys:
            - repo-{{ .Environment.CIRCLE_SHA1 }}
      - run:
          name: testrpc
          command: npm run testrpc -- --db testrpc_snapshot
          background: true
      - run: yarn lerna:run --scope 0x.js test:circleci
  test-rest:
    docker:
      - image: circleci/node:6.12
    working_directory: ~/repo
    steps:
      - restore_cache:
          keys:
            - repo-{{ .Environment.CIRCLE_SHA1 }}
      - run: yarn lerna:run --ignore 0x.js test:circleci
  lint:
    working_directory: ~/repo
    docker:
      - image: circleci/node:6.12
    steps:
      - restore_cache:
          keys:
            - repo-{{ .Environment.CIRCLE_SHA1 }}
      - run: yarn lerna:run lint
  prettier:
    working_directory: ~/repo
    docker:
      - image: circleci/node:6.12
    steps:
      - restore_cache:
          keys:
            - repo-{{ .Environment.CIRCLE_SHA1 }}
      - run: yarn prettier:ci
workflows:
  version: 2
  main:
    jobs:
      - build
      - test-0xjs:
          requires:
            - build
      - test-rest:
          requires:
            - build
      - lint:
          requires:
            - build
      - prettier:
          requires:
            - build