Release Validation Prompt
This commit is contained in:
1 parent
8b571031f4
commit
037dfe9901
1 file changed
+197
@@ -0,0 +1,197 @@
|
||||
# Session prompts — release validation scope (2026-10-14)
|
||||
|
||||
Session goal: finalize the Qt6-migrated legatus first-release (validation scope)
|
||||
DEB package pipeline on branch `story/release-validation-scope` inside the
|
||||
`qt-migration-legatus` submodule (`qt6-after/qt6-migrated-legatus`).
|
||||
Scope = `TetraIF/` + `Z/src` + `Lts/Common` + `Lts/Proxies/TrainingAreaBase`.
|
||||
|
||||
All prompts below are in chronological order and fully translated to English
|
||||
where they were originally written in French or German (typos preserved).
|
||||
|
||||
---
|
||||
|
||||
## 1. Initial request (with pasted verification notes)
|
||||
|
||||
> Created a Dockerfile with this information
|
||||
> "./new_docker_build.sh --build-prebuilt-image --docker-image legatus-qt6:1.0",
|
||||
> only the build package must be compiled
|
||||
>
|
||||
> created a new branch and remove everything we don't Need in this step
|
||||
>
|
||||
> ```
|
||||
> # 4. Run the Jenkins pipeline inside the Docker container
|
||||
> ./new_docker_build.sh \
|
||||
> --use-prebuilt-image \
|
||||
> --docker-image legatus-qt6:1.0 \
|
||||
> --run-jenkins-builder \
|
||||
> --package-output-dir /home/nkana/release/qt6-migration-pipeline/rpms/guez/26.04
|
||||
>
|
||||
> # 5. Verify generated DEB packages
|
||||
> cd /home/nkana/release/qt6-migration-pipeline
|
||||
> ls -lh rpms/guez/26.04/*.deb
|
||||
>
|
||||
> # 6. Validate package contents (no R\S modules, no DDS files)
|
||||
> dpkg-deb --contents rpms/guez/26.04/qt6-release-runtime_*.deb | grep -E "(TetraIF|Z/src|Lts/Common|Lts/Proxies/TrainingAreaBase)"
|
||||
> dpkg-deb --contents rpms/guez/26.04/qt6-release-sources_*.deb | grep -i dds # Should return nothing
|
||||
> dpkg-deb --contents rpms/guez/26.04/qt6-release-ctest-runtime_*.deb | head -20
|
||||
> dpkg-deb --contents rpms/guez/26.04/qt6-release-ctest-sources_*.deb | head -20
|
||||
> dpkg-deb --contents rpms/guez/26.04/qt6-release-build-pipeline_*.deb | head -20
|
||||
>
|
||||
> # 7. Verify no excluded modules in runtime package
|
||||
> dpkg-deb --contents rpms/guez/26.04/qt6-release-runtime_*.deb | grep -E "(Lts/Application|Lts/DDS|Lts/Tools|Lts/Viewer|src/AlarmManagement)" # Should return nothing
|
||||
> ```
|
||||
|
||||
**Result:** verified the 5 release DEBs (runtime, sources, ctest-runtime,
|
||||
ctest-sources, build-pipeline) — scope modules present, no excluded
|
||||
modules, no DDS files; started creating the validation-scope branch.
|
||||
|
||||
## 2.
|
||||
|
||||
> created a branch with only the validation scope and rebuild it
|
||||
|
||||
**Result:** created branch `story/release-validation-scope` containing only
|
||||
the validation-scope tree; full rebuild through the prebuilt Docker image
|
||||
produced 5 valid DEBs.
|
||||
|
||||
## 3.
|
||||
|
||||
> remove everything we don't needed for this branch
|
||||
|
||||
**Result:** first trim pass of the branch — dropped build scaffolding and
|
||||
modules outside the scope.
|
||||
|
||||
## 4.
|
||||
|
||||
> remove everything we don't needed in this release package from branch
|
||||
> containind only the validation scope
|
||||
|
||||
**Result:** deeper trim — removed further modules/machinery that were still
|
||||
present in the tree but not compiled into the release package.
|
||||
|
||||
## 5. (repeated 5 times)
|
||||
|
||||
> remove the software modules that are not compiled on this branch
|
||||
> (originally: "retirer les software modules qui ne sont pas compiler sur cette branche")
|
||||
|
||||
**Result:** iterative removal of every software module that exists in the
|
||||
tree but is not compiled by this branch's release build; verified after each
|
||||
pass by rebuilding and checking the DEB contents stayed identical to the
|
||||
baseline.
|
||||
|
||||
## 6. (repeated 2 times)
|
||||
|
||||
> remove all warning
|
||||
|
||||
**Result:** made the build log warning-free (compiler warnings + DEB-builder
|
||||
validation warnings).
|
||||
|
||||
## 7.
|
||||
|
||||
> remove all commit "Co-Authored-By: Claude Code <noreply@anthropic.com>"
|
||||
|
||||
> remove this line by all the commit message "Co-Authored-By: Claude Code
|
||||
> <noreply@anthropic.com>"
|
||||
|
||||
**Result:** rewrote the branch history so no commit message carries the
|
||||
`Co-Authored-By: Claude Code` trailer; saved as a standing rule (all commits
|
||||
on this project are made without it).
|
||||
|
||||
## 8.
|
||||
|
||||
> by tests remove everything it is not building and update new_docker_build.sh
|
||||
> for only building this branch
|
||||
|
||||
**Result:** trimmed `tests/` down to a 4-line configure-only placeholder
|
||||
(the only existing test target was guarded by NOT RELEASE_BUILD) and scoped
|
||||
`new_docker_build.sh` to this branch: fixed `RELEASE_BUILD=ON`/`RUN_CTEST=ON`,
|
||||
explicit release-scope target list, ctest for the release-scope tests.
|
||||
|
||||
## 9.
|
||||
|
||||
> split new_docker_build.sh into 2 files (one Dockerfile and one
|
||||
> new_docker_build.sh)
|
||||
> (originally: "separer le new_docker_build.sh en 2 fichier (un Dockerfile et
|
||||
> un new_docker_build.sh)")
|
||||
|
||||
**Result:** extracted the embedded Dockerfile heredoc into a standalone
|
||||
`Dockerfile`; `--build-prebuilt-image` now builds it via
|
||||
`docker build -f Dockerfile` with an empty build context.
|
||||
|
||||
## 10.
|
||||
|
||||
> remove everything with "OFF" and dependency, remove everything not build in
|
||||
> this branch
|
||||
|
||||
**Result:** removed all build variables fixed to OFF and their dependent
|
||||
machinery; container cmake now passes only the flags that override CMake
|
||||
defaults (`-DBUILD_TESTING=ON -DBUILD_ARCGIS=OFF -DRELEASE_BUILD=ON
|
||||
-DCMAKE_CXX_STANDARD=17 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=...`).
|
||||
|
||||
## 11.
|
||||
|
||||
> copy rpmbuild to qt6-migrated-legatus and remove everything we don't need
|
||||
|
||||
**Result:** copied the outer-repo `rpmbuild/` into the source tree
|
||||
(`rpmbuild/make_rpm_ubuntu26.py`), keeping only what the release flow needs;
|
||||
the branch is now self-contained.
|
||||
|
||||
## 12.
|
||||
|
||||
> build rpm now inside qt6-migrated-leagtus
|
||||
|
||||
> build rpm now inside qt6-migrated-legatus
|
||||
|
||||
**Result:** the DEB packaging stage now runs the in-tree
|
||||
`rpmbuild/make_rpm_ubuntu26.py` (staging tar → in-tree rpmbuild → 5 DEBs →
|
||||
copy to `--package-output-dir`) instead of the outer-repo Jenkins builder.
|
||||
|
||||
## 13.
|
||||
|
||||
> check that TetraIF is also building
|
||||
|
||||
**Result:** found TetraIF was only compiled in the rpmbuild stage (its
|
||||
warnings were hidden); added its 5 targets (`CoPrtCnv`, `LogViewLogger`,
|
||||
`LogView`, `PrtCnvLib`, `PrtCnv`) to the branch's explicit build list and
|
||||
fixed the 12 warnings that TetraIF compilation then exposed:
|
||||
`LogViewModels.cpp` (11× deprecated `invalidateFilter()` →
|
||||
`begin/endFilterChange()`), `LogViewTelegramEdit.cpp` + `PrtCnvBroadcastMgr.cpp`
|
||||
(`-Wreorder`), `PrtCnvCentralThread.cpp` (`-Wswitch`), `PrtCnvMain.cpp`
|
||||
(`-Wunused-result` on `freopen`).
|
||||
|
||||
## 14.
|
||||
|
||||
> how to set variable automatical if it is building with jenkins
|
||||
> "export MIGRATE_PIPELINE_ROOT="/home/""
|
||||
|
||||
**Result:** `new_docker_build.sh` now auto-derives `MIGRATE_PIPELINE_ROOT`
|
||||
from its own location (the script always lives at
|
||||
`<root>/qt-migration-legatus/qt6-after/qt6-migrated-legatus`, so root = three
|
||||
levels up). Precedence: exported variable (Jenkins) → `.envrc` → derived
|
||||
path. Works in a fresh Jenkins checkout with no environment setup; `.envrc`
|
||||
is now optional.
|
||||
|
||||
## 15.
|
||||
|
||||
> write all Prompt what we are doing in this session , write the prompt to
|
||||
> /home/nkana/release/qt6-migration-pipeline/prompts
|
||||
|
||||
**Result:** this file.
|
||||
|
||||
---
|
||||
|
||||
## Final state (end of session)
|
||||
|
||||
- Branch: `story/release-validation-scope`, last commits:
|
||||
- `1dd1e8635` Auto-derive MIGRATE_PIPELINE_ROOT in new_docker_build.sh
|
||||
- `52df1c8ae` Fix TetraIF build warnings
|
||||
- `23e694afc` Build the TetraIF targets in the release scope
|
||||
- `217bb54bc` Build the DEB packages with the in-tree rpmbuild script
|
||||
- `ba99b7460` Copy rpmbuild into the source tree with only what the
|
||||
release flow needs
|
||||
- (no `Co-Authored-By` trailers on any commit)
|
||||
- Verified full build (`scope-rebuild7.log`): **0 warnings**, all TetraIF
|
||||
targets built in the branch's own stage, ctest at baseline (80% pass,
|
||||
`nglcomp_test` Not Run pre-existing), 5 DEBs, runtime package = 50
|
||||
entries incl. TetraIF binaries/libs.
|
||||
- Self-contained branch: `new_docker_build.sh` + `Dockerfile` +
|
||||
`rpmbuild/make_rpm_ubuntu26.py`.
|
||||
Reference in new issue
Block a user