cva6/.travis.yml
2019-06-04 10:36:17 +02:00

216 lines
5.9 KiB
YAML

language: cpp
# run on new infrastructure
sudo: false
cache:
apt: true
directories:
$RISCV
$VERILATOR_ROOT
timeout: 1000
# required packages to install
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-7
- g++-7
- gperf
- autoconf
- automake
- autotools-dev
- libmpc-dev
- libmpfr-dev
- libgmp-dev
- gawk
- build-essential
- bison
- flex
- texinfo
- python-pexpect
- libusb-1.0-0-dev
- default-jdk
- zlib1g-dev
- valgrind
env:
global:
- RISCV="/home/travis/riscv_install"
- VERILATOR_ROOT="/home/travis/verilator-4.014/"
branches:
only:
- master
- ariane-dev
before_install:
- export CXX=g++-7 CC=gcc-7
# setup dependent paths
- export PATH=$RISCV/bin:$VERILATOR_ROOT/bin:$PATH
- export LIBRARY_PATH=$RISCV/lib
- export LD_LIBRARY_PATH=$RISCV/lib
- export C_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include
- export CPLUS_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include
# number of parallel jobs to use for make commands and simulation
- export NUM_JOBS=4
- ci/make-tmp.sh
- git submodule update --init --recursive
stages:
- checkout
- compile1
- compile2
- test
jobs:
include:
- stage: checkout
name: checkout gcc
script:
- ci/build-riscv-gcc.sh 0
- stage: compile1
name: build gcc
script:
- ci/build-riscv-gcc.sh 1
- rm -rf $RISCV/riscv-gnu-toolchain
- stage: compile2
name: build tools
script:
- ci/install-fesvr.sh
- ci/install-verilator.sh
- ci/install-dtc.sh
- ci/install-spike.sh
- stage: test
name: run riscv benchmarks (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-benchmarks-verilator defines=WB_DCACHE
# asm tests
# rv64ui-v-* tests
- stage: test
name: run asm tests1 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests1-verilator defines=WB_DCACHE
- stage: test
name: run asm tests2 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests2-verilator defines=WB_DCACHE
# rv64ui-p-* tests
- stage: test
name: run asm tests3 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests3-verilator defines=WB_DCACHE
- stage: test
name: run asm tests4 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests4-verilator defines=WB_DCACHE
# rv64mi-p-* tests
- stage: test
name: run asm tests5 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests5-verilator defines=WB_DCACHE
# rv64-* other tests
- stage: test
name: run asm tests6 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests6-verilator defines=WB_DCACHE
# rv64um-*-* tests
- stage: test
name: run mul tests (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-mul-verilator defines=WB_DCACHE
# amo tests
# rv64ua-v-* tests
- stage: test
name: run amo tests1 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- travis_wait 60 make -j${NUM_JOBS} run-amo-tests1-verilator defines=WB_DCACHE
- stage: test
name: run amo tests2 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- travis_wait 60 make -j${NUM_JOBS} run-amo-tests2-verilator defines=WB_DCACHE
# rv64ua-p-* tests
- stage: test
name: run amo tests3 (Write-Back Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-amo-tests3-verilator defines=WB_DCACHE
- stage: test
name: run riscv benchmarks (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-benchmarks-verilator defines=WT_DCACHE
# asm tests
# rv64ui-v-* tests
- stage: test
name: run asm tests1 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests1-verilator defines=WT_DCACHE
- stage: test
name: run asm tests2 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests2-verilator defines=WT_DCACHE
# rv64ui-p-* tests
- stage: test
name: run asm tests3 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests3-verilator defines=WT_DCACHE
- stage: test
name: run asm tests4 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests4-verilator defines=WT_DCACHE
# rv64mi-p-* tests
- stage: test
name: run asm tests5 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests5-verilator defines=WT_DCACHE
# rv64-* other tests
- stage: test
name: run asm tests6 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests6-verilator defines=WT_DCACHE
# amo tests
# rv64ua-v-* tests
- stage: test
name: run amo tests1 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-amo-tests1-verilator defines=WT_DCACHE
- stage: test
name: run amo tests2 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-amo-tests2-verilator defines=WT_DCACHE
# rv64ua-p-* tests
- stage: test
name: run amo tests3 (Write-through Cache)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-amo-tests3-verilator defines=WT_DCACHE
# extra time during long builds
install: travis_wait