version: 2
jobs:
  build:
    docker:
      - image: circleci/node:12
    steps:
      - checkout
      - run: npm install --quiet
      - run: npm test
  pushS3:
    docker:
      - image: garland/aws-cli-docker
    steps:
      - checkout
      - run: aws s3 sync --acl public-read ./lib/tech-icons s3://assets.woorank.com/tech-icons
  publish:
    docker:
      - image: circleci/node:12
    steps:
      - checkout
      - deploy:
          command: |
            export PACKAGE_EXISTS="$(npm -s info wappalyzer-wrapper@$(npm run -s version) version || echo "")"
            echo "Existing version: ${PACKAGE_EXISTS}"
            if [[ ! $PACKAGE_EXISTS ]]; then
              echo "Publishing..."
              echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
              npm publish
            fi
workflows:
  version: 2
  build_pushS3_and_publish:
    jobs:
      - build
      - pushS3:
          requires:
            - build
          filters:
            branches:
              only: master
      - publish:
          requires:
            - build
            - pushS3
          filters:
            branches:
              only: master



