78a81a95b677b0fb192761556c4c2ead1a4fa042
- 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 Entire-Checkpoint: 70341e29996b Signed-off-by: twi-devel <torsten.wierschin@life-maps.com>
Qt Migration Copilot Demo
Dieses Repository zeigt einen kleinen, reproduzierbaren Benchmark für die Migration eines alten Qt5/C++11-Projekts nach Qt6/C++23 mit Copilot CLI.
Inhalt
-
qt5-before/
Ausgangszustand mit absichtlich veralteten Qt5-APIs:QRegExpQDesktopWidgetQTextCodec- alte
SIGNAL/SLOT-Syntax - getrennte
Qt5::Core,Qt5::Gui,Qt5::Widgets
-
qt6-after/
Erwarteter oder referenzierter Zielzustand nach der Migration:QRegularExpressionQScreen- modernes UTF-8-/String-Handling
- moderne Connect-Syntax
- Qt6 + C++23
-
Dockerfile.ci
Vorgebautes CI-Image für Jenkins. -
Jenkinsfile
Führt Configure, Build und Test im vorgebauten Docker-Image aus. -
scripts/
Hilfsskripte für Entire CLI und Copilot CLI.
Ziel
Das Repo dient als:
- Demo für Qt5→Qt6-Migration
- Benchmark für Copilot CLI / Agenten
- reproduzierbares Beispiel mit Entire-Checkpoints
- Referenz für Jenkins + Docker CI
Empfohlener Workflow
- In
qt5-before/starten - Entire für Copilot CLI aktivieren
- Baseline-Checkpoint committen
- Copilot-Migration ausführen
- Ergebnis committen
- Mit
qt6-after/vergleichen
CI-Image bauen
docker build -t lifemaps/ci-cpp:latest -f Dockerfile.ci .
docker push lifemaps/ci-cpp:latest
Entire + Copilot
Beispiel:
./scripts/run-entire-copilot-migration-with-optional-rewind-resume.sh qt5-before/qt5-legacy-migration-benchmark
Hinweis
Dieses Repository ist absichtlich klein gehalten, damit:
- Migrationsänderungen gut sichtbar bleiben
- Copilot-Antworten vergleichbar sind
- CI-Läufe schnell reproduzierbar sind
Languages
Shell
53.2%
C++
20.1%
Python
18.4%
CMake
8.3%