Skip to content

Improvements in message receiver (#6184) (#6203) #15

Improvements in message receiver (#6184) (#6203)

Improvements in message receiver (#6184) (#6203) #15

Workflow file for this run

name: Fast-DDS MacOS CI reusable workflow
on:
workflow_call:
inputs:
label:
description: 'ID associated to the workflow'
required: true
type: string
colcon-args:
description: 'Extra arguments for colcon cli'
required: false
type: string
cmake-args:
description: 'Extra arguments for cmake cli'
required: false
type: string
ctest-args:
description: 'Extra arguments for ctest cli'
required: false
type: string
fastdds-branch:
description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)'
required: true
type: string
use-ccache:
description: 'Use CCache to speed up the build'
required: false
type: boolean
default: false
env:
test_blocklist: 'InterfaceWhitelist|send_to_allowed_interface|v6'
defaults:
run:
shell: bash
jobs:
reusable-mac-ci:
runs-on: macos-15-intel
strategy:
fail-fast: false
matrix:
cmake-build-type:
- 'RelWithDebInfo'
steps:
- name: Sync eProsima/Fast-DDS repository
uses: eProsima/eProsima-CI/external/checkout@v0
with:
path: src/fastrtps
submodules: true
ref: ${{ inputs.fastdds-branch }}
- uses: eProsima/eProsima-CI/external/setup-python@v0
with:
python-version: '3.11'
- name: Get minimum supported version of CMake
uses: eProsima/eProsima-CI/external/get-cmake@v0
with:
cmakeVersion: '3.16.3'
- name: Install brew dependencies
uses: eProsima/eProsima-CI/macos/install_brew_packages@v0
with:
packages: llvm asio tinyxml2 openssl@1.1
update: false
upgrade: false
- name: Install colcon
uses: eProsima/eProsima-CI/macos/install_colcon@v0
- name: Install Python dependencies
uses: eProsima/eProsima-CI/macos/install_python_packages@v0
with:
packages: vcstool xmlschema
upgrade: false
- name: Setup CCache
uses: eProsima/eProsima-CI/external/setup-ccache-action@v0
if: ${{ inputs.use-ccache == true }}
with:
api_token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up hosts file for DNS testing
run: |
sudo echo "" | sudo tee -a /etc/hosts
sudo echo "127.0.0.1 localhost.test" | sudo tee -a /etc/hosts
sudo echo "::1 localhost.test" | sudo tee -a /etc/hosts
sudo echo "154.56.134.194 www.eprosima.com.test" | sudo tee -a /etc/hosts
sudo echo "216.58.215.164 www.acme.com.test" | sudo tee -a /etc/hosts
sudo echo "2a00:1450:400e:803::2004 www.acme.com.test" | sudo tee -a /etc/hosts
sudo echo "140.82.121.4 www.foo.com.test" | sudo tee -a /etc/hosts
sudo echo "140.82.121.3 www.foo.com.test" | sudo tee -a /etc/hosts
sudo echo "ff1e::ffff:efff:1 acme.org.test" | sudo tee -a /etc/hosts
# 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: Fetch Fast DDS dependencies
uses: eProsima/eProsima-CI/ubuntu/vcs_import@v0
with:
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/ubuntu/vcs_import@v0
with:
vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/fastdds_test.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.
# We are disabling the warning for now, as the proposed solution does not fix the issue:
# - Not working solution: https://github.com/macports/macports-ports/pull/21839/files
- name: Colcon build
continue-on-error: false
uses: eProsima/eProsima-CI/ubuntu/colcon_build@v0
with:
colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/fastdds_build.meta ${{ github.workspace }}/src/fastrtps/.github/workflows/config/fastdds_test.meta
colcon_build_args: ${{ inputs.colcon-args }}
cmake_args: ${{ inputs.cmake-args }}
cmake_args_default: -DCMAKE_CXX_FLAGS_INIT="-Werror -Wall -Wno-enum-constexpr-conversion"
cmake_build_type: ${{ matrix.cmake-build-type }}
workspace: ${{ github.workspace }}
<<<<<<< HEAD

Check failure on line 130 in .github/workflows/reusable-mac-ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/reusable-mac-ci.yml

Invalid workflow file

You have an error in your yaml syntax on line 130
=======
- name: Upload build artifacts
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/external/upload-artifact@v0
with:
name: fastdds_build_${{ inputs.label }}
path: ${{ github.workspace }}
fastdds_test:
needs: fastdds_build
name: fastdds_test (${{ matrix.cmake_build_type }})
runs-on: macos-15-intel
strategy:
fail-fast: false
matrix:
cmake-build-type:
- 'RelWithDebInfo'
steps:
- name: Download build artifacts
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/external/download-artifact@v0
with:
name: fastdds_build_${{ inputs.label }}
path: ${{ github.workspace }}
- name: Fix permissions after downloading build artifacts
if: ${{ inputs.run-tests == true }}
run: |
find ${{ github.workspace }}/build -type f -name "*" -exec chmod +x {} \;
find ${{ github.workspace }}/install -type f -name "*" -exec chmod +x {} \;
- name: Install Fix Python version
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/external/setup-python@v0
with:
python-version: '3.11'
- name: Get minimum supported version of CMake
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/external/get-cmake@v0
with:
cmakeVersion: '3.22.6'
- name: Install brew dependencies
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/macos/install_brew_packages@v0
with:
packages: llvm tinyxml2 openssl@3.0
update: false
upgrade: false
- name: Install colcon
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/macos/install_colcon@v0
- name: Install Python dependencies
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/macos/install_python_packages@v0
with:
packages: vcstool xmlschema psutil
upgrade: false
- name: Set up hosts file for DNS testing
if: ${{ inputs.run-tests == true }}
run: |
sudo echo "" | sudo tee -a /etc/hosts
sudo echo "127.0.0.1 localhost.test" | sudo tee -a /etc/hosts
sudo echo "::1 localhost.test" | sudo tee -a /etc/hosts
sudo echo "154.56.134.194 www.eprosima.com.test" | sudo tee -a /etc/hosts
sudo echo "216.58.215.164 www.acme.com.test" | sudo tee -a /etc/hosts
sudo echo "2a00:1450:400e:803::2004 www.acme.com.test" | sudo tee -a /etc/hosts
sudo echo "140.82.121.4 www.foo.com.test" | sudo tee -a /etc/hosts
sudo echo "140.82.121.3 www.foo.com.test" | sudo tee -a /etc/hosts
sudo echo "ff1e::ffff:efff:1 acme.org.test" | sudo tee -a /etc/hosts
>>>>>>> 2c78c427 (Improvements in message receiver (#6184) (#6203))
- name: Colcon test
id: test
<<<<<<< HEAD
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }}
uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0
=======
uses: eProsima/eProsima-CI/ubuntu/colcon_test@v0
>>>>>>> 2c78c427 (Improvements in message receiver (#6184) (#6203))
with:
colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/fastdds_test.meta
colcon_test_args: ${{ inputs.colcon-args }}
colcon_test_args_default: --event-handlers=console_direct+
ctest_args: ${{ inputs.ctest-args }} ${{ format('-E "{0}"', env.test_blocklist) }}
packages_names: fastrtps
workspace: ${{ github.workspace }}
test_report_artifact: ${{ format('test_report_{0}_{1}_{2}', inputs.label, github.job, join(matrix.*, '_')) }}
- name: Test summary
<<<<<<< HEAD
uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0
if: ${{ !cancelled() && !contains(github.event.pull_request.labels.*.name, 'no-test') }}
=======
uses: eProsima/eProsima-CI/ubuntu/junit_summary@v0
if: ${{ !cancelled() && inputs.run-tests == true }}
>>>>>>> 2c78c427 (Improvements in message receiver (#6184) (#6203))
with:
junit_reports_dir: "${{ steps.test.outputs.ctest_results_path }}"
print_summary: 'True'
show_failed: 'True'
show_disabled: 'False'
show_skipped: 'False'