image: ruby:2.5 build: stage: build script: - mkdir build - cd build - cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE=ON -DVALGRIND=ON -DINSTALL=OFF - make -j4 artifacts: paths: - build test: stage: test script: - cd tests - PATH=../build/tools/hscript-validate:../build/tools/hscript-simulate:$PATH rspec --format RspecJunitFormatter --out rspec.xml - cd .. - make lcov_report - make lcov_html - printf 'coverage %s\n' $(lcov --summary horizon.coverage | grep lines | cut -d ' ' -f4) > metrics.txt coverage: '/lines.+: \d+.\d+%/' artifacts: paths: - cov_html - tests/rspec.xml reports: junit: tests/rspec.xml metrics: metrics.txt valgrind: stage: test script: - cd build - CTEST_OUTPUT_ON_FAILURE=TRUE ctest -R 'Valgrind*' pages: stage: deploy dependencies: - test script: - mkdir public - mv cov_html public/coverage - cd devel - make - mv requirements/html ../public/requirements - mv script/html ../public/script - mv vision/html ../public/vision - cp index.html ../public/ artifacts: paths: - public only: - master