stages: - build - coverage variables: GIT_SUBMODULE_STRATEGY: recursive default: image: registry.source.arknet.ch/fmorgner/turns/ci:latest build-and-test: stage: build before_script: - weston --no-config --socket=$WAYLAND_DISPLAY --backend=headless & - export XDG_DATA_DIRS=$(pwd)/ch.arknet.Turns/share:${XDG_DATA_DIRS} script: - cmake --preset ci - cmake --build --preset ci --config $BUILD_TYPE - cmake --install build --config $BUILD_TYPE - glib-compile-schemas ch.arknet.Turns/share/glib-2.0/schemas - dbus-run-session -- ctest --preset ci --build-config $BUILD_TYPE artifacts: paths: - ch.arknet.Turns/ - build/**/turns - build/**/*.gcno - build/**/*.gcda - build/**/*.gresource.c - lib/src/turns-enums.c - lib/src/turns-enums.h expire_in: 24 hours parallel: matrix: - BUILD_TYPE: - RelWithDebInfo - MinSizeRel coverage: stage: coverage script: - lcov --config-file .lcovrc --capture --directory $(pwd) --output-file coverage.info - lcov --config-file .lcovrc --list coverage.info coverage: '/Total:\|(\d+\.?\d+)\%/' artifacts: paths: - coverage.info expire_in: 24 hours needs: - job: build-and-test parallel: matrix: - BUILD_TYPE: RelWithDebInfo