Files
DRAMSys/.gitlab-ci.yml
2021-09-17 13:34:59 +00:00

64 lines
1.7 KiB
YAML

# vim: set ts=4 sw=4 expandtab:
image: gcc
variables:
GIT_STRATEGY: fetch
before_script:
- apt-get update --yes
- apt-get install --yes cmake python3 python3-dev qtbase5-dev libqwt-qt5-dev sqlite3 lcov
stages:
- build
- tests
- coverage
build:
stage: build
script:
- git submodule sync
- git submodule update --init --recursive
- rm -rf build
- mkdir -p build
- cd build
- cmake -DDRAMSYS_COVERAGE_CHECK=ON ../DRAMSys
- make -j 16
- find . -name "*.o" -type f -delete
- rm -rf ${CI_PROJECT_DIR}/coverage
- mkdir -p ${CI_PROJECT_DIR}/coverage
cache:
key: build
paths:
- build/
policy: push
artifacts:
paths:
- build/
- coverage/
coverage:
stage: coverage
coverage: '/Total:\|(\d+\.?\d+\%)/'
script:
# delete all empty files since they produce errors
- find coverage -size 0 -type f -delete
- ls coverage/ -lah
- lcov `find coverage -type f -exec echo "-a {}" \;` -o coverage/final.out
- lcov --remove coverage/final.out '*/systemc*/include/*' '*/traceAnalyzer/*' '*/gcc*/include/*' '/usr/include/*' '*/third_party/*' -o coverage/final_dramsys.out
- lcov --list coverage/final_dramsys.out
artifacts:
paths:
- coverage/final.out
- coverage/final_dramsys.out
include:
- '/DRAMSys/tests/lpddr4/ci.yml'
- '/DRAMSys/tests/ddr3_multirank/ci.yml'
- '/DRAMSys/tests/DDR4/ci.yml'
- '/DRAMSys/tests/HBM2/ci.yml'
#- '/DRAMSys/tests/dramsys-gem5/ci.yml' # Should be activated again when a new gitlab runner with right dependencies is used