dist: trusty
language: cpp
sudo: required
branches:
  only:
    - master
    - cleaner_parsing
    - scaling-old-parsing
    - batch_parsing
    - batch_parsing_output
    - blocked_input
    - bug_fixes
matrix:
  include:
    # MacOS
    - os: osx
      osx_image: xcode11.2
      compiler: clang
      env:
        - CC=clang
        - CXX=clang++
        - NPROC="$(sysctl -n hw.activecpu)"
      before_install:
        - brew unlink python@2
        - brew install tbb
        - brew install python
    # ARM 64-bit
    - os: linux
      arch: arm64
      compiler: clang
      env:
        # Set POPCNT_CAPABILITY=0 to avoid build error
        - POPCNT_CAPABILITY=0
        - NO_TBB=1
        - CC=clang
        - CXX=clang++
      script: travis_wait 30 make -j4 allall
    # IBM Z (big endian)
    - os: linux
      arch: s390x
      env:
        - POPCNT_CAPABILITY=0
        - NO_TBB=1
        - CC=clang
        - CXX=clang++
    # PPC64LE
    - os: linux
      arch: ppc64le
      compiler: clang
      env:
        - POPCNT_CAPABILITY=0
        - NO_TBB=1
        - CC=clang
        - CXX=clang++
cache: apt
env:
  global:
    - NPROC="$(nproc)"
before_script:
  - uname -m
  - python3 --version
  - echo CC=${CC} CXX=${CXX} NPROC=${NPROC}
  - $CC --version
  - $CXX --version
script: travis_wait 25 make -j $NPROC allall && make simple-test
notifications:
  slack:
    secure: tfzT8N1fNV+oSV7tide9WrAj3ifs+LONJ3fCH1tUzexqrx23te4lE0oAj9C1cEMJ4evyRYwHNG8HZoLCOy8EfapqbWm6vgLIlkIBpeZ9E6f2jG6v0YuVDWWpqQC3qdGXCqWtHPjgs3i5OLsLwwQ/LItLoTqpBk2aYv+vGNs2F9g=
