.build_matrix: &build_matrix parallel: matrix: - PLATFORM: ["x86_64"] TYPE: ["dbg", "rel"] build: stage: build image: registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-4 before_script: - apt update - apt install -y clang-tidy cmake grub2-common grub-pc mtools ninja-build xorriso script: - cmake --preset $PLATFORM - cmake --build --preset $PLATFORM-$TYPE - cp build/${PLATFORM}/bin/**/kernel.{dis,elf,sym,iso} . artifacts: paths: - kernel.dis - kernel.elf - kernel.sym - kernel.iso <<: *build_matrix bht: stage: build image: registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-4 before_script: - apt update - apt install -y build-essential cmake ninja-build lcov libcatch2-dev gcovr script: - cmake --preset bht - cmake --build --preset bht-dbg - ctest --preset bht-dbg - lcov --config-file .lcovrc --capture --directory $(pwd) --output-file coverage.info - lcov --config-file .lcovrc --list coverage.info - genhtml --prefix $(pwd) --output-directory coverage coverage.info - gcovr --root . --cobertura-pretty --output coverage/cobertura-coverage.xml after_script: - echo "CoverageReport public URL - https://teachos.pages.ost.ch/-/kernel/-/jobs/$CI_JOB_ID/artifacts/coverage/index.html" coverage: '/Total:\|\s*(\d+(\.\d+)?)\%/' artifacts: paths: - coverage.info - coverage/ expire_in: 24 hours when: always reports: coverage_report: coverage_format: cobertura path: coverage/cobertura-coverage.xml license_check: stage: .pre image: name: docker.io/fsfe/reuse entrypoint: [""] script: reuse lint