Files
qt-migration-copilot-demo/ci/Dockerfile.ci
T
torstenandCopilot 8ef6529c0c
qt-migration-copilot-demo/pipeline/pr-main There was a failure building this commit
qt-migration-copilot-demo/pipeline/head There was a failure building this commit
feat: Add LCOV coverage support for Jenkins CI
- Add ENABLE_COVERAGE CMake option with gcov flags
- Create collect-coverage.sh script for LCOV workflow
- Add Qt6 test files with QTest framework
- Update Jenkinsfile with Coverage stage (main/master/coverage.*)
- Update CI Docker image with lcov and genhtml packages
- Add .gitignore entries for coverage artifacts
- Add COVERAGE.md documentation

Coverage workflow:
1. Configure with -DENABLE_COVERAGE=ON
2. Build and run tests to generate .gcda/.gcno files
3. Collect coverage with lcov
4. Filter out Qt/system libraries
5. Generate HTML report and lcov.info for Jenkins

Jenkins publishes coverage/lcov.info using Coverage Plugin.
Coverage stage only runs on protected branches.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 7783c7698334
2026-10-22 17:17:39 +02:00

33 lines
671 B
Docker

FROM ubuntu:26.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3 \
clang-format \
cmake \
ninja-build \
git \
g++ \
make \
ca-certificates \
openssh-client \
pkg-config \
qtbase5-dev \
qt6-base-dev \
qt6-base-dev-tools \
qt6-tools-dev \
qt6-tools-dev-tools \
lcov \
genhtml && \
rm -rf /var/lib/apt/lists/*
# Set Qt platform for headless testing
ENV QT_QPA_PLATFORM=offscreen
# Configure git for containerized environments
RUN git config --global --add safe.directory "*"
WORKDIR /workspace