Commit Graph
13 Commits
Author SHA1 Message Date
berrux-dev 09b6df8bc3 Add per-module unit-test dirs for the Release 2 scope
One unit-test/ directory per module/target, mirroring the existing
TetraIF/unit-test/ layout (one QtTest executable per module, guarded by
BUILD_TESTING and the module target, each registered with ctest):

  Lts/Common/CodeGen      codegen_unit_test
  Lts/Common/LtsCoordinate ltscoordinate_unit_test
  Lts/Common/LtsSession   ltssession_unit_test
  Lts/DDS/Core            ddscore_unit_test
  Lts/DDS/QosProfile      ddsqos_unit_test
  Lts/Tools/LogViewer     logviewer_unit_test
  Lts/Tools/SqlBrowser    sqlbrowser_unit_test
  Z/src/NGLLogger         ngllogger_unit_test
  Z/src/WMS_Interface     wms_json_ds_unit_test
  Z/src/nglapplication    nglcoreapplication_unit_test
  Z/src/nglcompression    nglcompression_unit_test
  Z/src/nglsettings       nglsettings_unit_test
  Z/src/ngltranslator     ngltranslator_unit_test

Where a module is built with hidden visibility and has no export macro
(LogViewer, SqlBrowser, ngltranslator, NGLLogger, nglcompression,
nglsettings), its sources are compiled directly into the test
executable, the same pattern as prtcnv_unit_test.

ctest baseline in the container (QT_QPA_PLATFORM=offscreen): 20/23
passed (13 new + 7 pre-existing in-scope tests), 3 Not Run as before
(nglcomp_test, GrantleeParserSmoke, utils_test).

README: ctest baseline table extended to the 23 registered tests and
section 2.4 now documents the per-module test layout. ddsview has no
unit test (GUI tool, XmlHelper needs the DDS dynamic-xtypes runtime).
2026-11-15 01:08:17 +01:00
berrux-dev a62b729577 Keep the plugin ICD docs and jenkins-ci-rme/README.md
Revert part of the markdown cleanup: the two TrainingAreaBase plugin
ICD docs and jenkins-ci-rme/README.md stay in the tree; the root
migration/validation reports remain removed. README.md pointers to
jenkins-ci-rme/README.md are restored.
2026-11-14 01:16:27 +01:00
berrux-dev 4bc64639e4 Remove all markdown files except README.md
Drop the 13 leftover documents (12 migration/validation reports at the
tree root, 2 plugin ICD docs under Lts/Proxies/TrainingAreaBase, and
jenkins-ci-rme/README.md); README.md is the only .md in the tree. The
two README pointers at jenkins-ci-rme/README.md now describe the
pipeline files inline.
2026-11-14 01:13:05 +01:00
berrux-dev 0f99d2c859 README: note the pruned tree and the new ctest Not Run baseline
The pruned tree no longer registers the out-of-scope ctest entries; the
expected baseline is now 7 in-scope tests passed + 3 Not Run
(nglcomp_test, GrantleeParserSmoke, utils_test).

Verified with a full pipeline run on the pruned tree: 46/46 targets
built, ctest 7/7 in-scope passed, 5 DEBs produced.
2026-11-14 00:25:30 +01:00
berrux-dev 2b1c3dc241 Remove the Release 1 pipeline files; point everything at Release 2
new_docker_build.sh and rpmbuild/make_rpm_ubuntu26.py (Release 1
validation-scope driver/producer) did not belong to this branch; their
functional callers are adapted to the Release 2 files:

- rpmbuild/make_rpm_ubuntu26_release2.py: PIPELINE_FILES now packages
  new_docker_build_release2.sh and make_rpm_ubuntu26_release2.py.
- jenkins-ci-rme/jenkins_builder_ubuntu26.sh: runs
  make_rpm_ubuntu26_release2.py with -DBUILD_RTI=ON and the Release 2
  target list (--build_targets; a full-tree build is not possible on
  this tree); staging tar also excludes ./build4*.
- jenkins-ci-rme/release-16-10-2026.sh (local dry run): calls
  new_docker_build_release2.sh; derives the pipeline root from the tree
  layout and exports MIGRATE_PIPELINE_ROOT; uses the prebuilt image when
  present, otherwise the driver installs deps in-container (the R1
  --build-prebuilt-image option does not exist in the R2 driver).
- jenkins-ci-rme/jenkins/Jenkinsfile: coverage stage runs the R2 driver
  with MIGRATE_PIPELINE_ROOT exported (wins over the checked-in .envrc,
  which carries a host-specific path).
- Doc/comment updates: Dockerfile header, install_arcgis.sh, publisher,
  Jenkinsfile descriptions, jenkins-ci-rme/README.md, README.md.

Remaining references to the old names are only in historical migration
reports, which are left as-is.
2026-11-13 21:13:13 +01:00
berrux-dev 42f9fbeebe README: align with the actual state of the Release 2 branch
Verified every claim against new_docker_build_release2.sh, the DEB
producer and a real pipeline run, then removed/fixed what does not
belong to this branch:

- Removed Step 1 (--build-prebuilt-image/--delete-prebuilt-image): those
  options do not exist in the driver.
- Replaced the Release 1 bookkeeping (R1 packages table, R1 modules
  table, 38-target count) with the actual Release 2 scope: 46 targets
  (GROUP1 6, GROUP3 36, GROUP5 3, GROUP6 1).
- Fixed the build description: Ninja (not make -j8), unique
  build4_<timestamp>_<pid> dirs (not a shared build4/), the real cmake
  flags (BUILD_RTI, BUILD_GROUP*, RTI defines), no RELEASE_BUILD flag.
