UNPKG

1.62 kBYAMLView Raw
1version: 2.1
2
3orbs:
4 node: circleci/node@4
5 slack: circleci/slack@3
6
7jobs:
8 lint:
9 resource_class: small
10 executor:
11 name: node/default
12 steps:
13 - checkout
14 - node/install-packages
15 - run:
16 name: Lint (Prettier)
17 command: npm run lint:prettier
18 - run:
19 name: Lint (ESLint)
20 command: npm run lint:eslint -- --format junit --output-file reports/eslint/results.xml
21 - store_test_results:
22 path: reports
23 test:
24 resource_class: small
25 parameters:
26 node-version:
27 type: string
28 docker:
29 - image: cimg/node:<< parameters.node-version >>
30 - image: circleci/postgres:alpine-ram
31 environment: # need to keep this synced with .db.env because circleci is fucking retarded
32 POSTGRES_DB: objection-authorize
33 POSTGRES_USER: knex
34 POSTGRES_HOST_AUTH_METHOD: trust
35 steps:
36 - checkout
37 - node/install-packages
38 - run:
39 name: Test with node.js-<< parameters.node-version >>
40 command: npm test -- --ci --runInBand --reporters=default --reporters=jest-junit
41 environment:
42 JEST_JUNIT_OUTPUT_NAME: results.xml
43 JEST_JUNIT_OUTPUT_DIR: reports/jest-node<< parameters.node-version >>
44 - store_test_results:
45 path: reports
46 - slack/notify-on-failure
47
48workflows:
49 build-and-test:
50 jobs:
51 - lint
52 - test:
53 context: shared-vars
54 requires:
55 - lint
56 matrix:
57 parameters:
58 node-version:
59 - lts
60 - current