diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-10-05 16:43:41 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-10-05 16:43:41 +0200 |
| commit | 91190d585d9e385b3ccce29b47d038d750a1c52c (patch) | |
| tree | 4d22ce8830056d44fb98b361a1f67bf757264a1c /.gitlab-ci.yml | |
| parent | 8bec65ba723c9c628d934ec02021d5ce09c01105 (diff) | |
| parent | 6c864832f111c085d28cd30ae96039670ef44c59 (diff) | |
| download | kernel-91190d585d9e385b3ccce29b47d038d750a1c52c.tar.xz kernel-91190d585d9e385b3ccce29b47d038d750a1c52c.zip | |
kstd: implement fixed-size ring_buffer
This patchset introduces a (non-standard) container to the kernel standard
library. The new container, `kstd::ring_buffer<T, N>`, is a fixed-size ring
buffer, with an LRU overwrite policy. This means, that the size of the buffer
is defined at compile-time. When a buffer is full, pushing further elements
into it will replace existing ones in a Least Recently Used manner.
The first target application of this new container is an extension to the
existing logging system, providing a kernel log buffer.
See merge request teachos/kernel!62
Diffstat (limited to '.gitlab-ci.yml')
| -rw-r--r-- | .gitlab-ci.yml | 91 |
1 files changed, 36 insertions, 55 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ca18bd90..9d38f6ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,20 +1,51 @@ -build:bht: - stage: build +bht: + stage: test image: registry.gitlab.ost.ch:45023/teachos/devcontainers/bht.ci:latest script: - cmake --preset $PRESET - cmake --build --preset $PRESET-$TYPE --target all all_verify_interface_header_sets --parallel $(nproc) 2>&1 | tee build_output.txt - set -o pipefail - python3 scripts/ci/parse_clang_tidy.py build_output.txt > code-quality-$PRESET-$TYPE.json + - ctest --preset $PRESET-$TYPE --parallel --output-on-failure + - lcov --quiet --config-file .lcovrc --capture --directory $(pwd) --output-file coverage.info + - lcov --quiet --config-file .lcovrc --list coverage.info + - genhtml --quiet --config-file .lcovrc --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: - - build/$PRESET/ + - coverage/ reports: codequality: code-quality-$PRESET-$TYPE.json - expire_in: 15 min + coverage_report: + coverage_format: cobertura + path: coverage/cobertura-coverage.xml + junit: build/bht/**/bht_results/*.xml + expire_in: 24 hours parallel: matrix: - - PRESET: ["bht", "bht-stress"] + - PRESET: ["bht"] + TYPE: ["dbg", "rel"] + +bht-stress: + stage: test + image: registry.gitlab.ost.ch:45023/teachos/devcontainers/bht.ci:latest + script: + - cmake --preset $PRESET + - cmake --build --preset $PRESET-$TYPE --target all all_verify_interface_header_sets --parallel $(nproc) 2>&1 | tee build_output.txt + - set -o pipefail + - python3 scripts/ci/parse_clang_tidy.py build_output.txt > code-quality-$PRESET-$TYPE.json + - TSAN_OPTIONS=halt_on_error=1 ctest --preset $PRESET-$TYPE --parallel --output-on-failure + artifacts: + reports: + codequality: code-quality-$PRESET-$TYPE.json + junit: build/bht-stress/**/bht_results/*.xml + expire_in: 24 hours + parallel: + matrix: + - PRESET: ["bht-stress"] TYPE: ["dbg", "rel"] build:bootable: @@ -40,56 +71,6 @@ build:bootable: - PLATFORM: ["x86_64"] TYPE: ["dbg", "rel"] -test:bht: - stage: test - image: registry.gitlab.ost.ch:45023/teachos/devcontainers/bht.ci:latest - script: - - ctest --preset bht-$TYPE --parallel --output-on-failure - - lcov --quiet --config-file .lcovrc --capture --directory $(pwd) --output-file coverage.info - - lcov --quiet --config-file .lcovrc --list coverage.info - - genhtml --quiet --config-file .lcovrc --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/ - expire_in: 24 hours - reports: - coverage_report: - coverage_format: cobertura - path: coverage/cobertura-coverage.xml - junit: build/bht/**/bht_results/*.xml - parallel: - matrix: - - TYPE: ["dbg", "rel"] - needs: - - job: build:bht - parallel: - matrix: - - PRESET: ["bht"] - TYPE: ["$[[ matrix.TYPE ]]"] - -test:bht-stress: - stage: test - image: registry.gitlab.ost.ch:45023/teachos/devcontainers/bht.ci:latest - script: - - TSAN_OPTIONS=halt_on_error=1 ctest --preset bht-stress-$TYPE --parallel --output-on-failure - artifacts: - expire_in: 24 hours - reports: - junit: build/bht-stress/**/bht_results/*.xml - parallel: - matrix: - - TYPE: ["dbg", "rel"] - needs: - - job: build:bht - parallel: - matrix: - - PRESET: ["bht-stress"] - TYPE: ["$[[ matrix.TYPE ]]"] - license_check: stage: .pre image: |
