diff options
author | Tim 'mithro' Ansell <mithro@mithis.com> | 2017-10-25 20:01:54 -0700 |
---|---|---|
committer | Tim 'mithro' Ansell <mithro@mithis.com> | 2017-11-24 15:45:45 +1100 |
commit | d2850b5b809759bafa7aead995d069acc023af15 (patch) | |
tree | b5a83698337ff5f4934c3e1e70d536d3b52243f6 /.travis.yml | |
parent | f513494f5fabd2596b1748cf67dcaf70723b28f7 (diff) | |
download | yosys-d2850b5b809759bafa7aead995d069acc023af15.tar.gz yosys-d2850b5b809759bafa7aead995d069acc023af15.tar.bz2 yosys-d2850b5b809759bafa7aead995d069acc023af15.zip |
travis: Reworking travis setup.
* Move the code into scripts inside .travis directory.
* Build on multiple compiler versions.
Fixes #442 - Make travis build pass
Fixes #441 - Fix git version information on travis build
Fixes #440 - Make travis cache the iverilog build
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 136 |
1 files changed, 103 insertions, 33 deletions
diff --git a/.travis.yml b/.travis.yml index 1c08c21a8..b04e73dcd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,36 +1,106 @@ sudo: false -script: make && make test language: cpp -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gperf - - build-essential - - clang - - bison - - flex - - libreadline-dev - - gawk - - tcl-dev - - libffi-dev - - git - - mercurial - - graphviz - - xdot - - pkg-config - - python - - g++-4.8 + +cache: + ccache: true + directories: + - ~/.local-bin + + +env: + global: + - MAKEFLAGS="-j 2" + +matrix: + include: + + # Latest gcc supported on Travis Linux + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-7 + - gperf + - build-essential + - bison + - flex + - libreadline-dev + - gawk + - tcl-dev + - libffi-dev + - git + - mercurial + - graphviz + - xdot + - pkg-config + - python + env: + - MATRIX_EVAL="CONFIG=gcc && CC=gcc-7 && CXX=g++-7" + + # Clang which ships on Trusty Linux + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - clang-3.8 + - gperf + - build-essential + - bison + - flex + - libreadline-dev + - gawk + - tcl-dev + - libffi-dev + - git + - mercurial + - graphviz + - xdot + - pkg-config + - python + env: + - MATRIX_EVAL="CONFIG=clang && CC=clang-3.8 && CXX=clang++-3.8" + + # Latest clang supported by Travis Linux + - os: linux + addons: + apt: + sources: + - llvm-toolchain-trusty-5.0 + packages: + - clang-5.0 + - gperf + - build-essential + - bison + - flex + - libreadline-dev + - gawk + - tcl-dev + - libffi-dev + - git + - mercurial + - graphviz + - xdot + - pkg-config + - python + env: + - MATRIX_EVAL="CONFIG=clang && CC=clang-5.0 && CXX=clang++-5.0" + + # Latest clang on Mac OS X + - os: osx + osx_image: xcode8 + env: + - MATRIX_EVAL="CONFIG=gcc && CC=gcc-7 && CXX=g++-7" + before_install: - - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew tap Homebrew/bundle && brew bundle; fi - - git clone git://github.com/steveicarus/iverilog.git - - (cd iverilog && autoconf && ./configure --prefix=$HOME/iverilog && make && make install) - - export PATH=$PATH:$HOME/iverilog/bin -compiler: -# - clang - - gcc -os: - - linux -# - osx + - ./.travis/setup.sh + +script: + - ./.travis/build-and-test.sh + +after_success: + - ./.travis/deploy-after-success.sh |