- Fixed image/mount facts: default image qt6-migrated-legatus-release2
  (not guez-release2:2.0), /repo mount root (not /workspace), no
  WORKSPACE env var, no build4/release_build.log.
- Fixed DEB names/contents: qt6-release-*_1.0-1_amd64.deb (not
  guez-*_2.0), real PIPELINE_FILES list, honest note that the
  ctest-runtime DEB is currently empty (build4 vs build4_<ts> mismatch).
- ctest baseline: 7 in-scope tests passed + the 9 expected Not Run
  entries.
- Options reference: real options/defaults (lts-version 1.0), env
  override list matching the driver; troubleshooting updated
  (offscreen Qt, RTI license, prebuilt image).
2026-11-13 20:37:37 +01:00
torstenandCopilot e97806442f Update README for Release 2 delivery
- Update scope section with Release 2 target breakdown (38 targets)
- Update DEB package names from qt6-release-* to guez-*
- Update test suite expectations (13 tests including TetraIF)
- Update build instructions with guez-release2:2.0 Docker image
- Update Steps 4-6 for Release 2 DEB packaging and CI/CD
- Update options reference table with version 2.0
- Add troubleshooting note for Qt modules and build script

Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com>
2026-11-13 10:45:33 +00:00
berrux-dev 37bd700564 Fixed make error 2026-10-15 12:21:52 +02:00
berrux-dev 684e05109d Add lcov code coverage to the release pipeline and Jenkins
- new_docker_build.sh: new --run-coverage mode (mutually exclusive with
  --run-jenkins-builder). Instruments the release-scope build with
  -O0 -g --coverage -fPIC -DNDEBUG (RELEASE flag override keeps -DNDEBUG
  and -fPIC so behavior and PIC match the green baseline), runs ctest,
  then collects the lcov report: capture --external -> extract on the
  four release dirs -> remove test sources -> summary -> genhtml, all
  with --ignore-errors mismatch,inconsistent,unused (GCC 15 + lcov 2.4).
  Report lands in --coverage-output-dir (default ./coverage-out):
  html/index.html, coverage.info, coverage_summary.txt.
- Dockerfile image gains lcov via APT_PACKAGES (genhtml ships in the
  same package).
- Jenkinsfile: RunCoverage parameter (default on) + per-OS Coverage
  stage running the driver on the agent and archiving
  coverage/<project>/<os>/**.
- release-16-10-2026.sh: same coverage step, gated by DRYRUN_COVERAGE
  (default ON, mirrors the Jenkins default).
- README: Step 6 (code coverage) and options/env reference entries.
- .gitignore: coverage-out/
2026-10-15 09:00:33 +02:00
berrux-dev 676ae05335 Rewrite the build README without excluded-module sections
Scope is now described only as what the release build contains
(TetraIF, Z/src, Lts/Common, TrainingAreaBase). All steps (image,
compile, tests, DEB packaging, Jenkins) kept and refreshed; the
license note is reduced to 'no license file is required'.
2026-10-14 20:40:05 +02:00
berrux-dev 8976b5aedb Remove dead CMake configuration from the release validation scope
- Top-level CMakeLists.txt: drop RTI/Connext DDS config and placeholder targets,
  MIGRATE_MODULE guarded-subdir machinery (now unconditional add_subdirectory),
  BUILD_QAV, BUILD_PLUGINS_*, KDReports stub, ArcGIS option and FindRTI placeholder loop
- Lts/CMakeLists.txt: release scope now unconditional (Common + Proxies/TrainingAreaBase),
  codegen/DDS/test/docs blocks removed
- Lts/Common: drop DDS/RTI-gated plugin and utils test blocks
- Lts/Proxies/TrainingAreaBase: remove RTI codegen, svcTabClient/svcTabServer, RTI plugins,
  sTAB; keep stub-only svcTabCommon + tabTelegrams + tabPluginInterface
- TetraIF/PrtCnv: remove out-of-scope TetraTestServer/LastTest subdirs
- Z/src/nglcompression: remove nglcomp_test (pre-existing Qt6 failure, no longer registered)
- Delete 16 unused cmake/ helper modules and the tests/ scaffolding dir
- new_docker_build.sh: drop BUILD_ARCGIS and nglcomp_test from the release build
- README: update ctest baseline to 7/7 and remove license/exception mentions
2026-10-14 18:39:18 +02:00
berrux-dev 11501ff7bb Drop the rti_license.dat requirement from the release scope build
The release validation scope (TetraIF, Z/src, Lts/Common +
TrainingAreaBase) never consumes an RTI license: no CMake file or
build step reads RTI_LICENSE_FILE, and the only RTI Connext DDS
consumers are all behind BUILD_RTI (OFF for this branch, stubs
compiled instead). The license was pure plumbing:

- new_docker_build.sh: remove the require_file validation, the
  bind mount and the in-container RTI_LICENSE_FILE export
- jenkins-ci-rme: remove the RTI_LICENSE_FILE export and the
  Jenkinsfile workspace-layout comment
- README: document that no license file is needed

Verified with a full pipeline rebuild (scope-rebuild12) run while
rti_license.dat was absent: 0 warnings, ctest baseline unchanged,
all 5 DEBs produced, none of them containing the license.
2026-10-14 16:28:03 +02:00
berrux-dev 59f0c025e5 Add a step-by-step build and test README for the release scope
Document the full flow: prebuilt Docker image build, release-scope
compilation (mandatory CMake flags), running the unit tests (ctest
baseline plus direct execution of the test binaries), DEB package
production with the in-tree rpmbuild script, the Jenkins/CI entry
points, the options reference and troubleshooting notes.
2026-10-14 16:28:03 +02:00