--- jobs: build: docker: - image: "cimg/node:12.18" steps: - checkout - restore_cache: key: "yarn-packages-v3{{ checksum \"yarn.lock\" }}" - run: "yarn global add node-gyp && yarn install" - save_cache: key: "yarn-packages-v3{{ checksum \"yarn.lock\" }}" paths: - ./node_modules lint: db: API_HOST: localhost API_PORT: 3000 API_PROTOCOL: http DATABASE_URL: "postgres://psqluer:psqlpassword@localhost:5432/psdb" JWT_SECRET: "some string yo want" POSTGRES_DB: psdb POSTGRES_USER: psqluer docker: - image: "cimg/node:12.18" - image: "circleci/postgres:9.6-alpine" environment: ~ docker: - image: "cimg/node:12.18" steps: - checkout - restore_cache: key: "yarn-packages-v3{{ checksum \"yarn.lock\" }}" - run: "yarn test:e2e" - save_cache: key: "yarn-packages-v3{{ checksum \"yarn.lock\" }}" paths: - ./node_modules tests: docker: - image: "cimg/node:12.18" steps: - checkout - restore_cache: key: "yarn-packages-v3{{ checksum \"yarn.lock\" }}" - run: "yarn test:ci" - save_cache: key: "yarn-packages-v3{{ checksum \"yarn.lock\" }}" paths: - ./node_modules version: 2.1 workflows: build_and_test: jobs: - build - lint: requires: - build - tests: requires: - build - db: requires: - build