version: 2
jobs:
  build_stable:
    docker:
      - image: debian:stretch

    steps:
      - checkout

      - run:
          name: Install required tools
          command: 'apt-get update && apt-get install -y gcc g++ git cmake'
      - run:
          name: Run CMake
          command: 'mkdir build ; cd build ; cmake .. -DJSON_BuildTests=On'
      - run:
          name: Compile
          command: 'cmake --build build'
      - run:
          name: Execute test suite
          command: 'cd build ; ctest --output-on-failure -j 2'

  build_bleeding_edge:
    docker:
      - image: archlinux

    steps:
      - checkout

      - run:
          name: Install required tools
          command: 'pacman -Sy --noconfirm base base-devel gcc git cmake'
      - run:
          name: Run CMake
          command: 'mkdir build ; cd build ; cmake .. -DJSON_BuildTests=On'
      - run:
          name: Compile
          command: 'cmake --build build'
      - run:
          name: Execute test suite
          command: 'cd build ; ctest --output-on-failure -j 2'

workflows:
  version: 2
  build_and_test_all:
    jobs:
      - build_stable:
          filters:
            branches:
              ignore:
                gh-pages
      - build_bleeding_edge:
          filters:
            branches:
              ignore:
                gh-pages
