version: 2.1

jobs:
  build-and-test:
    machine:
      # Available machine images: https://circleci.com/docs/2.0/configuration-reference/#available-machine-images
      image: ubuntu-2004:202111-01
    working_directory: ~/app
    resource_class: large
    steps:
      - checkout
      - run:
          # Based on https://www.cloudesire.com/how-to-upgrade-node-on-circleci-machine-executor/
          name: Install NVM NodeJS
          command: |
            . .circleci/load-nvm.sh
            nvm install 16
            nvm alias default 16
      - run:
          name: Test
          command: |
            . .circleci/load-nvm.sh
            echo "$DOCKERHUB_PASSWORD" | docker login -u "$DOCKERHUB_LOGIN" --password-stdin >/dev/null 2>&1
            npm run test

workflows:
  everything:
    jobs:
      - build-and-test
