Improvements in message receiver (#6184) (#6203) #15
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
| ======= | ||
| - 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' | ||