version: 2.1 jobs: build: docker: &docker - image: circleci/node:12 steps: - checkout - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn global add node-gyp && yarn install - run: name: Creating Dummy Artifacts command: echo "my artifact file" > /tmp/artifact-1; mkdir /tmp/artifacts; echo "my artifact files in a dir" > /tmp/artifacts/artifact-2; - store_artifacts: path: /tmp/artifact-1 destination: doc-server - store_artifacts: path: /tmp/artifacts - run: yarn doc:build - save_cache: paths: - ./node_modules key: npm-v1-dependencies-{{ checksum "yarn.lock" }} lint: docker: *docker steps: - checkout - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn lint && yarn format:check test: docker: *docker steps: - checkout - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn test:ci db: docker: - image: cimg/node:12.18.4 environment: DATABASE_URL: postgres://logan:chucknorris@localhost:5432/dbCI JWT_SECRET: some string yo want API_PORT: 3000 API_HOST: localhost API_PROTOCOL: http - image: circleci/postgres:9.6.2-alpine environment: POSTGRES_USER: logan POSTGRES_DB: dbCI POSTGRES_PASSWORD: chucknorris steps: - checkout - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn test:e2e workflows: version : 2 build_wokflow: jobs: - build - lint: requires: - build - test: requires: - build - db: requires: - build