From f3ede287e270688c26c6acdb5fe56ef56e58bacb Mon Sep 17 00:00:00 2001 From: RedLeaderOne Date: Mon, 9 Sep 2024 17:16:12 -0400 Subject: [PATCH 1/2] fix: solve master and dev scheduled build instability - Modify Docker compose files to enforce full rebuild for all builds - Adjust Docker image architectures and add cache control - Update version in .env build matrix files from 1.4.2 to 1.4.3 - Update LinkingProjects documentation to reflect new version Issue NMO-589 --- build_system/.env.build_matrix.dependencies | 2 +- build_system/.env.build_matrix.libpointmatcher | 2 +- .../.env.build_matrix.libpointmatcher.bleeding | 2 +- .../.env.build_matrix.libpointmatcher.release | 2 +- build_system/docker-compose.dependencies.yaml | 11 +++++++---- build_system/docker-compose.libpointmatcher.yaml | 15 ++++++++------- build_system/utilities/norlab-build-system | 2 +- build_system/utilities/norlab-shell-script-tools | 2 +- doc/LinkingProjects.md | 2 +- 9 files changed, 22 insertions(+), 18 deletions(-) diff --git a/build_system/.env.build_matrix.dependencies b/build_system/.env.build_matrix.dependencies index f06b22cb..a6a36596 100644 --- a/build_system/.env.build_matrix.dependencies +++ b/build_system/.env.build_matrix.dependencies @@ -11,7 +11,7 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.dependencies.yaml # Libpointmatcher version # # 'latest' is the latest push to the libpointmatcher master branch -NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' ) +NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.3' 'latest' ) # # Libpointmatcher dependencies CMAKE_BUILD_TYPE diff --git a/build_system/.env.build_matrix.libpointmatcher b/build_system/.env.build_matrix.libpointmatcher index 0aabd817..3f0cda55 100644 --- a/build_system/.env.build_matrix.libpointmatcher +++ b/build_system/.env.build_matrix.libpointmatcher @@ -11,7 +11,7 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.libpointmatcher.yaml # Libpointmatcher version # # 'latest' is the latest push to the libpointmatcher master branch -#NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' ) +#NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.3' 'latest' ) NBS_MATRIX_REPOSITORY_VERSIONS=( 'latest' ) # diff --git a/build_system/.env.build_matrix.libpointmatcher.bleeding b/build_system/.env.build_matrix.libpointmatcher.bleeding index 661de48f..3c95cf35 100644 --- a/build_system/.env.build_matrix.libpointmatcher.bleeding +++ b/build_system/.env.build_matrix.libpointmatcher.bleeding @@ -11,7 +11,7 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.libpointmatcher.yaml # Libpointmatcher version # # 'latest' is the latest push to the libpointmatcher master branch -#NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' ) +#NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.3' 'latest' ) NBS_MATRIX_REPOSITORY_VERSIONS=( 'latest' ) # diff --git a/build_system/.env.build_matrix.libpointmatcher.release b/build_system/.env.build_matrix.libpointmatcher.release index 0bf2693b..04663e9f 100644 --- a/build_system/.env.build_matrix.libpointmatcher.release +++ b/build_system/.env.build_matrix.libpointmatcher.release @@ -11,7 +11,7 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.libpointmatcher.yaml # Libpointmatcher version # # 'latest' is the latest push to the libpointmatcher master branch -NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' ) +NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.3' 'latest' ) # # Libpointmatcher CMAKE_BUILD_TYPE diff --git a/build_system/docker-compose.dependencies.yaml b/build_system/docker-compose.dependencies.yaml index e671ed10..f6fdba7f 100644 --- a/build_system/docker-compose.dependencies.yaml +++ b/build_system/docker-compose.dependencies.yaml @@ -3,13 +3,15 @@ services: # ====Dependency related services================================================================ dependencies-general: image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher-dependencies-general:${NBS_IMAGE_TAG:?err} + pull_policy: build # Execute the `build` attribute over pulling the `image` attribute build: target: libpointmatcher-dependencies-general context: .. dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR:?err}/ubuntu/Dockerfile.dependencies + no_cache: true # Enforce full rebuild platforms: - "linux/amd64" - - "linux/arm64/v8" + - "linux/arm64" args: BASE_IMAGE: ${DEPENDENCIES_BASE_IMAGE:?err} BASE_IMAGE_TAG: ${DEPENDENCIES_BASE_IMAGE_TAG:?err} @@ -34,14 +36,15 @@ services: build: context: .. dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR:?err}/ubuntu/Dockerfile.dependencies.doxygen - platforms: - - "linux/amd64" - - "linux/arm64/v8" + pull: false # Use the local image store to execute the FROM directive args: PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE} BASE_IMAGE: libpointmatcher-dependencies BASE_IMAGE_TAG: ${NBS_IMAGE_TAG} IS_TEAMCITY_RUN: ${IS_TEAMCITY_RUN} + platforms: + - "linux/amd64" + - "linux/arm64" depends_on: - dependencies tty: true diff --git a/build_system/docker-compose.libpointmatcher.yaml b/build_system/docker-compose.libpointmatcher.yaml index 66986776..576e987d 100644 --- a/build_system/docker-compose.libpointmatcher.yaml +++ b/build_system/docker-compose.libpointmatcher.yaml @@ -7,15 +7,15 @@ services: # ....Test logic related to libpointmatcher install casses....................................... _test_compilation: image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher-compilation-test:${NBS_IMAGE_TAG:?err} - pull_policy: build + pull_policy: build # Execute the `build` attribute over pulling the `image` attribute build: context: .. dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR:?err}/ubuntu/Dockerfile.libpointmatcher.compilation_test - no_cache: false + no_cache: true # Enforce full rebuild target: test-compilation-auto-path-resolution platforms: - "linux/amd64" - - "linux/arm64/v8" + - "linux/arm64" args: PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE} BASE_IMAGE: libpointmatcher-dependencies-general @@ -45,11 +45,11 @@ services: # ....Test logic related to libpointmatcher codebase unit-test................................... ci_PR: image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher-ci-pr:${NBS_IMAGE_TAG:?err} - pull_policy: build + pull_policy: build # Execute the `build` attribute over pulling the `image` attribute build: context: .. dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR}/ubuntu/Dockerfile.libpointmatcher.ci_PR - no_cache: false + no_cache: true # Enforce full rebuild args: PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE} BASE_IMAGE: libpointmatcher-dependencies @@ -90,13 +90,14 @@ services: release: image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher:${NBS_IMAGE_TAG:?err} container_name: libpointmatcher + pull_policy: build # Execute the `build` attribute over pulling the `image` attribute build: context: .. dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR}/ubuntu/Dockerfile.libpointmatcher.hub_release platforms: - "linux/amd64" - - "linux/arm64/v8" - no_cache: false + - "linux/arm64" + no_cache: true # Enforce full rebuild args: PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE} BASE_IMAGE: libpointmatcher-dependencies-doc diff --git a/build_system/utilities/norlab-build-system b/build_system/utilities/norlab-build-system index 54bab512..c1c85665 160000 --- a/build_system/utilities/norlab-build-system +++ b/build_system/utilities/norlab-build-system @@ -1 +1 @@ -Subproject commit 54bab5126598a5f92104eb6b30b278d8e89629f4 +Subproject commit c1c8566567b77b77cfb24ee6f68460b942d4464e diff --git a/build_system/utilities/norlab-shell-script-tools b/build_system/utilities/norlab-shell-script-tools index f6de2392..975e5b7d 160000 --- a/build_system/utilities/norlab-shell-script-tools +++ b/build_system/utilities/norlab-shell-script-tools @@ -1 +1 @@ -Subproject commit f6de2392d221474eb21c739b23ab55ee1f706cce +Subproject commit 975e5b7d88b48b55f7458121b46f933547414495 diff --git a/doc/LinkingProjects.md b/doc/LinkingProjects.md index f206490a..a4343ce0 100644 --- a/doc/LinkingProjects.md +++ b/doc/LinkingProjects.md @@ -12,7 +12,7 @@ In this following example, we build a very simple CMake project containing one e cmake_minimum_required (VERSION 3.10.12) project (myProject) -find_package(libpointmatcher 1.4.2 REQUIRED) +find_package(libpointmatcher 1.4.3 REQUIRED) include_directories("${libpointmatcher_INCLUDE_DIRS}") message(STATUS "Using libpointmatcher version ${libpointmatcher_VERSION}") From df3e53692f893c913e15f6e31ccde3448cb34885 Mon Sep 17 00:00:00 2001 From: RedLeaderOne Date: Mon, 9 Sep 2024 17:36:02 -0400 Subject: [PATCH 2/2] build: update norlab-build-system version - Upgraded norlab-build-system to the latest version. - Improved compatibility with new dependency requirements. --- build_system/utilities/norlab-build-system | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_system/utilities/norlab-build-system b/build_system/utilities/norlab-build-system index c1c85665..ddd22afa 160000 --- a/build_system/utilities/norlab-build-system +++ b/build_system/utilities/norlab-build-system @@ -1 +1 @@ -Subproject commit c1c8566567b77b77cfb24ee6f68460b942d4464e +Subproject commit ddd22afa66674adb309251992548260e1455a9ca