1 | version: 2
|
2 | jobs:
|
3 | build:
|
4 | docker:
|
5 | - image: circleci/node:10
|
6 | environment:
|
7 | LANG: en_US.UTF-8
|
8 | steps:
|
9 | - checkout
|
10 | - run:
|
11 | name: Update NPM version
|
12 | command: sudo npm install -g npm@latest
|
13 | - restore-cache:
|
14 | name: Restore NPM Package Cache
|
15 | keys:
|
16 | - npm-packages-{{ checksum "package-lock.json" }}
|
17 | - npm-packages-
|
18 | - run:
|
19 | name: Install Dependencies
|
20 | command: npm install
|
21 | - save-cache:
|
22 | name: Save NPM Package Cache
|
23 | key: npm-packages-{{ checksum "package-lock.json" }}
|
24 | paths:
|
25 | - ./node_modules
|
26 | - run:
|
27 | name: Run Linter
|
28 | command: npm run lint
|
29 | - run:
|
30 | name: Run Tests
|
31 | command: npm run test:ci
|
32 | - store_artifacts:
|
33 | path: ./coverage/lcov-report
|
34 | - run:
|
35 | name: Upload Coverage
|
36 | when: on_success
|
37 | command: bash <(curl -s https://codecov.io/bash) -Z -C $CIRCLE_SHA1
|