91 lines
3.0 KiB
YAML
91 lines
3.0 KiB
YAML
language: cpp
|
|
dist: focal
|
|
os: linux
|
|
compiler: gcc
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- build-essential
|
|
- valgrind
|
|
- libstdc++6
|
|
|
|
env:
|
|
global:
|
|
- TOOLDIR=$HOME/tools
|
|
|
|
cache:
|
|
directories:
|
|
- $TOOLDIR
|
|
- $HOME/build32
|
|
- $HOME/build64
|
|
|
|
before_install:
|
|
- if [ ! -d "$TOOLDIR" ] || [ -z "$(ls -A $TOOLDIR)" ]; then
|
|
mkdir -p $TOOLDIR;
|
|
OSDIR=ubuntu/focal ./ci/toolchain_install.sh --all;
|
|
fi
|
|
- source ./ci/toolchain_env.sh
|
|
|
|
stages:
|
|
- setup
|
|
- test
|
|
|
|
jobs:
|
|
include:
|
|
- stage: setup
|
|
script:
|
|
- rm -rf $HOME/build32 && cp -r $PWD $HOME/build32
|
|
- rm -rf $HOME/build64 && cp -r $PWD $HOME/build64
|
|
- make -C $HOME/build32
|
|
- XLEN=64 make -C $HOME/build64
|
|
- stage: test
|
|
name: unittest
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --unittest
|
|
- stage: test
|
|
name: isa
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --isa
|
|
- stage: test
|
|
name: isa64
|
|
script: cp -r $HOME/build64 build && cd build && XLEN=64 ./ci/travis_run.py ./ci/regression.sh --isa
|
|
- stage: test
|
|
name: regression
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --regression
|
|
- stage: test
|
|
name: regression64
|
|
script: cp -r $HOME/build64 build && cd build && XLEN=64 ./ci/travis_run.py ./ci/regression.sh --regression
|
|
- stage: test
|
|
name: opencl
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --opencl
|
|
- stage: test
|
|
name: cluster
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --cluster
|
|
- stage: test
|
|
name: config
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --config
|
|
- stage: test
|
|
name: debug
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --debug
|
|
- stage: test
|
|
name: stress0
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --stress0
|
|
- stage: test
|
|
name: stress1
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --stress1
|
|
- stage: test
|
|
name: synthesis
|
|
script: cp -r $HOME/build32 build && cd build && ./ci/travis_run.py ./ci/regression.sh --synthesis
|
|
- stage: test
|
|
name: synthesis64
|
|
script: cp -r $HOME/build64 build && cd build && XLEN=64 ./ci/travis_run.py ./ci/regression.sh --synthesis
|
|
|
|
after_success:
|
|
# Gather code coverage
|
|
- lcov --directory runtime --capture --output-file runtime.cov # capture trace
|
|
- lcov --directory sim --capture --output-file sim.cov # capture trace
|
|
- lcov --list runtime.cov # output coverage data for debugging
|
|
- lcov --list sim.cov # output coverage data for debugging
|
|
# Upload coverage report
|
|
- bash <(curl -s https://codecov.io/bash) -f runtime.cov
|
|
- bash <(curl -s https://codecov.io/bash) -f sim.cov
|