1
0

WIP PR to figure out why travis is failing (#471)

Make travis use a docker image with pre-built toolchain and verilator
This commit is contained in:
Henry Cook 2016-12-04 13:10:13 -08:00 committed by GitHub
parent 4234cff074
commit 9fb7934a37
2 changed files with 12 additions and 37 deletions

View File

@ -1,37 +1,18 @@
git: git:
submodules: false submodules: false
language: scala language: scala
# run on new infrastructure sudo: required
sudo: false services:
- docker
cache: cache:
apt: true
directories: directories:
$HOME/.ivy2 $HOME/.ivy2
regression/install
emulator/verilator
# packages needed to build riscv-tools
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-4.8
- g++-4.8
- gperf
- autoconf
- automake
- autotools-dev
- libmpc-dev
- libmpfr-dev
- libgmp-dev
- gawk
- build-essential
- bison
- flex
- texinfo
env: env:
global:
- CACHE_NAME=RocketChip
- RISCV=/opt/riscv
- TORTURE_CONFIG=default
matrix: matrix:
- SUITE=RocketSuiteA - SUITE=RocketSuiteA
- SUITE=RocketSuiteB - SUITE=RocketSuiteB
@ -47,15 +28,9 @@ branches:
- boom - boom
- /^hurricane.*$/ - /^hurricane.*$/
install:
- make tools verilator -C regression SUITE=none
before_install: before_install:
- export CXX=g++-4.8 CC=gcc-4.8 - docker pull hcook/docker-riscv
script: script:
- make emulator-ndebug -C regression SUITE=$SUITE TORTURE_CONFIG=default - docker run -v /home/travis/build/ucb-bar/rocket-chip:/opt/riscv/test hcook/docker-riscv /bin/sh -c "which verilator; echo $INSTALLED_VERILATOR"
- make emulator-regression-tests -C regression SUITE=$SUITE TORTURE_CONFIG=default - docker run -v $HOME/.ivy2:/opt/riscv/test/.ivy2 -v /home/travis/build/ucb-bar/rocket-chip:/opt/riscv/test hcook/docker-riscv /bin/sh -c "make emulator-ndebug -C regression SUITE=$SUITE; make emulator-regression-tests -C regression SUITE=$SUITE"
before_cache:
- ls -t regression/install | tail -n+2 | sed s@^@regression/install/@ | xargs rm -rf

View File

@ -22,8 +22,8 @@ $(generated_dir_debug)/%.fir $(generated_dir_debug)/%.prm $(generated_dir_debug)
# Build and install our own Verilator, to work around versionining issues. # Build and install our own Verilator, to work around versionining issues.
VERILATOR_VERSION=3.884 VERILATOR_VERSION=3.884
VERILATOR_SRCDIR=verilator/src/verilator-$(VERILATOR_VERSION) VERILATOR_SRCDIR ?= verilator/src/verilator-$(VERILATOR_VERSION)
INSTALLED_VERILATOR=$(abspath verilator/install/bin/verilator) INSTALLED_VERILATOR ?= $(abspath verilator/install/bin/verilator)
$(INSTALLED_VERILATOR): $(VERILATOR_SRCDIR)/bin/verilator $(INSTALLED_VERILATOR): $(VERILATOR_SRCDIR)/bin/verilator
$(MAKE) -C $(VERILATOR_SRCDIR) installbin installdata $(MAKE) -C $(VERILATOR_SRCDIR) installbin installdata
touch $@ touch $@