Skip to content

Commit

Permalink
Manual cherry-pick of PR #4549 (#4556)
Browse files Browse the repository at this point in the history
* Refs #20542: Manual cherry-pick of PR #4549

Signed-off-by: EduPonz <[email protected]>

* Refs #20542: Add missing ci.meta

Signed-off-by: EduPonz <[email protected]>

* Refs #20542: Fix metas as yml

Signed-off-by: EduPonz <[email protected]>

* Refs #20542: Fix paths to .metas

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>
  • Loading branch information
EduPonz authored Mar 14, 2024
1 parent 6dc23dd commit f6d8c14
Show file tree
Hide file tree
Showing 12 changed files with 86 additions and 196 deletions.
51 changes: 19 additions & 32 deletions .github/workflows/config/asan_colcon.meta
Original file line number Diff line number Diff line change
@@ -1,32 +1,19 @@
{
"names":
{
"fastrtps":
{
"cmake-args":
[
"-DCMAKE_BUILD_TYPE=Debug",
"-DEPROSIMA_BUILD_TESTS=ON",
"-DGTEST_INDIVIDUAL=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",
]
}
}
}
names:
fastrtps:
cmake-args:
- "-DCMAKE_BUILD_TYPE=Debug"
- "-DEPROSIMA_BUILD_TESTS=ON"
- "-DGTEST_INDIVIDUAL=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"
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ names:
- "-DNO_TLS=OFF"
- "-DPERFORMANCE_TESTS=ON"
- "-DPROFILING_TESTS=OFF"
- "-DSECURITY=ON"
- "-DSHM_TRANSPORT_DEFAULT=ON"
- "-DSTRICT_REALTIME=OFF"
- "-DSYSTEM_TESTS=ON"
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/config/ci.repos
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
repositories:
googletest-distribution:
type: git
url: https://github.com/google/googletest.git
version: release-1.11.0
13 changes: 0 additions & 13 deletions .github/workflows/config/default_ci_2.10.x.repos

This file was deleted.

13 changes: 0 additions & 13 deletions .github/workflows/config/default_ci_2.6.x.repos

This file was deleted.

50 changes: 19 additions & 31 deletions .github/workflows/config/tsan_colcon.meta
Original file line number Diff line number Diff line change
@@ -1,31 +1,19 @@
{
"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",
"-DGTEST_INDIVIDUAL=ON",
"-DRTPS_API_TESTS=ON",
"-DFASTRTPS_API_TESTS=OFF",
"-DFASTDDS_PIM_API_TESTS=ON",
"-DPERFORMANCE_TESTS=ON",
"-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"
- "-DGTEST_INDIVIDUAL=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'"
2 changes: 1 addition & 1 deletion .github/workflows/mac-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 || '2.10.x' }}
45 changes: 13 additions & 32 deletions .github/workflows/reusable-mac-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,38 +82,19 @@ 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: |
# 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_2.10.x.repos"
fi
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_2.10.x.repos"
fi
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}"
cp ${META_PATH} ci.meta
cat ci.meta
- name: Fetch Fast DDS dependencies
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}/src/fastrtps/fastrtps.repos
destination_workspace: src
skip_existing: 'true'

# Create source dir and download the sources
vcs import src --input ${DEPENDS_REPOS_PATH} --skip-existing
- name: Fetch Fast DDS CI dependencies
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos
destination_workspace: src
skip_existing: 'true'

# TODO(eduponz): There is a warning in clang >= 16 regarding enum-constexpr-conversion:
# - Issue: https://github.com/boostorg/mpl/issues/69.
Expand All @@ -123,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: ${{ 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"
Expand Down
45 changes: 13 additions & 32 deletions .github/workflows/reusable-ubuntu-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,44 +76,25 @@ 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: |
# 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
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
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}"
cp ${META_PATH} ci.meta
cat ci.meta
- name: Fetch Fast DDS dependencies
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}/src/fastrtps/fastrtps.repos
destination_workspace: src
skip_existing: 'true'

# Create source dir and download the sources
vcs import src --input ${DEPENDS_REPOS_PATH} --skip-existing
- name: Fetch Fast DDS CI dependencies
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos
destination_workspace: src
skip_existing: 'true'

- 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: ${{ 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"
Expand Down
51 changes: 13 additions & 38 deletions .github/workflows/reusable-windows-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,51 +115,26 @@ 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
# 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_2.10.x.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_2.10.x.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"
# 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:
vcs_repos_file: ${{ github.workspace }}\src\fastrtps\fastrtps.repos
destination_workspace: src
skip_existing: 'true'

# create source dir and download the sources
vcs import src --input $depends_repos_path --skip-existing
- name: Fetch Fast DDS CI dependencies
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}\src\fastrtps\.github\workflows\config\ci.repos
destination_workspace: src
skip_existing: 'true'

- 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: ${{ 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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ubuntu-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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" }}
ctest-args: ${{ inputs.ctest-args || "-LE xfail" }}
cmake-args: '-DSECURITY=ON ${{ inputs.cmake-args }}'
ctest-args: ${{ inputs.ctest-args || '-LE xfail' }}
fastdds-branch: ${{ inputs.fastdds_branch || github.ref || '2.10.x' }}
2 changes: 1 addition & 1 deletion .github/workflows/windows-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 || '2.10.x' }}

0 comments on commit f6d8c14

Please sign in to comment.