Add --verify-rpm option for package verification in release builds
- Added VERIFY_RPM variable with default OFF - Added --verify-rpm command line option - Added package verification logic that checks for DEB/RPM packages - Updated help text and documentation - Verification runs after CTest in Docker container - Checks /workspace/rpms for DEB packages and /workspace/build/rpm for RPM - Reports success if packages found, skipped if no package build step
This commit is contained in:
1 file changed
+50
-1
@@ -62,6 +62,7 @@ Test execution:
|
||||
--no-ctest Skip ctest execution
|
||||
--tests-only Run only ctest, skip all make build groups
|
||||
--integration-test Run only integration tests (test_z_*, bld_*, tab_*, wls_*)
|
||||
--verify-rpm Verify generated packages (RPM/DEB) after build (release builds only)
|
||||
|
||||
Prebuilt Docker image usage:
|
||||
--use-prebuilt-image Use a Docker image with dependencies already installed
|
||||
@@ -96,6 +97,7 @@ Environment variable overrides:
|
||||
RUN_CTEST=ON|OFF (automatically ON for RELEASE_BUILD=ON - tests in Lts/Common + Z)
|
||||
TESTS_ONLY=ON|OFF
|
||||
INTEGRATION_TEST=ON|OFF
|
||||
VERIFY_RPM=ON|OFF Verify generated packages (RPM/DEB) after build (release builds only)
|
||||
USE_PREBUILT_IMAGE=ON|OFF
|
||||
BUILD_PREBUILT_IMAGE=ON|OFF
|
||||
DELETE_PREBUILT_IMAGE=ON|OFF
|
||||
@@ -127,6 +129,7 @@ Defaults:
|
||||
RUN_CTEST=ON Release: ON (tests in Lts/Common + Z components)
|
||||
TESTS_ONLY=OFF
|
||||
INTEGRATION_TEST=OFF
|
||||
VERIFY_RPM=OFF Release: OFF (optional package verification)
|
||||
USE_PREBUILT_IMAGE=OFF
|
||||
BUILD_PREBUILT_IMAGE=OFF
|
||||
DELETE_PREBUILT_IMAGE=OFF
|
||||
@@ -849,6 +852,9 @@ while [[ $# -gt 0 ]]; do
|
||||
--integration-test)
|
||||
INTEGRATION_TEST=ON
|
||||
;;
|
||||
--verify-rpm)
|
||||
VERIFY_RPM=ON
|
||||
;;
|
||||
--use-prebuilt-image)
|
||||
USE_PREBUILT_IMAGE=ON
|
||||
;;
|
||||
@@ -899,6 +905,7 @@ BUILD_GROUP11="${BUILD_GROUP11:-OFF}"
|
||||
RUN_CTEST="${RUN_CTEST:-ON}"
|
||||
TESTS_ONLY="${TESTS_ONLY:-OFF}"
|
||||
INTEGRATION_TEST="${INTEGRATION_TEST:-OFF}"
|
||||
VERIFY_RPM="${VERIFY_RPM:-OFF}"
|
||||
USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}"
|
||||
BUILD_PREBUILT_IMAGE="${BUILD_PREBUILT_IMAGE:-OFF}"
|
||||
DELETE_PREBUILT_IMAGE="${DELETE_PREBUILT_IMAGE:-OFF}"
|
||||
@@ -923,6 +930,7 @@ BUILD_VIEWER_ONLY="$(normalize_on_off "$BUILD_VIEWER_ONLY" "BUILD_VIEWER_ONLY")"
|
||||
RUN_CTEST="$(normalize_on_off "$RUN_CTEST" "RUN_CTEST")"
|
||||
TESTS_ONLY="$(normalize_on_off "$TESTS_ONLY" "TESTS_ONLY")"
|
||||
INTEGRATION_TEST="$(normalize_on_off "$INTEGRATION_TEST" "INTEGRATION_TEST")"
|
||||
VERIFY_RPM="$(normalize_on_off "$VERIFY_RPM" "VERIFY_RPM")"
|
||||
USE_PREBUILT_IMAGE="$(normalize_on_off "$USE_PREBUILT_IMAGE" "USE_PREBUILT_IMAGE")"
|
||||
BUILD_PREBUILT_IMAGE="$(normalize_on_off "$BUILD_PREBUILT_IMAGE" "BUILD_PREBUILT_IMAGE")"
|
||||
DELETE_PREBUILT_IMAGE="$(normalize_on_off "$DELETE_PREBUILT_IMAGE" "DELETE_PREBUILT_IMAGE")"
|
||||
@@ -938,7 +946,7 @@ fi
|
||||
CMAKE_BUILD_FLAGS="${CMAKE_BUILD_FLAGS:-}"
|
||||
|
||||
# Export variables for Docker container
|
||||
export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_ARCGIS BUILD_CODIFICATION BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 BUILD_GROUP6 BUILD_GROUP7 BUILD_GROUP8 BUILD_GROUP9 BUILD_GROUP10 BUILD_GROUP11 BUILD_VIEWER_ONLY RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE CMAKE_BUILD_FLAGS RELEASE_BUILD
|
||||
export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_ARCGIS BUILD_CODIFICATION BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 BUILD_GROUP6 BUILD_GROUP7 BUILD_GROUP8 BUILD_GROUP9 BUILD_GROUP10 BUILD_GROUP11 BUILD_VIEWER_ONLY RUN_CTEST TESTS_ONLY INTEGRATION_TEST VERIFY_RPM USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE CMAKE_BUILD_FLAGS RELEASE_BUILD
|
||||
|
||||
# Group 5: Viewer module targets (conditional on BUILD_ARCGIS)
|
||||
# Note: LtsFileDialog excluded from viewer-only builds due to Group 4 dependencies (svcExmCommon, svcOpmCommon, svcFlmCommon)
|
||||
@@ -1413,6 +1421,46 @@ if [[ "${RUN_CTEST}" == "ON" ]]; then
|
||||
else
|
||||
log_info "Skipping CTest"
|
||||
fi
|
||||
|
||||
# RPM/DEB package verification (optional)
|
||||
if [[ "${VERIFY_RPM}" == "ON" ]]; then
|
||||
log_info "=== Package Verification (RPM/DEB) ==="
|
||||
# Check for generated packages in common output locations
|
||||
PACKAGE_FOUND=0
|
||||
|
||||
# Check for DEB packages (jenkins_builder.sh output)
|
||||
if [[ -d "/workspace/rpms" ]]; then
|
||||
DEB_COUNT=$(find /workspace/rpms -name "*.deb" -type f 2>/dev/null | wc -l)
|
||||
if [[ "${DEB_COUNT}" -gt 0 ]]; then
|
||||
log_info "Found ${DEB_COUNT} DEB package(s):"
|
||||
find /workspace/rpms -name "*.deb" -type f 2>/dev/null | while read -r deb_file; do
|
||||
log_info " - $(basename "${deb_file}")"
|
||||
done
|
||||
PACKAGE_FOUND=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check for RPM packages (rpmbuild output)
|
||||
if [[ -d "/workspace/build/rpm" ]]; then
|
||||
RPM_COUNT=$(find /workspace/build/rpm -name "*.rpm" -type f 2>/dev/null | wc -l)
|
||||
if [[ "${RPM_COUNT}" -gt 0 ]]; then
|
||||
log_info "Found ${RPM_COUNT} RPM package(s):"
|
||||
find /workspace/build/rpm -name "*.rpm" -type f 2>/dev/null | while read -r rpm_file; do
|
||||
log_info " - $(basename "${rpm_file}")"
|
||||
done
|
||||
PACKAGE_FOUND=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${PACKAGE_FOUND}" -eq 1 ]]; then
|
||||
log_info "Package verification: SUCCESS"
|
||||
else
|
||||
log_info "No packages found (this is expected for CMake-only builds without jenkins_builder.sh)"
|
||||
log_info "Package verification: SKIPPED (no package build step in this configuration)"
|
||||
fi
|
||||
else
|
||||
log_info "Skipping package verification"
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod +x "${CONTAINER_SCRIPT_HOST}"
|
||||
@@ -1445,6 +1493,7 @@ docker run --rm \
|
||||
-e RUN_CTEST \
|
||||
-e TESTS_ONLY \
|
||||
-e INTEGRATION_TEST \
|
||||
-e VERIFY_RPM \
|
||||
-e USE_PREBUILT_IMAGE \
|
||||
-e CMAKE_BUILD_FLAGS \
|
||||
-e QT_VERSION \
|
||||
|
||||
Reference in new issue
Block a user