language: c
sudo: false
dist: trusty
addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test

install:
  - ./tools/ci/travis.sh getplugins || true

before_script:
  - uname -a
  - ./tools/ci/travis.sh createdb ragnarok root
  - ./tools/ci/travis.sh importdb ragnarok root
  - ./tools/ci/travis.sh adduser ragnarok travis travis root

script:
  - if [[ ! -z "${HPM}" ]]; then ./tools/ci/travis.sh buildhpm $CONFIGURE_FLAGS; fi
  - ./tools/ci/travis.sh build $CONFIGURE_FLAGS
  - ./tools/ci/travis.sh test ragnarok travis travis

compiler: false # Necessary at the top level because referenced by allow_failures
env: ignore=this # Necessary at the top level because referenced by allow_failures

matrix:
  allow_failures:
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-buildbot"
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --disable-renewal --enable-Werror --enable-buildbot"
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-buildbot"
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --disable-renewal --enable-Werror --enable-buildbot"
  exclude:
  - env: ignore=this
  - compiler: false
  include:
  - compiler: gcc
    env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-buildbot" HPM="1"
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-6
        - doxygen
        - libxml-simple-perl
        - libxml-sax-perl
        - libxml-parser-perl
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - llvm-toolchain-trusty-5.0
        - ubuntu-toolchain-r-test
        packages:
        - clang-5.0
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --disable-renewal --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - llvm-toolchain-trusty-5.0
        - ubuntu-toolchain-r-test
        packages:
        - clang-5.0
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - llvm-toolchain-trusty-4.0
        - ubuntu-toolchain-r-test
        packages:
        - clang-4.0
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --disable-renewal --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - llvm-toolchain-trusty-4.0
        - ubuntu-toolchain-r-test
        packages:
        - clang-4.0
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-buildbot"
  - compiler: clang
    env: CONFIGURE_FLAGS="--enable-debug --disable-renewal --enable-Werror --enable-buildbot"
  - compiler: gcc
    env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-buildbot"
  - compiler: gcc
    env: CONFIGURE_FLAGS="--enable-debug --disable-renewal --enable-Werror --enable-buildbot"
  - compiler: gcc
    env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-5
  - compiler: gcc
    env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-5
  - compiler: gcc
    env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-6
  - compiler: gcc
    env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
    addons:
      apt:
        sources:
        - ubuntu-toolchain-r-test
        packages:
        - gcc-6

notifications:
  email: false

branches:
  except:
    - rathena