aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorTim 'mithro' Ansell <mithro@mithis.com>2017-10-25 20:01:54 -0700
committerTim 'mithro' Ansell <mithro@mithis.com>2017-11-24 15:45:45 +1100
commitd2850b5b809759bafa7aead995d069acc023af15 (patch)
treeb5a83698337ff5f4934c3e1e70d536d3b52243f6 /.travis.yml
parentf513494f5fabd2596b1748cf67dcaf70723b28f7 (diff)
downloadyosys-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.yml136
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