version: 2
jobs:
  build:
    docker:
      - image: circleci/node:11.3-browsers
        environment:
          TZ: "Europe/London"
    steps:
      - checkout
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "package.json" }}
      - run: npm install
      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "package.json" }}
      - run: npm run check-build
      - run: npm run test:coverage-ci
  deploy:
    docker:
      - image: circleci/node:11.3-browsers
    steps:
      - checkout
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "package.json" }}
      - run: npm install
      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "package.json" }}
      - run: npm run styleguide:build && ./deploy.sh -v
      - run: npm run semantic-release

workflows:
  version: 2
  build_and_deploy:
    jobs:
      - build:
          filters:
            branches:
              ignore: gh-pages
      - deploy:
          requires:
            - build
          filters:
            branches:
              only: master
