language: generic os: - linux - osx sudo: false before_install: - git submodule update --init --recursive install: # source because it sets up env vars on some platforms - source ci/travis/travis_install.sh script: ./run_tests.py env: matrix: - YCM_PYTHON_VERSION=2.7 - YCM_PYTHON_VERSION=2.6 - YCM_PYTHON_VERSION=3.3 matrix: exclude: - os: osx env: YCM_PYTHON_VERSION=2.6 addons: apt: sources: # The Travis apt source whitelist can be found here: # https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json - ubuntu-toolchain-r-test # for new libstdc++ - deadsnakes # for various versions of python - kalakris-cmake # for a more recent version of cmake (needed for ninja-build) packages: - cmake - ninja-build # The confusing part is that on Travis Linux with YCMD_PYTHON_VERSION=3.3, # we build the C++ parts against the below system python3.3, but run # against the pyenv python3.3. This is because stupid cmake 2.8.11 has a # bug preventing it from finding the pyenv pythons (ostensibly; I haven't # checked, but online reports say the issue is gone with cmake 3.4). # Everything still works though, it's just weird. - python3.3 - python3.3-dev # Everything below is a Python build dep (though it depends on Python # version). We need them because pyenv builds Python. - libssl-dev - zlib1g-dev - libbz2-dev - libreadline-dev - libsqlite3-dev - wget - curl - llvm - libncurses5-dev - libncursesw5-dev cache: directories: - $HOME/.cache/pip # Python packages from pip - $HOME/.pyenv # pyenv