<commit_before>language: d
sudo: false
dist: trusty

services:
  - mongodb
  - redis-server

addons:
  apt:
    packages:
    - libevent-dev
    - libssl-dev
    - pkg-config
    - zlib1g-dev

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.076.0
  - dmd-2.071.2
  - ldc-1.3.0
  - ldc-1.2.0
  - ldc-1.1.1
  - dmd-2.075.1
  - dmd-2.074.1
  - dmd-2.073.2
  - dmd-2.072.2
  - dmd-beta

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

matrix:
  include:
    - d: dmd
      # https://issues.dlang.org/show_bug.cgi?id=13742
      env: DFLAGS="-cov -version=VibedSetCoverageMerge" DUB_BUILD_MODE="singleFile"
  exclude:
    - d: ldc-1.2.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
    - d: ldc-1.1.1
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
  allow_failures:
    - d: dmd-beta
    - d: ldc-1.3.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0

before_install:
  - pyenv global system 3.5
  - pip3 install meson>=0.40

install:
  - mkdir .ntmp
  - curl -L https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip -o .ntmp/ninja-linux.zip
  - unzip .ntmp/ninja-linux.zip -d .ntmp

before_script:
  - export PATH=$PATH:$PWD/.ntmp

script: ./travis-ci.sh
after_success:
 - bash <(curl -s https://codecov.io/bash)<commit_msg>travis: Exclude faulty Meson version, update ninja version<commit_after>language: d
sudo: false
dist: trusty

services:
  - mongodb
  - redis-server

addons:
  apt:
    packages:
      - pkg-config
      - zlib1g-dev
      - libevent-dev
      - libssl-dev

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.076.0
  - dmd-2.071.2
  - ldc-1.3.0
  - ldc-1.2.0
  - ldc-1.1.1
  - dmd-2.075.1
  - dmd-2.074.1
  - dmd-2.073.2
  - dmd-2.072.2
  - dmd-beta

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

matrix:
  include:
    - d: dmd
      # https://issues.dlang.org/show_bug.cgi?id=13742
      env: DFLAGS="-cov -version=VibedSetCoverageMerge" DUB_BUILD_MODE="singleFile"
  exclude:
    - d: ldc-1.2.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
    - d: ldc-1.1.1
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0
  allow_failures:
    - d: dmd-beta
    - d: ldc-1.3.0
      env: VIBED_DRIVER=libasync BUILD_EXAMPLE=0 RUN_TEST=0

before_install:
  - pyenv global system 3.5
  - pip3 install 'meson>=0.42,!=0.43'

install:
  - mkdir .ntmp
  - curl -L https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip -o .ntmp/ninja-linux.zip
  - unzip .ntmp/ninja-linux.zip -d .ntmp

before_script:
  - export PATH=$PATH:$PWD/.ntmp

script: ./travis-ci.sh
after_success:
 - bash <(curl -s https://codecov.io/bash)
{'fraction_non_alphanumeric': 0.12718505123568416, 'fraction_numerical': 0.0461121157323689, 'mean_word_length': 2.7250280583613917, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7674201', 'n_tokens_mistral': 1517, 'n_tokens_neox': 1423, 'n_words': 284}