1language: c
2
3# use container infra for linux
4dist: trusty
5sudo: false
6
7addons:
8  apt:
9    sources:
10      - deadsnakes
11      - ubuntu-toolchain-r-test
12    packages:
13      - php5-cli
14      - python2.7
15      - python2.7-dev
16      - python3.5
17      - python3.5-dev
18      - python3.6
19      - python3.6-dev
20      - gcc-4.8
21      - g++-4.8
22      - gcc-5
23      - g++-5
24      - gcc-6
25      - g++-6
26#      - ruby
27#      - rubygems
28#      - valgrind
29
30branches:
31  only:
32    - master
33
34# for the ruby-watchman gem
35#gemfile: ruby/ruby-watchman/Gemfile
36#rvm:
37#  - "2.0.0"
38
39# TODO: On Linux we currently use system versions of Python. That makes it
40# somewhat annoying to get third-party dependencies in, since sudo isn't
41# available. We should figure out how to solve this for real, either with
42# virtualenv or with the pyenv mechanism Hypothesis uses:
43# http://www.drmaciver.com/2015/10/a-whirlwind-tour-of-the-hypothesis-build/
44matrix:
45  include:
46    - os: osx
47      env: TRAVIS_PYTHON=python2.6
48    - os: osx
49      env: TRAVIS_PYTHON=python2.7
50    - os: osx
51      env: TRAVIS_PYTHON=python3.5
52    - os: osx
53      env: TRAVIS_PYTHON=python3.6
54    - os: osx
55      osx_image: xcode7.3
56      env: TRAVIS_PYTHON=python2.7 ENABLE_ASAN=1
57    - os: osx
58      osx_image: xcode7.3
59      env: TRAVIS_PYTHON=python3.5 ENABLE_ASAN=1
60    - os: osx
61      osx_image: xcode8.3
62      env: TRAVIS_PYTHON=python3.6 ENABLE_ASAN=1
63    - os: linux
64      env: TRAVIS_PYTHON=python2.7 ENABLE_ASAN=1 CXX=g++-5
65      compiler: gcc-5
66    - os: linux
67      env: TRAVIS_PYTHON=python3.5 ENABLE_ASAN=1 CXX=g++-5
68      compiler: gcc-5
69    - os: linux
70      env: TRAVIS_PYTHON=python3.6 ENABLE_ASAN=1 CXX=g++-6
71      compiler: gcc-6
72    - os: linux
73      env: TRAVIS_PYTHON=python2.7 CXX=g++-4.8
74      compiler: gcc-4.8
75    - os: linux
76      env: TRAVIS_PYTHON=python3.5 CXX=g++-4.8
77      compiler: gcc-4.8
78    - os: linux
79      env: TRAVIS_PYTHON=python3.6 CXX=g++-4.8
80      compiler: gcc-4.8
81
82before_script: ./travis/deps.sh
83script: ./travis/run.sh
84