947e910c1a822984b7121c66cda072f607771501
qt-migration-copilot-demo/pipeline/pr-main There was a failure building this commit
- Add jenkins user to Dockerfile.ci and run as non-root - Remove '-u root:root' args from Jenkinsfile Docker agent - Build files will now be owned by jenkins user, allowing proper cleanup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: f545f3d8aa33
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%