1 | version: 2.1
|
2 |
|
3 | orbs:
|
4 | node: circleci/node@3
|
5 | slack: circleci/slack@3
|
6 |
|
7 | jobs:
|
8 | lint:
|
9 | executor:
|
10 | name: node/default
|
11 | steps:
|
12 | - checkout
|
13 | - node/install-packages
|
14 | - run:
|
15 | name: Lint (Prettier)
|
16 | command: npm run lint:prettier
|
17 | - run:
|
18 | name: Lint (ESLint)
|
19 | command: npm run lint:eslint -- --format junit --output-file reports/eslint/results.xml
|
20 | - store_test_results:
|
21 | path: reports
|
22 | - slack/notify-on-failure
|
23 | test:
|
24 | parameters:
|
25 | node-version:
|
26 | type: string
|
27 | executor:
|
28 | name: node/default
|
29 | tag: << parameters.node-version >>
|
30 | steps:
|
31 | - checkout
|
32 | - node/install-packages
|
33 | - run:
|
34 | name: Test with node.js v<< parameters.node-version >>
|
35 | command: npm test -- --ci --runInBand --forceExit --reporters=default --reporters=jest-junit
|
36 | environment:
|
37 | JEST_JUNIT_OUTPUT_NAME: results.xml
|
38 | JEST_JUNIT_OUTPUT_DIR: reports/<< parameters.node-version >>
|
39 | - store_test_results:
|
40 | path: reports
|
41 | - slack/notify-on-failure
|
42 |
|
43 | workflows:
|
44 | build-and-test:
|
45 | jobs:
|
46 | - lint
|
47 | - test:
|
48 | context: shared-vars
|
49 | requires:
|
50 | - lint
|
51 | matrix:
|
52 | parameters:
|
53 | node-version:
|
54 | - 12.18.0
|
55 | - 10.19.0
|