language: d
sudo: false

services:
  - mongodb
  - redis-server

d:
  # order: latest DMD, oldest DMD, LDC/GDC, remaining DMD versions
  # this way the overall test time gets cut down (GDC/LDC are a lot
  # slower tham DMD, so they should be started early), while still
  # catching most DMD version related build failures early
  - dmd-2.072.1
  - dmd-2.068.2
  - ldc-1.0.0
  - ldc-1.1.0-beta6
  - dmd-2.071.2
  - dmd-2.070.2
  - dmd-2.069.2

env:
  - VIBED_DRIVER=libevent BUILD_EXAMPLE=1 RUN_TEST=1
  - VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0

matrix:
  exclude:
    - d: ldc-0.17.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
    - d: ldc-1.0.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
  allow_failures:
    - d: dmd-beta
    - d: ldc-1.1.0-beta6
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0

script: ./travis-ci.sh

language: d
sudo: false

services:
  - mongodb
  - redis-server

d:
  # order: latest DMD, oldest DMD, LDC/GDC, remaining DMD versions
  # this way the overall test time gets cut down (GDC/LDC are a lot
  # slower tham DMD, so they should be started early), while still
  # catching most DMD version related build failures early
  - dmd-2.072.1
  - dmd-2.068.2
  - ldc-1.0.0
  - ldc-1.1.0-beta6
  - dmd-2.071.2
  - dmd-2.070.2
  - dmd-2.069.2

env:
  - VIBED_DRIVER=libevent BUILD_EXAMPLE=1 RUN_TEST=1
  - VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0

matrix:
  exclude:
    - d: ldc-0.17.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
    - d: ldc-1.0.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
  allow_failures:
    - d: dmd-beta
    - d: ldc-1.1.0-beta6
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
    - d: dmd-2.068.2
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0

script: ./travis-ci.sh

Allow libasync build to fail on 2.068.2.
Allow libasync build to fail on 2.068.2.
