image: rtsn/test:latest stages: - unit_tests unit_tests: stage: unit_tests script: - git submodule update --init --recursive - cd code/build/debug - cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON ../../ - ninja - OMP_NUM_THREADS=1 ./unit_tests -r junit > unit_tests_report.xml - gcovr -e ../../ext/ -e ../../tests/ -r ../../ artifacts: when: always paths: - code/build/debug/unit_tests_report.xml reports: junit: code/build/debug/unit_tests_report.xml timeout: 4h rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop" changes: - "code/include/**/*" - "code/tests/**/*" - "code/src/**/*" - "code/CMakeLists.txt" - "scripts/Dockerfile" - ".gitmodules" - if: $CI_PIPELINE_SOURCE == "web"