diff --git a/.travis.yml b/.travis.yml index 33e65c4ba..27978e4a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -# Build matrix / environment variable are explained on: +# Build matrix / environment variables are explained on: # http://about.travis-ci.org/docs/user/build-configuration/ # This file can be validated on: # http://lint.travis-ci.org/ @@ -6,54 +6,37 @@ # http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448 # to allow C++11, though we are not yet building with -std=c++11 -#before_install: pyenv install 3.5.4 && pyenv global 3.5.4 -before_install: pyenv global 3.6 -# https://docs.travis-ci.com/user/languages/python/ -# "for Trusty, this means 2.7.6 and 3.4.3" +before_install: +- source travis.before_install.${TRAVIS_OS_NAME}.sh install: -- if [[ $TRAVIS_OS_NAME == osx ]]; then - brew update; - brew install python3 ninja; - python3 -m venv venv; - source venv/bin/activate; - elif [[ $TRAVIS_OS_NAME == linux ]]; then - wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip; - unzip -q ninja-linux.zip -d build; - fi -- pip3 install meson -# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available. -- if [[ $CXX = g++ ]]; then export CXX="g++-4.9" CC="gcc-4.9"; fi -# /usr/bin/clang has a conflict with gcc, so use clang-X.Y. -- if [[ $CXX = clang++ ]]; then export CXX="clang++-3.5" CC="clang-3.5"; fi -- echo ${PATH} -- ls /usr/local -- ls /usr/local/bin -- export PATH="${PWD}"/build:/usr/local/bin:/usr/bin:${PATH} -- echo ${CXX} -- ${CXX} --version -- which valgrind +- source travis.install.${TRAVIS_OS_NAME}.sh addons: apt: sources: - - ubuntu-toolchain-r-test + #- ubuntu-toolchain-r-test - llvm-toolchain-precise-3.5 packages: - - gcc-4.9 - - g++-4.9 + #- gcc-4.9 + #- g++-4.9 - clang-3.5 - valgrind -os: - - linux language: cpp -compiler: - - gcc - - clang script: ./travis.sh -env: - matrix: - - LIB_TYPE=static BUILD_TYPE=release - - LIB_TYPE=shared BUILD_TYPE=debug +matrix: + allow_failures: + - os: osx +matrix: + include: + - os: osx + osx_image: xcode9.4 + compiler: clang + #env: PYENV_ROOT=/usr/local/var/pyenv + env: LIB_TYPE=static BUILD_TYPE=release + #- LIB_TYPE=shared BUILD_TYPE=debug + - os: linux + dist: trusty + compiler: clang + env: LIB_TYPE=static BUILD_TYPE=release notifications: email: false -dist: trusty sudo: false diff --git a/travis.before_install.linux.sh b/travis.before_install.linux.sh new file mode 100644 index 000000000..18e019d84 --- /dev/null +++ b/travis.before_install.linux.sh @@ -0,0 +1,7 @@ +set -vex +#before_install: pyenv install 3.5.4 && pyenv global 3.5.4 +#before_install: pyenv global 3.6 +# https://docs.travis-ci.com/user/languages/python/ +# "for Trusty, this means 2.7.6 and 3.4.3" + +pyenv global 3.6 diff --git a/travis.before_install.osx.sh b/travis.before_install.osx.sh new file mode 100644 index 000000000..a8377faef --- /dev/null +++ b/travis.before_install.osx.sh @@ -0,0 +1,3 @@ +set -vex +#brew install pyenv +#which pyenv diff --git a/travis.install.linux.sh b/travis.install.linux.sh new file mode 100644 index 000000000..a049f760c --- /dev/null +++ b/travis.install.linux.sh @@ -0,0 +1,14 @@ +set -vex + +wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip +unzip -q ninja-linux.zip -d build + +pip3 install meson +# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available. +if [[ $CXX = g++ ]]; then export CXX="g++-4.9" CC="gcc-4.9"; fi +# /usr/bin/clang has a conflict with gcc, so use clang-X.Y. +if [[ $CXX = clang++ ]]; then export CXX="clang++-3.5" CC="clang-3.5"; fi +echo ${PATH} +ls /usr/local +ls /usr/local/bin +export PATH="${PWD}"/build:/usr/local/bin:/usr/bin:${PATH} diff --git a/travis.install.osx.sh b/travis.install.osx.sh new file mode 100644 index 000000000..e82bdc660 --- /dev/null +++ b/travis.install.osx.sh @@ -0,0 +1,12 @@ +set -vex + +#brew update +brew upgrade python3 +python3 -m venv venv +source venv/bin/activate + +brew install ninja +brew install meson + +#brew install pyenv +#which pyenv diff --git a/travis.sh b/travis.sh index 226c64d94..f0628fc56 100755 --- a/travis.sh +++ b/travis.sh @@ -17,6 +17,9 @@ set -vex env | sort +echo ${CXX} +${CXX} --version +python3 --version meson --version ninja --version meson --buildtype ${BUILD_TYPE} --default-library ${LIB_TYPE} . build-${LIB_TYPE}