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 | test:
|
23 | parameters:
|
24 | node-version:
|
25 | type: string
|
26 | executor:
|
27 | name: node/default
|
28 | tag: << parameters.node-version >>
|
29 | steps:
|
30 | - checkout
|
31 | - node/install-packages
|
32 | - run:
|
33 | name: Test with node.js v<< parameters.node-version >>
|
34 | command: npm test -- --ci --runInBand --forceExit --reporters=default --reporters=jest-junit
|
35 | environment:
|
36 | JEST_JUNIT_OUTPUT_NAME: results.xml
|
37 | JEST_JUNIT_OUTPUT_DIR: reports/jest-node<< parameters.node-version >>
|
38 | - store_test_results:
|
39 | path: reports
|
40 | - slack/notify-on-failure
|
41 |
|
42 | workflows:
|
43 | build-and-test:
|
44 | jobs:
|
45 | - lint
|
46 | - test:
|
47 | context: shared-vars
|
48 | requires:
|
49 | - lint
|
50 | matrix:
|
51 | parameters:
|
52 | node-version:
|
53 | - lts
|
54 | - current
|