diff --git a/.github/workflows/mac-ci.yml b/.github/workflows/mac-ci.yml index a57547a1..bc136812 100644 --- a/.github/workflows/mac-ci.yml +++ b/.github/workflows/mac-ci.yml @@ -45,7 +45,7 @@ concurrency: jobs: mac-ci: if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'conflicts') }} - uses: ./.github/workflows/reusable-mac-ci.yml + uses: ./.github/workflows/reusable-ci.yml with: # It would be desirable to have a matrix of macos OS for this job, but due to the issue opened in this ticket: # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. diff --git a/.github/workflows/nightly-mac-ci.yml b/.github/workflows/nightly-mac-ci.yml index 784c50fb..be38c703 100644 --- a/.github/workflows/nightly-mac-ci.yml +++ b/.github/workflows/nightly-mac-ci.yml @@ -7,7 +7,7 @@ on: jobs: nightly-mac-ci-master: - uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@master + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@master with: os-version: 'macos-13' label: 'nightly-mac-ci-master' @@ -17,7 +17,7 @@ jobs: use-ccache: false nightly-mac-ci-2_2_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@2.2.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@2.2.x with: os-version: 'macos-13' label: 'nightly-mac-ci-2.2.x' @@ -27,7 +27,7 @@ jobs: use-ccache: false nightly-mac-ci-2_1_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@2.1.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@2.1.x with: os-version: 'macos-13' label: 'nightly-mac-ci-2.1.x' @@ -37,7 +37,7 @@ jobs: use-ccache: false nightly-mac-ci-1_1_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@1.1.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@1.1.x with: os-version: 'macos-13' label: 'nightly-mac-ci-1.1.x' @@ -47,7 +47,7 @@ jobs: use-ccache: false nightly-mac-ci-1_0_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-mac-ci.yml@1.0.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@1.0.x with: os-version: 'mac-13' label: 'nightly-mac-ci-1.0.x' diff --git a/.github/workflows/nightly-ubuntu-ci.yml b/.github/workflows/nightly-ubuntu-ci.yml index 34e5c01a..6d986c05 100644 --- a/.github/workflows/nightly-ubuntu-ci.yml +++ b/.github/workflows/nightly-ubuntu-ci.yml @@ -7,7 +7,7 @@ on: jobs: nightly-ubuntu-ci-master: - uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@master + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@master with: os-version: 'ubuntu-22.04' label: 'nightly-ubuntu-ci-master' @@ -17,7 +17,7 @@ jobs: use-ccache: false nightly-ubuntu-ci-2_2_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@2.2.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@2.2.x with: os-version: 'ubuntu-22.04' label: 'nightly-ubuntu-ci-2.2.x' @@ -27,7 +27,7 @@ jobs: use-ccache: false nightly-ubuntu-ci-2_1_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@2.1.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@2.1.x with: os-version: 'ubuntu-22.04' label: 'nightly-ubuntu-ci-2.1.x' @@ -37,7 +37,7 @@ jobs: use-ccache: false nightly-ubuntu-ci-1_1_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@1.1.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@1.1.x with: os-version: 'ubuntu-22.04' label: 'nightly-ubuntu-ci-1.1.x' @@ -47,7 +47,7 @@ jobs: use-ccache: false nightly-ubuntu-ci-1_0_x: - uses: eProsima/Fast-CDR/.github/workflows/reusable-ubuntu-ci.yml@1.0.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@1.0.x with: os-version: 'ubuntu-20.04' label: 'nightly-ubuntu-ci-1.0.x' diff --git a/.github/workflows/nightly-windows-ci.yml b/.github/workflows/nightly-windows-ci.yml index 0618550d..57d2a226 100644 --- a/.github/workflows/nightly-windows-ci.yml +++ b/.github/workflows/nightly-windows-ci.yml @@ -13,7 +13,7 @@ jobs: vs-toolset: - 'v141' - 'v142' - uses: eProsima/Fast-CDR/.github/workflows/reusable-windows-ci.yml@master + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@master with: os-version: 'windows-2019' vs-toolset: ${{ matrix.vs-toolset }} @@ -30,7 +30,7 @@ jobs: vs-toolset: - 'v141' - 'v142' - uses: eProsima/Fast-CDR/.github/workflows/reusable-windows-ci.yml@2.2.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@2.2.x with: os-version: 'windows-2019' vs-toolset: ${{ matrix.vs-toolset }} @@ -47,7 +47,7 @@ jobs: vs-toolset: - 'v141' - 'v142' - uses: eProsima/Fast-CDR/.github/workflows/reusable-windows-ci.yml@2.1.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@2.1.x with: os-version: 'windows-2019' vs-toolset: ${{ matrix.vs-toolset }} @@ -64,7 +64,7 @@ jobs: vs-toolset: - 'v141' - 'v142' - uses: eProsima/Fast-CDR/.github/workflows/reusable-windows-ci.yml@1.1.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@1.1.x with: os-version: 'windows-2019' vs-toolset: ${{ matrix.vs-toolset }} @@ -81,7 +81,7 @@ jobs: vs-toolset: - 'v141' - 'v142' - uses: eProsima/Fast-CDR/.github/workflows/reusable-windows-ci.yml@1.0.x + uses: eProsima/Fast-CDR/.github/workflows/reusable-ci.yml@1.0.x with: os-version: 'windows-2019' vs-toolset: ${{ matrix.vs-toolset }} diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-ci.yml similarity index 82% rename from .github/workflows/reusable-windows-ci.yml rename to .github/workflows/reusable-ci.yml index 5108e3cb..983c2f64 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-ci.yml @@ -1,4 +1,4 @@ -name: Fast CDR Windows CI reusable workflow +name: Fast CDR reusable CI workflow on: workflow_call: @@ -6,10 +6,10 @@ on: os-version: description: 'The OS image for the workflow' required: false - default: 'windows-2019' + default: 'ubuntu-22.04' type: string vs-toolset: - description: 'Visual Studio toolset to use' + description: 'Windows Visual Studio toolset to use (only Windows)' required: false default: 'v142' type: string @@ -48,12 +48,15 @@ on: required: false type: boolean default: false +env: + toolset: ${{ inputs.vs-toolset && format('-T {0}', inputs.vs-toolset) || '' }} + test-meta: ${{ inputs.os-version == 'windows-2019' && format('{0}/src/fastcdr/.github/workflows/config/build_test.meta', github.workspace) || format('{0}/src/fastcdr/.github/workflows/config/build.meta {0}/src/fastcdr/.github/workflows/config/test.meta', github.workspace) }} defaults: run: shell: bash jobs: - reusable-windows-ci: + fastcdr_test: runs-on: ${{ inputs.os-version }} if: ${{ inputs.run-build == true }} strategy: @@ -77,11 +80,6 @@ jobs: path: src/fastcdr ref: ${{ inputs.fastcdr-branch }} - - name: Sync eProsima/Fast-CDR repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastcdr - - name: Install Fix Python version uses: eProsima/eProsima-CI/external/setup-python@v0 with: @@ -95,6 +93,12 @@ jobs: - name: Install Colcon dependencies uses: eProsima/eProsima-CI/multiplatform/install_colcon@v0 + - name: Setup CCache + uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 + if: ${{ inputs.use-ccache == true }} + with: + api_token: ${{ secrets.GITHUB_TOKEN }} + - name: Install Python dependencies uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 with: @@ -115,12 +119,12 @@ jobs: colcon_build_args: ${{ inputs.colcon-args }} colcon_build_args_default: --event-handlers=console_direct+ cmake_args: ${{ inputs.cmake-args }} - cmake_args_default: '-T ${{ inputs.vs-toolset }}' + cmake_args_default: ${{ env.toolset }} cmake_build_type: ${{ matrix.cmake-build-type }} workspace: ${{ github.workspace }} - name: Prepare build test meta file - if: ${{ inputs.run-tests == true }} + if: ${{ inputs.run-tests == true && inputs.os-version == 'windows-2019' }} uses: eProsima/eProsima-CI/windows/merge_yaml_metas@v0 with: metas: "@('${{ github.workspace }}/src/fastcdr/.github/workflows/config/build.meta', '${{ github.workspace }}/src/fastcdr/.github/workflows/config/windows_test.meta')" @@ -131,8 +135,8 @@ jobs: if: ${{ inputs.run-tests == true }} uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 with: - colcon_meta_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/build.meta ${{ github.workspace }}/src/fastcdr/.github/workflows/config/test.meta - colcon_test_args_default: --event-handlers=console_direct+ --return-code-on-test-failure + colcon_meta_file: ${{ env.test-meta }} + colcon_test_args_default: --event-handlers=console_direct+ ctest_args: ${{ inputs.ctest-args }} packages_names: fastcdr workspace: ${{ github.workspace }} @@ -147,16 +151,6 @@ jobs: show_disabled: 'False' show_skipped: 'False' - - name: Fast CDR Test Report - uses: eProsima/eProsima-CI/external/test-reporter@v0 - if: ${{ !cancelled() && inputs.run-tests == true}} - with: - name: "Report: ${{ inputs.label }}" - path: "${{ steps.test_fastcdr.outputs.ctest_results_path }}*.xml" - working-directory: 'src/fastcdr' - path-replace-backslashes: 'true' - list-tests: 'failed' - - name: Archive Test Results if: always() uses: eProsima/eProsima-CI/external/upload-artifact@v0 diff --git a/.github/workflows/reusable-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml deleted file mode 100644 index 0d3ae10f..00000000 --- a/.github/workflows/reusable-mac-ci.yml +++ /dev/null @@ -1,152 +0,0 @@ -name: Fast CDR Mac CI reusable workflow - -on: - workflow_call: - inputs: - os-version: - description: 'The OS image for the workflow' - required: false - default: 'macos-13' - type: string - 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 - fastcdr-branch: - description: 'Branch or tag of Fast CDR repository' - required: true - type: string - run-build: - description: 'Build Fast CDR (CI skipped otherwise)' - required: false - type: boolean - default: true - run-tests: - description: 'Run test suite of Fast CDR' - required: false - type: boolean - default: true - use-ccache: - description: 'Use CCache to speed up the build' - required: false - type: boolean - default: false -defaults: - run: - shell: bash - -jobs: - reusable-mac-ci: - runs-on: ${{ inputs.os-version }} - if: ${{ inputs.run-build == true }} - strategy: - fail-fast: false - matrix: - cmake-build-type: - - 'RelWithDebInfo' - - steps: - - name: Add ci-pending label if PR - if: ${{ github.event_name == 'pull_request' }} - uses: eProsima/eProsima-CI/external/add_labels@v0 - with: - labels: ci-pending - number: ${{ github.event.number }} - repo: eProsima/Fast-CDR - - - name: Sync eProsima/Fast-CDR repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastcdr - ref: ${{ inputs.fastcdr-branch }} - - - name: Sync eProsima/Fast-CDR repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastcdr - - - name: Install Fix Python version - 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.22.6' - - - name: Install Colcon dependencies - uses: eProsima/eProsima-CI/multiplatform/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 - with: - packages: vcstool - upgrade: false - - - name: Fetch Fast DDS CI dependencies - uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 - with: - vcs_repos_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/test.repos - destination_workspace: src - skip_existing: 'true' - - - name: Colcon build - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/build.meta - colcon_build_args: ${{ inputs.colcon-args }} - colcon_build_args_default: --event-handlers=console_direct+ - cmake_args: ${{ inputs.cmake-args }} - cmake_build_type: ${{ matrix.cmake-build-type }} - workspace: ${{ github.workspace }} - - - name: Colcon test - id: test_fastcdr - if: ${{ inputs.run-tests == true }} - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/build.meta ${{ github.workspace }}/src/fastcdr/.github/workflows/config/test.meta - colcon_test_args_default: --event-handlers=console_direct+ --return-code-on-test-failure - ctest_args: ${{ inputs.ctest-args }} - packages_names: fastcdr - workspace: ${{ github.workspace }} - - - name: Fast CDR Test summary - uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 - if: ${{ !cancelled() && inputs.run-tests == true }} - with: - junit_reports_dir: ${{ steps.test_fastcdr.outputs.ctest_results_path }} - print_summary: 'True' - show_failed: 'True' - show_disabled: 'False' - show_skipped: 'False' - - - name: Fast CDR Test Report - uses: eProsima/eProsima-CI/external/test-reporter@v0 - if: ${{ !cancelled() && inputs.run-tests == true}} - with: - name: "Report: ${{ inputs.label }}" - path: "${{ steps.test_fastcdr.outputs.ctest_results_path }}*.xml" - working-directory: 'src/fastcdr' - path-replace-backslashes: 'true' - list-tests: 'failed' - - - name: Archive Test Results - if: always() - uses: eProsima/eProsima-CI/external/upload-artifact@v0 - with: - name: test-results-${{ inputs.label }} - path: log/latest_test/fastcdr diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml deleted file mode 100644 index 5ca307f2..00000000 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ /dev/null @@ -1,158 +0,0 @@ -name: Fast CDR Ubuntu CI reusable workflow - -on: - workflow_call: - inputs: - os-version: - description: 'The OS image for the workflow' - required: false - default: 'ubuntu-22.04' - type: string - 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 - fastcdr-branch: - description: 'Branch or tag of Fast CDR repository' - required: true - type: string - run-build: - description: 'Build Fast CDR (CI skipped otherwise)' - required: false - type: boolean - default: true - run-tests: - description: 'Run test suite of Fast CDR' - required: false - type: boolean - default: true - use-ccache: - description: 'Use CCache to speed up the build' - required: false - type: boolean - default: false -defaults: - run: - shell: bash - -jobs: - reusable-ubuntu-ci: - runs-on: ${{ inputs.os-version }} - if: ${{ inputs.run-build == true }} - strategy: - fail-fast: false - matrix: - cmake-build-type: - - 'RelWithDebInfo' - - steps: - - name: Add ci-pending label if PR - if: ${{ github.event_name == 'pull_request' }} - uses: eProsima/eProsima-CI/external/add_labels@v0 - with: - labels: ci-pending - number: ${{ github.event.number }} - repo: eProsima/Fast-CDR - - - name: Sync eProsima/Fast-CDR repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastcdr - ref: ${{ inputs.fastcdr-branch }} - - - name: Sync eProsima/Fast-CDR repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastcdr - - - name: Install Fix Python version - 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.22.6' - - - name: Install Colcon dependencies - uses: eProsima/eProsima-CI/multiplatform/install_colcon@v0 - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - if: ${{ inputs.use-ccache == true }} - with: - api_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 - with: - packages: vcstool - upgrade: false - - - name: Fetch Fast DDS CI dependencies - uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 - with: - vcs_repos_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/test.repos - destination_workspace: src - skip_existing: 'true' - - - name: Colcon build - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/build.meta - colcon_build_args: ${{ inputs.colcon-args }} - colcon_build_args_default: --event-handlers=console_direct+ - cmake_args: ${{ inputs.cmake-args }} - cmake_build_type: ${{ matrix.cmake-build-type }} - workspace: ${{ github.workspace }} - - - name: Colcon test - id: test_fastcdr - if: ${{ inputs.run-tests == true }} - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastcdr/.github/workflows/config/build.meta ${{ github.workspace }}/src/fastcdr/.github/workflows/config/test.meta - colcon_test_args_default: --event-handlers=console_direct+ --return-code-on-test-failure - ctest_args: ${{ inputs.ctest-args }} - packages_names: fastcdr - workspace: ${{ github.workspace }} - - - name: Fast CDR Test summary - uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 - if: ${{ !cancelled() && inputs.run-tests == true }} - with: - junit_reports_dir: ${{ steps.test_fastcdr.outputs.ctest_results_path }} - print_summary: 'True' - show_failed: 'True' - show_disabled: 'False' - show_skipped: 'False' - - - name: Fast CDR Test Report - uses: eProsima/eProsima-CI/external/test-reporter@v0 - if: ${{ !cancelled() && inputs.run-tests == true}} - with: - name: "Report: ${{ inputs.label }}" - path: "${{ steps.test_fastcdr.outputs.ctest_results_path }}*.xml" - working-directory: 'src/fastcdr' - path-replace-backslashes: 'true' - list-tests: 'failed' - - - name: Archive Test Results - if: always() - uses: eProsima/eProsima-CI/external/upload-artifact@v0 - with: - name: test-results-${{ inputs.label }} - path: log/latest_test/fastcdr diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml index fc54b733..0cbf0320 100644 --- a/.github/workflows/ubuntu-ci.yml +++ b/.github/workflows/ubuntu-ci.yml @@ -50,7 +50,7 @@ concurrency: jobs: ubuntu-ci: if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'conflicts') }} - uses: ./.github/workflows/reusable-ubuntu-ci.yml + uses: ./.github/workflows/reusable-ci.yml with: # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml index d8b53908..9d055c38 100644 --- a/.github/workflows/windows-ci.yml +++ b/.github/workflows/windows-ci.yml @@ -56,7 +56,7 @@ jobs: - 'v141' - 'v142' if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'conflicts') }} - uses: ./.github/workflows/reusable-windows-ci.yml + uses: ./.github/workflows/reusable-ci.yml with: # It would be desirable to have a matrix of windows OS for this job, but due to the issue opened in this ticket: # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. diff --git a/RELEASE_SUPPORT.md b/RELEASE_SUPPORT.md index 2da25731..30877e58 100644 --- a/RELEASE_SUPPORT.md +++ b/RELEASE_SUPPORT.md @@ -1,15 +1,15 @@ # Release support -Please, refer to the [main branch](https://github.com/eProsima/Fast-CDR/blob/master/RELEASE_SUPPORT.md) for the latest version of this document. +Please, refer to the [master branch](https://github.com/eProsima/Fast-CDR/blob/master/RELEASE_SUPPORT.md) for the latest version of this document. *eProsima Fast CDR* maintains several releases with different support cycles. **All of them are attached to different *eProsima Fast DDS* releases.** ## *eProsima Fast DDS* and *Fast CDR* version compatibility -|Fast DDS Version|Fast DDS Python Version|Fast DDS Python Version branch|Fast DDS Python Latest Release| -|----------------|-----------------------|------------------------------|------------------------------| +|Fast DDS Version|Fast CDR Version|Fast CDR Version branch|Fast CDR Latest Release| +|----------------|----------------|-----------------------|-----------------------| |2.14|2.2|[2.2.x](https://github.com/eProsima/Fast-CDR/tree/2.2.x)|[v2.2.2](https://github.com/eProsima/Fast-CDR/releases/tag/v2.2.2)| |2.13|2.1|[2.1.x](https://github.com/eProsima/Fast-CDR/tree/2.1.x)|[v2.1.3](https://github.com/eProsima/Fast-CDR/releases/tag/v2.1.3)| |2.10|1.0|[1.0.x](https://github.com/eProsima/Fast-CDR/tree/1.0.x)|[v1.0.28](https://github.com/eProsima/Fast-CDR/releases/tag/v1.0.28)|