version: 2 defaults: &defaults working_directory: ~/repo/test docker: - image: circleci/node:12.7 jobs: test: <<: *defaults steps: - checkout: path: ~/repo # Download and cache dependencies - restore_cache: keys: - v1-dependencies-{{ checksum "package.json" }} # fallback to using the latest cache if no exact match is found - v1-dependencies- - run: npm install - save_cache: paths: - node_modules key: v1-dependencies-{{ checksum "package.json" }} - run: name: Test command: npm test - persist_to_workspace: root: ~/repo paths: . deploy: <<: *defaults steps: - attach_workspace: at: ~/repo - run: name: Schedule site build command: curl -X POST -d {} $BUILD_HOOK workflows: version: 2 test-deploy: jobs: - test - deploy: requires: - test filters: branches: only: master