version: 2.1
orbs:
  node: circleci/node@1.1.6
jobs:
  test:
    executor:
      name: node/default
    steps:
      - checkout
      - node/with-cache:
          steps:
            - run: npm test
  release:
    docker:
      - image: circleci/node:10.18.0
    steps:
      - checkout
      - run:
          name: install
          command: npm install
      - run:
          name: release
          command: npm run semantic-release || true
workflows:
    test_and_release:
      jobs:
        - test
        - release:
            requires:
              - test
