# version: 2.1 # jobs: # build: # docker: &shared_docker # - image: circleci/node:12 # steps: # - checkout # check out the code in the project directory # - restore_cache: # keys: # - npm-v1-dependencies-{{ checksum "yarn.lock" }} # - run: yarn global add node-gyp && yarn install # - save_cache: # key: npm-v1-dependencies-{{ checksum "yarn.lock" }} # paths: # - ./node_modules # job2: # docker: *shared_docker # steps: # - checkout # - restore_cache: # keys: # - npm-v1-dependencies-{{ checksum "yarn.lock" }} # - run: echo Hello World ! # workflows: # version: 2 # build_test: # jobs: # - build # - job2 version: 2 jobs: build-frontend: docker: &docker - image: circleci/node:12 working_directory: ~/repo steps: - run: echo build-frontend step build-backend: docker: *docker working_directory: ~/repo steps: - run: echo build-backend step test-frontend: docker: *docker working_directory: ~/repo steps: - run: echo test-frontend step test-backend: docker: *docker working_directory: ~/repo steps: - run: echo test-backend step integration-tests: docker: *docker working_directory: ~/repo steps: - run: echo integration-tests step deploy: docker: *docker working_directory: ~/repo steps: - run: echo deploy step workflows: version: 2 build-and-test: jobs: - build-frontend - build-backend - test-frontend: requires: - build-frontend - test-backend: requires: - build-backend - integration-tests: requires: - build-backend - build-frontend - deploy: requires: - test-frontend - test-backend - integration-tests