blob: e9c240d248f914c3822147167b6cdc7c24f745fc [file] [log] [blame]
language: cpp
dist: trusty
addons:
apt:
sources:
- george-edison55-precise-backports # For cmake
- llvm-toolchain-precise-3.6
- llvm-toolchain-trusty-6.0
- llvm-toolchain-trusty-7 # For clang-format-7
- llvm-toolchain-trusty-8
- ubuntu-toolchain-r-test
packages:
- autoconf
- automake
- bash
- bison
- binutils
- binutils-gold
- build-essential
- cmake
- ctags
- curl
- doxygen
- flex
- fontconfig
- gdb
- git
- gperf
- libcairo2-dev
- libgtk-3-dev
- libevent-dev
- libfontconfig1-dev
- liblist-moreutils-perl
- libncurses5-dev
# - libtbb-dev
- libx11-dev
- libxft-dev
- libxml++2.6-dev
- perl
- python
- python-lxml
- texinfo
- time
- valgrind
- zip
- qt5-default
- clang-format-7
# All the compilers!
- g++-4.9
- gcc-4.9
- g++-5
- gcc-5
- g++-6
- gcc-6
- g++-7
- gcc-7
- g++-8
- gcc-8
- g++-9
- gcc-9
- clang-6.0
- clang-8
cache:
ccache: true
#directories:
#- /home/travis/vtr-build
#- /home/travis/vtr
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
stages:
# - name: Build
# if: type != cron
- name: Test
if: type != cron
- name: Build Coverity
if: type = cron
jobs:
include:
#Build stage disabled for now due to caching issues
#- stage: Build
#name: "Building VtR"
#env:
#- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
#- BUILD_TYPE=release
#script:
#- ./.github/travis/build.sh
- stage: Test
name: "Code Formatting"
script:
- ./dev/check-format.sh
- stage: Test
name: "C++ Unit Tests"
script:
- ./.github/travis/build.sh
- ./.github/travis/unittest.sh
- stage: Test
name: "Basic Regression Tests"
script:
- ./.github/travis/build.sh
- ./run_reg_test.pl vtr_reg_basic -show_failures -j2
- stage: Test
name: "Strong Regression Tests"
script:
- ./.github/travis/build.sh
- travis_wait 30 ./run_reg_test.pl vtr_reg_strong -show_failures -j2
- stage: Test
name: "Basic Valgrind Memory Tests"
script:
- ./.github/travis/build.sh
- ./run_reg_test.pl vtr_reg_valgrind_small -show_failures -j2
- stage: Test
name: "ODIN-II Micro Tests"
script:
- ./.github/travis/build.sh
- ./run_reg_test.pl odin_reg_micro -show_failures -j2
- stage: Test
name: "Build Compatibility: GCC 5 (Ubuntu Xenial - 16.04)"
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
- BUILD_TYPE=release_strict
script:
- ./.github/travis/build.sh
- stage: Test
name: "Build Compatibility: GCC 6 (Debian Stretch)"
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- BUILD_TYPE=release_strict
script:
- ./.github/travis/build.sh
- stage: Test
name: "Build Compatibility: GCC 7 (Ubuntu Bionic - 18.04)"
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
script:
- ./.github/travis/build.sh
- stage: Test
name: "Build Compatibility: GCC 8 (Ubuntu Latest)"
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
script:
- ./.github/travis/build.sh
- stage: Test
name: "Build Compatibility: GCC 9 (Latest Release)"
env:
- MATRIX_EVAL="CC=gcc-9 && CXX=g++-9"
script:
- ./.github/travis/build.sh
- stage: Test
name: "Build Compatibility: Clang 6 (Debian + Ubuntu common)"
env:
- MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
script:
- ./.github/travis/build.sh
- stage: Test
name: "Build Compatibility: Clang 8 (Latest Release)"
env:
- MATRIX_EVAL="CC=clang-8 && CXX=clang++-8"
script:
- ./.github/travis/build.sh
- stage: Build Coverity
name: "Coverity Scan"
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- _COVERITY_URL="https://scan.coverity.com/download/linux64"
- _COVERITY_MD5="d0d7d7df9d6609e578f85096a755fb8f"
script:
- ./.github/travis/cron_build.sh
before_script:
- source .github/travis/common.sh
- ./.github/travis/setup.sh
after_script:
- ./.github/travis/setup.sh
script:
- true