version: 2.1 jobs: build: docker: - image: cimg/node:14.15.0 # the primary container, where your job's commands are run auth: username: mydockerhub-user password: $DOCKERHUB_PASSWORD # context / project UI env-var reference steps: - checkout # check out the code in the project directory - restore_cache: key: npm-v4-dependencies-{{ checksum "yarn.lock" }} - run: yarn install - save_cache: key: npm-v4-dependencies-{{ checksum "yarn.lock" }} paths: - node_modules test1: docker: - image: cimg/node:14.15.0 # the primary container, where your job's commands are run auth: username: mydockerhub-user password: $DOCKERHUB_PASSWORD # context / project UI env-var reference steps: - checkout - restore_cache: key: npm-v4-dependencies-{{ checksum "yarn.lock" }} - run: name: Lint && format check && test ci command: | yarn lint yarn format:check yarn test test2: docker: - image: cimg/node:14.15.0 # the primary container, where your job's commands are run auth: username: mydockerhub-user password: $DOCKERHUB_PASSWORD # context / project UI env-var reference - image: circleci/postgres:9.6.2-alpine auth: username: mydockerhub-user password: $DOCKERHUB_PASSWORD environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: psdb steps: - checkout - restore_cache: key: npm-v4-dependencies-{{ checksum "yarn.lock" }} - run: name: yarn e2e test environment: DATABASE_URL: postgres://postgres:postgres@localhost:5432/psdb command: yarn test:e2e doc: docker: - image: cimg/node:14.15.0 # the primary container, where your job's commands are run auth: username: mydockerhub-user password: $DOCKERHUB_PASSWORD # context / project UI env-var reference steps: - checkout - restore_cache: key: npm-v4-dependencies-{{ checksum "yarn.lock" }} - run: name: yarn doc:build - store_artefacts: path: docs workflows: version: 2 build_and_test: jobs: - build - test1: requires: - build - test2: requires: - build - test1