From 3c4dadb93945d6852f58cbea82b543fd56754108 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Tue, 12 Mar 2024 09:38:37 +0100 Subject: [PATCH 1/7] Refs #20542: Adapt nightly jobs for all supported versions Signed-off-by: JesusPoderoso Signed-off-by: EduPonz --- .../{default_ci_master.repos => default_ci.repos} | 0 .github/workflows/config/default_ci_2.10.x.repos | 13 ------------- .github/workflows/config/default_ci_2.12.x.repos | 13 ------------- .github/workflows/config/default_ci_2.13.x.repos | 13 ------------- .github/workflows/config/default_ci_2.6.x.repos | 13 ------------- .../config/{nightly_master.repos => nightly.repos} | 0 .github/workflows/config/nightly_2.10.x.repos | 13 ------------- .github/workflows/config/nightly_2.12.x.repos | 13 ------------- .github/workflows/config/nightly_2.13.x.repos | 13 ------------- .github/workflows/config/nightly_2.6.x.repos | 13 ------------- .github/workflows/reusable-mac-ci.yml | 12 ++---------- .github/workflows/reusable-ubuntu-ci.yml | 12 ++---------- .github/workflows/reusable-windows-ci.yml | 12 ++---------- 13 files changed, 6 insertions(+), 134 deletions(-) rename .github/workflows/config/{default_ci_master.repos => default_ci.repos} (100%) delete mode 100644 .github/workflows/config/default_ci_2.10.x.repos delete mode 100644 .github/workflows/config/default_ci_2.12.x.repos delete mode 100644 .github/workflows/config/default_ci_2.13.x.repos delete mode 100644 .github/workflows/config/default_ci_2.6.x.repos rename .github/workflows/config/{nightly_master.repos => nightly.repos} (100%) delete mode 100644 .github/workflows/config/nightly_2.10.x.repos delete mode 100644 .github/workflows/config/nightly_2.12.x.repos delete mode 100644 .github/workflows/config/nightly_2.13.x.repos delete mode 100644 .github/workflows/config/nightly_2.6.x.repos diff --git a/.github/workflows/config/default_ci_master.repos b/.github/workflows/config/default_ci.repos similarity index 100% rename from .github/workflows/config/default_ci_master.repos rename to .github/workflows/config/default_ci.repos diff --git a/.github/workflows/config/default_ci_2.10.x.repos b/.github/workflows/config/default_ci_2.10.x.repos deleted file mode 100644 index e5a8ab31ec8..00000000000 --- a/.github/workflows/config/default_ci_2.10.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.0 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/default_ci_2.12.x.repos b/.github/workflows/config/default_ci_2.12.x.repos deleted file mode 100644 index f1c0628cf69..00000000000 --- a/.github/workflows/config/default_ci_2.12.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: v2.1.0 - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/default_ci_2.13.x.repos b/.github/workflows/config/default_ci_2.13.x.repos deleted file mode 100644 index 5541d131c26..00000000000 --- a/.github/workflows/config/default_ci_2.13.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 2.1.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/default_ci_2.6.x.repos b/.github/workflows/config/default_ci_2.6.x.repos deleted file mode 100644 index dafcf2fd3f7..00000000000 --- a/.github/workflows/config/default_ci_2.6.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.2.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_master.repos b/.github/workflows/config/nightly.repos similarity index 100% rename from .github/workflows/config/nightly_master.repos rename to .github/workflows/config/nightly.repos diff --git a/.github/workflows/config/nightly_2.10.x.repos b/.github/workflows/config/nightly_2.10.x.repos deleted file mode 100644 index e5a8ab31ec8..00000000000 --- a/.github/workflows/config/nightly_2.10.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.0 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_2.12.x.repos b/.github/workflows/config/nightly_2.12.x.repos deleted file mode 100644 index f1c0628cf69..00000000000 --- a/.github/workflows/config/nightly_2.12.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: v2.1.0 - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_2.13.x.repos b/.github/workflows/config/nightly_2.13.x.repos deleted file mode 100644 index 5541d131c26..00000000000 --- a/.github/workflows/config/nightly_2.13.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 2.1.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_2.6.x.repos b/.github/workflows/config/nightly_2.6.x.repos deleted file mode 100644 index dafcf2fd3f7..00000000000 --- a/.github/workflows/config/nightly_2.6.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.2.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/reusable-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml index 2094fd78679..432226a17a7 100644 --- a/.github/workflows/reusable-mac-ci.yml +++ b/.github/workflows/reusable-mac-ci.yml @@ -88,20 +88,12 @@ jobs: # Nightly job if [[ "${{ inputs.label }}" == *"nightly"* ]] then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly_${{ inputs.fastdds-branch }}.repos" - if [ ! -f ${DEPENDS_REPOS_PATH} ] - then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly_master.repos" - fi + DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly.repos" META_PATH="./src/fastrtps/.github/workflows/config/nightly.meta" # Either PR or manual else - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci_${{ inputs.fastdds-branch }}.repos" - if [ ! -f ${DEPENDS_REPOS_PATH} ] - then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci_master.repos" - fi + DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci.repos" META_PATH="./src/fastrtps/.github/workflows/config/default_ci.meta" fi diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index e95fdafdc54..a0f7f191243 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -82,20 +82,12 @@ jobs: # Nightly job if [[ "${{ inputs.label }}" == *"nightly"* ]] then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly_${{ inputs.fastdds-branch }}.repos" - if [ ! -f ${DEPENDS_REPOS_PATH} ] - then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly_master.repos" - fi + DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly.repos" META_PATH="./src/fastrtps/.github/workflows/config/nightly.meta" # Either PR or manual else - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci_${{ inputs.fastdds-branch }}.repos" - if [ ! -f ${DEPENDS_REPOS_PATH} ] - then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci_master.repos" - fi + DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci.repos" META_PATH="./src/fastrtps/.github/workflows/config/default_ci.meta" fi diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml index a9520351561..e7997615ddc 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-windows-ci.yml @@ -125,21 +125,13 @@ jobs: # Nightly job if ("${{ inputs.label }}".Contains("nightly")) { - $depends_repos_path = ".\src\fastrtps\.github\workflows\config\nightly_${{ inputs.fastdds_branch }}.repos" - if (!(Test-Path -Path $depends_repos_path)) - { - $depends_repos_path = ".\src\fastrtps\.github\workflows\config\nightly_master.repos" - } + $depends_repos_path = ".\src\fastrtps\.github\workflows\config\nightly.repos" $meta_path = ".\src\fastrtps\.github\workflows\config\nightly.meta" } # Either PR or manual else { - $depends_repos_path = ".\src\fastrtps\.github\workflows\config\default_ci_${{ inputs.fastdds_branch }}.repos" - if (!(Test-Path -Path $depends_repos_path)) - { - $depends_repos_path = ".\src\fastrtps\.github\workflows\config\default_ci_master.repos" - } + $depends_repos_path = ".\src\fastrtps\.github\workflows\config\default_ci.repos" $meta_path = ".\src\fastrtps\.github\workflows\config\default_ci.meta" } Write-Output "Selected repos files: $depends_repos_path" From 60d1f7ea9b9a88eff5f33bd827a287a2a210b312 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Tue, 12 Mar 2024 10:21:27 +0100 Subject: [PATCH 2/7] Refs #20542: Simplify workflows Signed-off-by: JesusPoderoso Signed-off-by: EduPonz --- .github/workflows/config/ci.repos | 5 ++++ .../config/{nightly.meta => ci_colcon.meta} | 0 .github/workflows/config/default_ci.meta | 28 ----------------- .github/workflows/config/default_ci.repos | 13 -------- .github/workflows/config/nightly.repos | 13 -------- .github/workflows/mac-ci.yml | 2 +- .github/workflows/reusable-mac-ci.yml | 30 ++++++++----------- .github/workflows/reusable-ubuntu-ci.yml | 30 ++++++++----------- .github/workflows/reusable-windows-ci.yml | 26 +++++++--------- .github/workflows/ubuntu-ci.yml | 2 +- .github/workflows/windows-ci.yml | 2 +- 11 files changed, 42 insertions(+), 109 deletions(-) create mode 100644 .github/workflows/config/ci.repos rename .github/workflows/config/{nightly.meta => ci_colcon.meta} (100%) delete mode 100644 .github/workflows/config/default_ci.meta delete mode 100644 .github/workflows/config/default_ci.repos delete mode 100644 .github/workflows/config/nightly.repos diff --git a/.github/workflows/config/ci.repos b/.github/workflows/config/ci.repos new file mode 100644 index 00000000000..5052ee825f4 --- /dev/null +++ b/.github/workflows/config/ci.repos @@ -0,0 +1,5 @@ +repositories: + googletest-distribution: + type: git + url: https://github.com/google/googletest.git + version: release-1.11.0 diff --git a/.github/workflows/config/nightly.meta b/.github/workflows/config/ci_colcon.meta similarity index 100% rename from .github/workflows/config/nightly.meta rename to .github/workflows/config/ci_colcon.meta diff --git a/.github/workflows/config/default_ci.meta b/.github/workflows/config/default_ci.meta deleted file mode 100644 index 55514ebbce6..00000000000 --- a/.github/workflows/config/default_ci.meta +++ /dev/null @@ -1,28 +0,0 @@ -names: - fastrtps: - cmake-args: - - "-DBUILD_DOCUMENTATION=OFF" - - "-DBUILD_SHARED_LIBS=ON" - - "-DCOMPILE_EXAMPLES=ON" - - "-DEPROSIMA_BUILD_TESTS=ON" - - "-DFASTDDS_ENFORCE_LOG_INFO=ON" - - "-DFASTDDS_PIM_API_TESTS=ON" - - "-DFASTDDS_STATISTICS=ON" - - "-DFASTRTPS_API_TESTS=OFF" - - "-DINSTALL_EXAMPLES=ON" - - "-DINSTALL_TOOLS=ON" - - "-DINTERNAL_DEBUG=ON" - - "-DNO_TLS=OFF" - - "-DPERFORMANCE_TESTS=ON" - - "-DPROFILING_TESTS=OFF" - - "-DSECURITY=ON" - - "-DSHM_TRANSPORT_DEFAULT=ON" - - "-DSTRICT_REALTIME=OFF" - - "-DSYSTEM_TESTS=ON" - - "-DMEMORYCHECK_COMMAND_OPTIONS=-q --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=2 --error-exitcode=1" - - "-DMEMORYCHECK_SUPPRESSIONS_FILE=../../src/fastrtps/valgrind.supp" - googletest-distribution: - cmake-args: - - "-Dgtest_force_shared_crt=ON" - - "-DBUILD_SHARED_LIBS=ON" - - "-DBUILD_GMOCK=ON" diff --git a/.github/workflows/config/default_ci.repos b/.github/workflows/config/default_ci.repos deleted file mode 100644 index 5d3651ca82c..00000000000 --- a/.github/workflows/config/default_ci.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: master - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly.repos b/.github/workflows/config/nightly.repos deleted file mode 100644 index 5d3651ca82c..00000000000 --- a/.github/workflows/config/nightly.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: master - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/mac-ci.yml b/.github/workflows/mac-ci.yml index bf18938f21e..0a95e642f4b 100644 --- a/.github/workflows/mac-ci.yml +++ b/.github/workflows/mac-ci.yml @@ -44,6 +44,6 @@ jobs: with: label: ${{ inputs.label || 'mac-ci' }} colcon-args: ${{ inputs.colcon-args }} - cmake-args: ${{ inputs.cmake-args }} + cmake-args: '-DSECURITY=ON ${{ inputs.cmake-args }}' ctest-args: ${{ inputs.ctest-args }} fastdds-branch: ${{ inputs.fastdds_branch || github.ref || 'master' }} diff --git a/.github/workflows/reusable-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml index 432226a17a7..3a740eff20e 100644 --- a/.github/workflows/reusable-mac-ci.yml +++ b/.github/workflows/reusable-mac-ci.yml @@ -85,27 +85,21 @@ jobs: - name: Prepare colcon workspace id: colcon_ws_setup run: | - # Nightly job - if [[ "${{ inputs.label }}" == *"nightly"* ]] - then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly.repos" - META_PATH="./src/fastrtps/.github/workflows/config/nightly.meta" - - # Either PR or manual - else - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci.repos" - META_PATH="./src/fastrtps/.github/workflows/config/default_ci.meta" - fi - - echo "Selected repos files: ${DEPENDS_REPOS_PATH}" - cat ${DEPENDS_REPOS_PATH} - - echo "Selected metas files: ${META_PATH}" + REPOS_PATH="./src/fastrtps/.github/workflows/config/ci.repos" + META_PATH="./src/fastrtps/.github/workflows/config/ci_colcon.meta" + + echo "CI repos file:" + cat ${REPOS_PATH} + + echo "CI metas file:" cp ${META_PATH} ci.meta cat ci.meta - # Create source dir and download the sources - vcs import src --input ${DEPENDS_REPOS_PATH} --skip-existing + # Create source dir and download the version sources + vcs import src --input ./src/fastrtps/fastrtps.repos --skip-existing + + # Download the CI sources + vcs import src --input ${REPOS_PATH} --skip-existing # TODO(eduponz): There is a warning in clang >= 16 regarding enum-constexpr-conversion: # - Issue: https://github.com/boostorg/mpl/issues/69. diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index a0f7f191243..c311ecaf6be 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -79,27 +79,21 @@ jobs: - name: Prepare colcon workspace id: colcon_ws_setup run: | - # Nightly job - if [[ "${{ inputs.label }}" == *"nightly"* ]] - then - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/nightly.repos" - META_PATH="./src/fastrtps/.github/workflows/config/nightly.meta" - - # Either PR or manual - else - DEPENDS_REPOS_PATH="./src/fastrtps/.github/workflows/config/default_ci.repos" - META_PATH="./src/fastrtps/.github/workflows/config/default_ci.meta" - fi - - echo "Selected repos files: ${DEPENDS_REPOS_PATH}" - cat ${DEPENDS_REPOS_PATH} - - echo "Selected metas files: ${META_PATH}" + REPOS_PATH="./src/fastrtps/.github/workflows/config/ci.repos" + META_PATH="./src/fastrtps/.github/workflows/config/ci_colcon.meta" + + echo "CI repos file:" + cat ${REPOS_PATH} + + echo "CI metas file:" cp ${META_PATH} ci.meta cat ci.meta - # Create source dir and download the sources - vcs import src --input ${DEPENDS_REPOS_PATH} --skip-existing + # Create source dir and download the version sources + vcs import src --input ./src/fastrtps/fastrtps.repos --skip-existing + + # Download the CI sources + vcs import src --input ${REPOS_PATH} --skip-existing - name: Colcon build continue-on-error: false diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml index e7997615ddc..53e85588680 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-windows-ci.yml @@ -122,20 +122,11 @@ jobs: Import-Module -name ConvertBase64Strings -Prefix CI Install-Module powershell-yaml -Force - # Nightly job - if ("${{ inputs.label }}".Contains("nightly")) - { - $depends_repos_path = ".\src\fastrtps\.github\workflows\config\nightly.repos" - $meta_path = ".\src\fastrtps\.github\workflows\config\nightly.meta" - } - # Either PR or manual - else - { - $depends_repos_path = ".\src\fastrtps\.github\workflows\config\default_ci.repos" - $meta_path = ".\src\fastrtps\.github\workflows\config\default_ci.meta" - } - Write-Output "Selected repos files: $depends_repos_path" - Write-Output "Selected metas files: $meta_path" + $repos_path = ".\src\fastrtps\.github\workflows\config\ci.repos" + $meta_path = ".\src\fastrtps\.github\workflows\config\ci_colcon.meta" + + Write-Output "CI repos file: $repos_path" + Write-Output "CI metas file: $meta_path" # Generate the meta file "::group::deployed colcon.meta file" @@ -143,8 +134,11 @@ jobs: $meta | ConvertTo-Json -Depth 3 | Tee-Object -FilePath ci.meta -Encoding OEM "::endgroup::" - # create source dir and download the sources - vcs import src --input $depends_repos_path --skip-existing + # Create source dir and download the version sources + vcs import src --input .\src\fastrtps\fastrtps.repos --skip-existing + + # Download the CI sources + vcs import src --input $repos_path --skip-existing - name: Build id: build diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml index 4f2dd0be641..4daf6d0c471 100644 --- a/.github/workflows/ubuntu-ci.yml +++ b/.github/workflows/ubuntu-ci.yml @@ -42,6 +42,6 @@ jobs: os-image: ${{ matrix.os-image }} label: ${{ inputs.label || 'ubuntu-ci' }} colcon-args: ${{ inputs.colcon-args }} - cmake-args: ${{ inputs.cmake-args || '-DSECURITY=ON' }} + cmake-args: '-DSECURITY=ON ${{ inputs.cmake-args }}' ctest-args: ${{ inputs.ctest-args || '-LE xfail' }} fastdds-branch: ${{ inputs.fastdds_branch || github.ref || 'master' }} diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml index de26e90209b..abcc9aa41a6 100644 --- a/.github/workflows/windows-ci.yml +++ b/.github/workflows/windows-ci.yml @@ -44,6 +44,6 @@ jobs: with: label: ${{ inputs.label || 'windows-ci' }} colcon-args: ${{ inputs.colcon-args }} - cmake-args: ${{ inputs.cmake-args }} + cmake-args: '-DSECURITY=ON ${{ inputs.cmake-args }}' ctest-args: ${{ inputs.ctest-args }} fastdds_branch: ${{ inputs.fastdds_branch || github.ref || 'master' }} From 036ab6bb3828ab443886ccca83061f576379eb74 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Tue, 12 Mar 2024 10:24:27 +0100 Subject: [PATCH 3/7] Refs #20542: Update json metas to yaml Signed-off-by: JesusPoderoso Signed-off-by: EduPonz --- .github/workflows/config/asan_colcon.meta | 48 +++++++++------------- .github/workflows/config/tsan_colcon.meta | 49 +++++++++-------------- 2 files changed, 36 insertions(+), 61 deletions(-) diff --git a/.github/workflows/config/asan_colcon.meta b/.github/workflows/config/asan_colcon.meta index cda173af037..6f214f9578d 100644 --- a/.github/workflows/config/asan_colcon.meta +++ b/.github/workflows/config/asan_colcon.meta @@ -1,31 +1,19 @@ -{ - "names": - { - "fastrtps": - { - "cmake-args": - [ - "-DCMAKE_BUILD_TYPE=Debug", - "-DEPROSIMA_BUILD_TESTS=ON", - "-DRTPS_API_TESTS=ON", - "-DFASTRTPS_API_TESTS=ON", - "-DFASTDDS_PIM_API_TESTS=ON", - "-DPERFORMANCE_TESTS=ON", - "-DNO_TLS=OFF", - "-DSECURITY=ON", - "-DFASTDDS_STATISTICS=ON", - "-DSANITIZER=Address", - "-DCMAKE_CXX_FLAGS='-Werror'" - ] - }, +names: + fastrtps: + cmake-args: + - "-DCMAKE_BUILD_TYPE=Debug" + - "-DEPROSIMA_BUILD_TESTS=ON" + - "-DRTPS_API_TESTS=ON" + - "-DFASTRTPS_API_TESTS=ON" + - "-DFASTDDS_PIM_API_TESTS=ON" + - "-DPERFORMANCE_TESTS=ON" + - "-DNO_TLS=OFF" + - "-DSECURITY=ON" + - "-DFASTDDS_STATISTICS=ON" + - "-DSANITIZER=Address" + - "-DCMAKE_CXX_FLAGS='-Werror'" - "discovery-server": - { - "cmake-args": - [ - "-DCMAKE_BUILD_TYPE=Debug", - "-DSANITIZER=Address", - ] - } - } -} + discovery-server: + cmake-args: + -"-DCMAKE_BUILD_TYPE=Debug" + -"-DSANITIZER=Address" diff --git a/.github/workflows/config/tsan_colcon.meta b/.github/workflows/config/tsan_colcon.meta index c33e7bc2938..e7f8a45e3ff 100644 --- a/.github/workflows/config/tsan_colcon.meta +++ b/.github/workflows/config/tsan_colcon.meta @@ -1,31 +1,18 @@ -{ - "names": - { - "fastcdr": - { - "cmake-args": - [ - "-DCMAKE_C_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'", - "-DCMAKE_CXX_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'" - ] - }, - "fastrtps": - { - "cmake-args": - [ - "-DCOMPILE_EXAMPLES=OFF", - "-DEPROSIMA_BUILD_TESTS=ON", - "-DRTPS_API_TESTS=ON", - "-DFASTRTPS_API_TESTS=OFF", - "-DFASTDDS_PIM_API_TESTS=ON", - "-DPERFORMANCE_TESTS=ON", - "-DNO_TLS=OFF", - "-DSECURITY=ON", - "-DFASTDDS_STATISTICS=ON", - "-DCMAKE_C_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'", - "-DCMAKE_CXX_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'" - ] - } - - } -} +names: + fastcdr: + cmake-args: + - "-DCMAKE_C_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'" + - "-DCMAKE_CXX_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'" + fastrtps: + cmake-args: + - "-DCOMPILE_EXAMPLES=OFF" + - "-DEPROSIMA_BUILD_TESTS=ON" + - "-DRTPS_API_TESTS=ON" + - "-DFASTRTPS_API_TESTS=OFF" + - "-DFASTDDS_PIM_API_TESTS=ON" + - "-DPERFORMANCE_TESTS=ON" + - "-DNO_TLS=OFF" + - "-DSECURITY=ON" + - "-DFASTDDS_STATISTICS=ON" + - "-DCMAKE_C_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'" + - "-DCMAKE_CXX_FLAGS='-fsanitize=thread -O2 -g -fno-omit-frame-pointer'" From 93d836af42e36b3fae4a8c6ce37e87368d6f2195 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Tue, 12 Mar 2024 10:51:51 +0100 Subject: [PATCH 4/7] Refs #20542: Apply rev suggestions Signed-off-by: JesusPoderoso Signed-off-by: EduPonz --- .../config/{ci_colcon.meta => ci.meta} | 0 .github/workflows/reusable-mac-ci.yml | 21 ++++++++++++++----- .github/workflows/reusable-ubuntu-ci.yml | 21 ++++++++++++++----- .github/workflows/reusable-windows-ci.yml | 21 ++++++++++++++----- 4 files changed, 48 insertions(+), 15 deletions(-) rename .github/workflows/config/{ci_colcon.meta => ci.meta} (100%) diff --git a/.github/workflows/config/ci_colcon.meta b/.github/workflows/config/ci.meta similarity index 100% rename from .github/workflows/config/ci_colcon.meta rename to .github/workflows/config/ci.meta diff --git a/.github/workflows/reusable-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml index 3a740eff20e..74040a8e0d8 100644 --- a/.github/workflows/reusable-mac-ci.yml +++ b/.github/workflows/reusable-mac-ci.yml @@ -86,20 +86,31 @@ jobs: id: colcon_ws_setup run: | REPOS_PATH="./src/fastrtps/.github/workflows/config/ci.repos" - META_PATH="./src/fastrtps/.github/workflows/config/ci_colcon.meta" + META_PATH="./src/fastrtps/.github/workflows/config/ci.meta" echo "CI repos file:" cat ${REPOS_PATH} + echo "REPOS_PATH=$REPOS_PATH" >> $GITHUB_ENV echo "CI metas file:" cp ${META_PATH} ci.meta cat ci.meta - # Create source dir and download the version sources - vcs import src --input ./src/fastrtps/fastrtps.repos --skip-existing + - name: Fetch Fast DDS dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ./src/fastrtps/fastrtps.repos + destination_workspace: src + skip_existing: 'true' - # Download the CI sources - vcs import src --input ${REPOS_PATH} --skip-existing + - name: Fetch Fast DDS CI dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ${{ env.REPOS_PATH }} + destination_workspace: src + skip_existing: 'true' + env: + REPOS_PATH: ${{ env.REPOS_PATH }} # TODO(eduponz): There is a warning in clang >= 16 regarding enum-constexpr-conversion: # - Issue: https://github.com/boostorg/mpl/issues/69. diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index c311ecaf6be..9c679d5151d 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -80,20 +80,31 @@ jobs: id: colcon_ws_setup run: | REPOS_PATH="./src/fastrtps/.github/workflows/config/ci.repos" - META_PATH="./src/fastrtps/.github/workflows/config/ci_colcon.meta" + META_PATH="./src/fastrtps/.github/workflows/config/ci.meta" echo "CI repos file:" cat ${REPOS_PATH} + echo "REPOS_PATH=$REPOS_PATH" >> $GITHUB_ENV echo "CI metas file:" cp ${META_PATH} ci.meta cat ci.meta - # Create source dir and download the version sources - vcs import src --input ./src/fastrtps/fastrtps.repos --skip-existing + - name: Fetch Fast DDS dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ./src/fastrtps/fastrtps.repos + destination_workspace: src + skip_existing: 'true' - # Download the CI sources - vcs import src --input ${REPOS_PATH} --skip-existing + - name: Fetch Fast DDS CI dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ${{ env.REPOS_PATH }} + destination_workspace: src + skip_existing: 'true' + env: + REPOS_PATH: ${{ env.REPOS_PATH }} - name: Colcon build continue-on-error: false diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml index 53e85588680..f475fa04b87 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-windows-ci.yml @@ -123,10 +123,11 @@ jobs: Install-Module powershell-yaml -Force $repos_path = ".\src\fastrtps\.github\workflows\config\ci.repos" - $meta_path = ".\src\fastrtps\.github\workflows\config\ci_colcon.meta" + $meta_path = ".\src\fastrtps\.github\workflows\config\ci.meta" Write-Output "CI repos file: $repos_path" Write-Output "CI metas file: $meta_path" + echo "REPOS_PATH=$repos_path" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append # Generate the meta file "::group::deployed colcon.meta file" @@ -134,11 +135,21 @@ jobs: $meta | ConvertTo-Json -Depth 3 | Tee-Object -FilePath ci.meta -Encoding OEM "::endgroup::" - # Create source dir and download the version sources - vcs import src --input .\src\fastrtps\fastrtps.repos --skip-existing + - name: Fetch Fast DDS dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: .\src\fastrtps\fastrtps.repos + destination_workspace: src + skip_existing: 'true' - # Download the CI sources - vcs import src --input $repos_path --skip-existing + - name: Fetch Fast DDS CI dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ${{ env.REPOS_PATH }} + destination_workspace: src + skip_existing: 'true' + env: + REPOS_PATH: ${{ env.REPOS_PATH }} - name: Build id: build From 2382a574ca362e7cc4f59c41056c31b3ce6a164e Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Tue, 12 Mar 2024 10:56:58 +0100 Subject: [PATCH 5/7] Refs #20542: Address missing suggestion Signed-off-by: JesusPoderoso Signed-off-by: EduPonz --- .github/workflows/reusable-mac-ci.yml | 20 ++--------------- .github/workflows/reusable-ubuntu-ci.yml | 20 ++--------------- .github/workflows/reusable-windows-ci.yml | 26 ++--------------------- 3 files changed, 6 insertions(+), 60 deletions(-) diff --git a/.github/workflows/reusable-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml index 74040a8e0d8..952d56f1287 100644 --- a/.github/workflows/reusable-mac-ci.yml +++ b/.github/workflows/reusable-mac-ci.yml @@ -82,20 +82,6 @@ jobs: # TODO(eduponz): Set up libp11 and SoftHSM. NOTE: using SoftHSM requires adding the runner to a group, # which entails logout/login or rebooting the machine. This is not feasible in a CI environment. - - name: Prepare colcon workspace - id: colcon_ws_setup - run: | - REPOS_PATH="./src/fastrtps/.github/workflows/config/ci.repos" - META_PATH="./src/fastrtps/.github/workflows/config/ci.meta" - - echo "CI repos file:" - cat ${REPOS_PATH} - echo "REPOS_PATH=$REPOS_PATH" >> $GITHUB_ENV - - echo "CI metas file:" - cp ${META_PATH} ci.meta - cat ci.meta - - name: Fetch Fast DDS dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: @@ -106,11 +92,9 @@ jobs: - name: Fetch Fast DDS CI dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ${{ env.REPOS_PATH }} + vcs_repos_file: ./src/fastrtps/.github/workflows/config/ci.repos destination_workspace: src skip_existing: 'true' - env: - REPOS_PATH: ${{ env.REPOS_PATH }} # TODO(eduponz): There is a warning in clang >= 16 regarding enum-constexpr-conversion: # - Issue: https://github.com/boostorg/mpl/issues/69. @@ -120,7 +104,7 @@ jobs: continue-on-error: false uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 with: - colcon_meta_file: ${{ github.workspace }}/ci.meta + colcon_meta_file: ./src/fastrtps/.github/workflows/config/ci.meta colcon_build_args: ${{ inputs.colcon-args }} cmake_args: ${{ inputs.cmake-args }} cmake_args_default: -DCMAKE_CXX_FLAGS="-Werror -Wall -Wno-enum-constexpr-conversion" diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index 9c679d5151d..952002465cc 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -76,20 +76,6 @@ jobs: # TODO(eduponz): Set up libp11 and SoftHSM. NOTE: using SoftHSM requires adding the runner to a group, # which entails logout/login or rebooting the machine. This is not feasible in a CI environment. - - name: Prepare colcon workspace - id: colcon_ws_setup - run: | - REPOS_PATH="./src/fastrtps/.github/workflows/config/ci.repos" - META_PATH="./src/fastrtps/.github/workflows/config/ci.meta" - - echo "CI repos file:" - cat ${REPOS_PATH} - echo "REPOS_PATH=$REPOS_PATH" >> $GITHUB_ENV - - echo "CI metas file:" - cp ${META_PATH} ci.meta - cat ci.meta - - name: Fetch Fast DDS dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: @@ -100,17 +86,15 @@ jobs: - name: Fetch Fast DDS CI dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ${{ env.REPOS_PATH }} + vcs_repos_file: ./src/fastrtps/.github/workflows/config/ci.repos destination_workspace: src skip_existing: 'true' - env: - REPOS_PATH: ${{ env.REPOS_PATH }} - name: Colcon build continue-on-error: false uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 with: - colcon_meta_file: ${{ github.workspace }}/ci.meta + colcon_meta_file: ./src/fastrtps/.github/workflows/config/ci.meta colcon_build_args: ${{ inputs.colcon-args }} cmake_args: ${{ inputs.cmake-args }} cmake_args_default: -DCMAKE_CXX_FLAGS="-Werror -Wall" -DFASTDDS_EXAMPLE_TESTS=ON diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml index f475fa04b87..3d9a5979cca 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-windows-ci.yml @@ -115,26 +115,6 @@ jobs: # Show the result gc $hostfile - - name: Prepare colcon workspace - run: | - # Get some convenient tools - Install-Module -Name ConvertBase64Strings -Force -AllowClobber - Import-Module -name ConvertBase64Strings -Prefix CI - Install-Module powershell-yaml -Force - - $repos_path = ".\src\fastrtps\.github\workflows\config\ci.repos" - $meta_path = ".\src\fastrtps\.github\workflows\config\ci.meta" - - Write-Output "CI repos file: $repos_path" - Write-Output "CI metas file: $meta_path" - echo "REPOS_PATH=$repos_path" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - - # Generate the meta file - "::group::deployed colcon.meta file" - $meta = Get-Content $meta_path | ConvertFrom-Yaml - $meta | ConvertTo-Json -Depth 3 | Tee-Object -FilePath ci.meta -Encoding OEM - "::endgroup::" - - name: Fetch Fast DDS dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: @@ -145,18 +125,16 @@ jobs: - name: Fetch Fast DDS CI dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ${{ env.REPOS_PATH }} + vcs_repos_file: .\src\fastrtps\.github\workflows\config\ci.repos destination_workspace: src skip_existing: 'true' - env: - REPOS_PATH: ${{ env.REPOS_PATH }} - name: Build id: build continue-on-error: false uses: eProsima/eProsima-CI/windows/colcon_build@v0 with: - colcon_meta_file: ${{ github.workspace }}/ci.meta + colcon_meta_file: .\src\fastrtps\.github\workflows\config\ci.meta colcon_build_args: ${{ inputs.colcon-args }} # The following Fast DDS CMake options need to be specified here instead of in the ci.meta file # because they vary from platform to platform From 4e5d1a2dac0ee2703ec4b339311719f9982d2be1 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Tue, 12 Mar 2024 11:17:31 +0100 Subject: [PATCH 6/7] Refs #20542: Apply rev suggestions (2) Signed-off-by: JesusPoderoso Signed-off-by: EduPonz --- .github/workflows/reusable-mac-ci.yml | 6 +++--- .github/workflows/reusable-ubuntu-ci.yml | 6 +++--- .github/workflows/reusable-windows-ci.yml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/reusable-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml index 952d56f1287..45245988403 100644 --- a/.github/workflows/reusable-mac-ci.yml +++ b/.github/workflows/reusable-mac-ci.yml @@ -85,14 +85,14 @@ jobs: - name: Fetch Fast DDS dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ./src/fastrtps/fastrtps.repos + vcs_repos_file: ${{ github.workspace }}/src/fastrtps/fastrtps.repos destination_workspace: src skip_existing: 'true' - name: Fetch Fast DDS CI dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ./src/fastrtps/.github/workflows/config/ci.repos + vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos destination_workspace: src skip_existing: 'true' @@ -104,7 +104,7 @@ jobs: continue-on-error: false uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 with: - colcon_meta_file: ./src/fastrtps/.github/workflows/config/ci.meta + colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.meta colcon_build_args: ${{ inputs.colcon-args }} cmake_args: ${{ inputs.cmake-args }} cmake_args_default: -DCMAKE_CXX_FLAGS="-Werror -Wall -Wno-enum-constexpr-conversion" diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index 952002465cc..fee4c5d2e84 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -79,14 +79,14 @@ jobs: - name: Fetch Fast DDS dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ./src/fastrtps/fastrtps.repos + vcs_repos_file: ${{ github.workspace }}/src/fastrtps/fastrtps.repos destination_workspace: src skip_existing: 'true' - name: Fetch Fast DDS CI dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: ./src/fastrtps/.github/workflows/config/ci.repos + vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos destination_workspace: src skip_existing: 'true' @@ -94,7 +94,7 @@ jobs: continue-on-error: false uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 with: - colcon_meta_file: ./src/fastrtps/.github/workflows/config/ci.meta + colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.meta colcon_build_args: ${{ inputs.colcon-args }} cmake_args: ${{ inputs.cmake-args }} cmake_args_default: -DCMAKE_CXX_FLAGS="-Werror -Wall" -DFASTDDS_EXAMPLE_TESTS=ON diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml index 3d9a5979cca..b90931be0c4 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-windows-ci.yml @@ -118,14 +118,14 @@ jobs: - name: Fetch Fast DDS dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: .\src\fastrtps\fastrtps.repos + vcs_repos_file: ${{ github.workspace }}\src\fastrtps\fastrtps.repos destination_workspace: src skip_existing: 'true' - name: Fetch Fast DDS CI dependencies uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: - vcs_repos_file: .\src\fastrtps\.github\workflows\config\ci.repos + vcs_repos_file: ${{ github.workspace }}\src\fastrtps\.github\workflows\config\ci.repos destination_workspace: src skip_existing: 'true' @@ -134,7 +134,7 @@ jobs: continue-on-error: false uses: eProsima/eProsima-CI/windows/colcon_build@v0 with: - colcon_meta_file: .\src\fastrtps\.github\workflows\config\ci.meta + colcon_meta_file: ${{ github.workspace }}\src\fastrtps\.github\workflows\config\ci.meta colcon_build_args: ${{ inputs.colcon-args }} # The following Fast DDS CMake options need to be specified here instead of in the ci.meta file # because they vary from platform to platform From 594f101fba9046f058791e4bb41f8dcacb46720e Mon Sep 17 00:00:00 2001 From: EduPonz Date: Wed, 13 Mar 2024 17:04:01 +0100 Subject: [PATCH 7/7] Refs #20542: Remove coverage.repos file Signed-off-by: EduPonz --- .github/workflows/config/coverage.repos | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .github/workflows/config/coverage.repos diff --git a/.github/workflows/config/coverage.repos b/.github/workflows/config/coverage.repos deleted file mode 100644 index f6580b0e8f8..00000000000 --- a/.github/workflows/config/coverage.repos +++ /dev/null @@ -1,17 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.1.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.10.0 - discovery-server: - type: git - url: https://github.com/eProsima/Discovery-Server.git - version: master