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.
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.
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.
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.
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).
- 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>
- 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/
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'.
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.
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.