From d2850b5b809759bafa7aead995d069acc023af15 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Wed, 25 Oct 2017 20:01:54 -0700 Subject: 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 --- .travis.yml | 136 +++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 103 insertions(+), 33 deletions(-) (limited to '.travis.yml') 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 -- cgit v1.2.3 From 48fdabdcda59c7ddf87083fa3c6ea3fcf02d7997 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Thu, 26 Oct 2017 12:07:26 -0700 Subject: travis: Adding gcc-4.8 and gcc-6 on Linux. --- .travis.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index b04e73dcd..fbb4018af 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,53 @@ env: matrix: include: + # Latest gcc-4.8, earliest version supported by Travis + - os: linux + addons: + apt: + packages: + - g++-4.8 + - 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-4.8 && CXX=g++-4.8" + + # Latest gcc-6 on Travis Linux + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-6 + - 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-6 && CXX=g++-6" # Latest gcc supported on Travis Linux - os: linux -- cgit v1.2.3