language: cpp dist: bionic os: linux compiler: gcc addons: apt: sources: - ubuntu-toolchain-r-test packages: - build-essential - valgrind - verilator - yosys install: # Set environments - export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain - export VERILATOR_ROOT=/opt/verilator - export PATH=$VERILATOR_ROOT/bin:$PATH # Install toolchain - ci/toolchain_install.sh -all # build project - make -s # stages ordering stages: - test jobs: include: - stage: test name: coverage script: cp -r $PWD ../build_coverage && cd ../build_coverage && ./ci/travis_run.py ./ci/regression.sh -coverage - stage: test name: coverage64 script: cp -r $PWD ../build_coverage64 && cd ../build_coverage64 && ./ci/travis_run.py ./ci/regression64.sh -coverage - stage: test name: tex script: cp -r $PWD ../build_tex && cd ../build_tex && ./ci/travis_run.py ./ci/regression.sh -tex - stage: test name: cluster script: cp -r $PWD ../build_cluster && cd ../build_cluster && ./ci/travis_run.py ./ci/regression.sh -cluster - stage: test name: config script: cp -r $PWD ../build_config && cd ../build_config && ./ci/travis_run.py ./ci/regression.sh -config - stage: test name: debug script: cp -r $PWD ../build_debug && cd ../build_debug && ./ci/travis_run.py ./ci/regression.sh -debug - stage: test name: stress0 script: cp -r $PWD ../build_stress0 && cd ../build_stress0 && ./ci/travis_run.py ./ci/regression.sh -stress0 - stage: test name: stress1 script: cp -r $PWD ../build_stress1 && cd ../build_stress1 && ./ci/travis_run.py ./ci/regression.sh -stress1 - stage: test name: compiler script: cp -r $PWD ../build_compiler && cd ../build_compiler && ./ci/travis_run.py ./ci/test_compiler.sh - stage: test name: tex script: cp -r $PWD ../build_tex && cd ../build_tex && ./ci/travis_run.py ./ci/regression.sh -tex - stage: test name: unittest script: cp -r $PWD ../build_unittest && cd ../build_unittest && ./ci/travis_run.py ./ci/regression.sh -unittest after_success: # Gather code coverage - lcov --directory driver --capture --output-file driver.cov # capture trace - lcov --directory simx --capture --output-file simx.cov # capture trace - lcov --list driver.cov # output coverage data for debugging - lcov --list simx.cov # output coverage data for debugging # Upload coverage report - bash <(curl -s https://codecov.io/bash) -f driver.cov - bash <(curl -s https://codecov.io/bash) -f simx.cov