diff --git a/.github/workflows/documentation-tests.yaml b/.github/workflows/documentation-tests.yaml deleted file mode 100644 index ce35dd442ae..00000000000 --- a/.github/workflows/documentation-tests.yaml +++ /dev/null @@ -1,157 +0,0 @@ -name: Documentation build and test -on: - workflow_dispatch: - inputs: - fastdds_docs_branch: - description: 'Fast DDS Docs branch' - required: true - type: string - fastdds_python_branch: - description: 'Fast DDS Python branch' - required: true - type: string - - pull_request: - types: - - review_requested - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - ubuntu-build-and-test-documentation: - name: Documentation build and test - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') - ) }} - - runs-on: ubuntu-22.04 - 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-DDS - - - name: Sync eProsima/Fast-DDS repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastrtps - submodules: true - - - name: Get minimum supported version of CMake - uses: eProsima/eProsima-CI/external/get-cmake@v0 - with: - cmakeVersion: '3.22.6' - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - - name: Install apt dependencies - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 - with: - packages: curl grep wget libssl-dev doxygen imagemagick plantuml - update: false - upgrade: false - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 - with: - packages: vcstool - upgrade: false - - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Download Fast DDS .repos - uses: eProsima/eProsima-CI/ubuntu/vcs_import@v0 - with: - vcs_repos_file: ./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: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos - destination_workspace: src - skip_existing: 'true' - - - name: Get Fast DDS Python branch - id: get_fastdds_python_branch - uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0 - with: - remote_repository: eProsima/Fast-DDS-python - fallback_branch: ${{ inputs.fastdds_python_branch || 'main' }} - - - name: Download Fast DDS Python repo - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - repository: eProsima/Fast-DDS-python - path: src/fastdds-python - ref: ${{ steps.get_fastdds_python_branch.outputs.deduced_branch }} - - - name: Get Fast DDS Docs branch - id: get_fastdds_docs_branch - uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0 - with: - remote_repository: eProsima/Fast-DDS-docs - fallback_branch: ${{ inputs.fastdds_docs_branch || 'master' }} - - - name: Download Fast DDS documentation repo - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - repository: eProsima/Fast-DDS-docs - path: src/fastdds-docs - ref: ${{ steps.get_fastdds_docs_branch.outputs.deduced_branch }} - - - name: Install Fast DDS Docs required python packages - uses: eProsima/eProsima-CI/ubuntu/install_python_packages@v0 - with: - upgrade: false - requirements_file_name: src/fastdds-docs/docs/requirements.txt - - - name: Colcon build - continue-on-error: false - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: './src/fastrtps/.github/workflows/config/documentation.meta' - colcon_build_args: '' - colcon_build_args_default: '' - cmake_args: '' - cmake_args_default: '' - cmake_build_type: Release - workspace: ${{ github.workspace }} - workspace_dependencies: '' - - - name: Colcon test - id: test - if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }} - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_test_args: '' - colcon_test_args_default: --event-handlers=console_direct+ - ctest_args: '' - ctest_args_default: '' - packages_names: fastdds-docs - workspace: ${{ github.workspace }} - workspace_dependencies: '' - test_report_artifact: ${{ format('test_report_{0}', github.job, join(matrix.*, '_')) }} - - - name: Test summary - uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 - if: ${{ !cancelled() && !contains(github.event.pull_request.labels.*.name, 'no-test') }} - with: - junit_reports_dir: "${{ steps.test.outputs.ctest_results_path }}" - print_summary: 'True' - show_failed: 'True' - show_disabled: 'False' - show_skipped: 'False' diff --git a/.github/workflows/mirror.yml b/.github/workflows/mirror.yml deleted file mode 100644 index 8490d894475..00000000000 --- a/.github/workflows/mirror.yml +++ /dev/null @@ -1,22 +0,0 @@ -# .github/workflows/mirror.yml -on: - push: - branches: - - 'master' -jobs: - mirror_job: - runs-on: ubuntu-latest - name: Mirror master branch to API & ABI compatible minor version branches - strategy: - fail-fast: false - matrix: - dest_branch: - - '2.14.x' - steps: - - name: Mirror action step - id: mirror - uses: eProsima/eProsima-CI/external/mirror-branch-action@v0 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - source: 'master' - dest: ${{ matrix.dest_branch }} diff --git a/.github/workflows/nightly-mac-ci.yml b/.github/workflows/nightly-mac-ci.yml deleted file mode 100644 index 157e23d5e3b..00000000000 --- a/.github/workflows/nightly-mac-ci.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Fast-DDS MacOS CI (nightly) - -on: - workflow_dispatch: - schedule: - - cron: '0 1 * * *' - -jobs: - nightly-mac-ci-master: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-mac-ci.yml@master - with: - label: 'nightly-sec-${{ matrix.security }}-mac-ci-master' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: 'master' - - nightly-mac-ci-2_13_x: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-mac-ci.yml@2.13.x - with: - label: 'nightly-sec-${{ matrix.security }}-mac-ci-2.13.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '2.13.x' - - nightly-mac-ci-2_10_x: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-mac-ci.yml@2.10.x - with: - label: 'nightly-sec-${{ matrix.security }}-mac-ci-2.10.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '2.10.x' - - nightly-mac-ci-2_6_x: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-mac-ci.yml@2.6.x - with: - label: 'nightly-sec-${{ matrix.security }}-mac-ci-2.6.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '2.6.x' - - nightly-mac-ci-3_0_x-devel: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-mac-ci.yml@3.0.x-devel - with: - label: 'nightly-sec-${{ matrix.security }}-mac-ci-3.0.x-devel' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '3.0.x-devel' diff --git a/.github/workflows/nightly-sanitizers-ci.yml b/.github/workflows/nightly-sanitizers-ci.yml deleted file mode 100644 index c917bd88222..00000000000 --- a/.github/workflows/nightly-sanitizers-ci.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Fast DDS Sanitizers CI (nightly) - -on: - workflow_dispatch: - schedule: - - cron: '0 1 * * *' - -jobs: - nightly-sanitizers-ci-master: - uses: eProsima/Fast-DDS/.github/workflows/reusable-sanitizers-ci.yml@master - with: - label: 'nightly-sec-sanitizers-ci-master' - run_asan_fastdds: true - run_asan_discovery_server: true - run_tsan_fastdds: true - colcon_build_args: '' - colcon_test_args: '' - cmake_args: '' - ctest_args: '' - fastdds_ref: 'master' - discovery_server_ref: 'master' - - nightly-sanitizers-ci-2_13_x: - uses: eProsima/Fast-DDS/.github/workflows/reusable-sanitizers-ci.yml@2.13.x - with: - label: 'nightly-sec-sanitizers-ci-2.13.x' - run_asan_fastdds: true - run_asan_discovery_server: true - run_tsan_fastdds: true - colcon_build_args: '' - colcon_test_args: '' - cmake_args: '' - ctest_args: '' - fastdds_ref: '2.13.x' - discovery_server_ref: 'v1.2.2' - - nightly-sanitizers-ci-2_10_x: - uses: eProsima/Fast-DDS/.github/workflows/reusable-sanitizers-ci.yml@2.10.x - with: - label: 'nightly-sec-sanitizers-ci-2.10.x' - run_asan_fastdds: true - run_asan_discovery_server: true - run_tsan_fastdds: true - colcon_build_args: '' - colcon_test_args: '' - cmake_args: '' - ctest_args: '' - fastdds_ref: '2.10.x' - discovery_server_ref: 'v1.2.1' - - nightly-sanitizers-ci-2_6_x: - uses: eProsima/Fast-DDS/.github/workflows/reusable-sanitizers-ci.yml@2.6.x - with: - label: 'nightly-sec-sanitizers-ci-2.6.x' - run_asan_fastdds: true - run_asan_discovery_server: true - run_tsan_fastdds: true - colcon_build_args: '' - colcon_test_args: '' - cmake_args: '' - ctest_args: '' - fastdds_ref: '2.6.x' - discovery_server_ref: 'v1.2.1' - - nightly-sanitizers-ci-3_0_x-devel: - uses: eProsima/Fast-DDS/.github/workflows/reusable-sanitizers-ci.yml@3.0.x-devel - with: - label: 'nightly-sec-sanitizers-ci-3.0.x-devel' - run_asan_fastdds: true - run_asan_discovery_server: true - run_tsan_fastdds: true - colcon_build_args: '' - colcon_test_args: '' - cmake_args: '' - ctest_args: '' - fastdds_ref: '3.0.x-devel' - discovery_server_ref: '3.0.x-devel' diff --git a/.github/workflows/nightly-ubuntu-ci.yml b/.github/workflows/nightly-ubuntu-ci.yml deleted file mode 100644 index 79df7e5a61c..00000000000 --- a/.github/workflows/nightly-ubuntu-ci.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Fast-DDS Ubuntu CI (nightly) - -on: - workflow_dispatch: - schedule: - - cron: '0 1 * * *' - -jobs: - nightly-ubuntu-ci-master: - strategy: - fail-fast: false - matrix: - os-image: - - 'ubuntu-22.04' - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-ubuntu-ci.yml@master - with: - os-image: ${{ matrix.os-image }} - label: '${{ matrix.os-image }}-nightly-sec-${{ matrix.security }}-ubuntu-ci-master' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: 'master' - - nightly-ubuntu-ci-2_13_x: - strategy: - fail-fast: false - matrix: - os-image: - - 'ubuntu-22.04' - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-ubuntu-ci.yml@2.13.x - with: - os-image: ${{ matrix.os-image }} - label: '${{ matrix.os-image }}-nightly-sec-${{ matrix.security }}-ubuntu-ci-2.13.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '2.13.x' - - nightly-ubuntu-ci-2_10_x: - strategy: - fail-fast: false - matrix: - os-image: - - 'ubuntu-22.04' - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-ubuntu-ci.yml@2.10.x - with: - os-image: ${{ matrix.os-image }} - label: '${{ matrix.os-image }}-nightly-sec-${{ matrix.security }}-ubuntu-ci-2.10.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '2.10.x' - - nightly-ubuntu-ci-2_6_x: - strategy: - fail-fast: false - matrix: - os-image: - - 'ubuntu-22.04' - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-ubuntu-ci.yml@2.6.x - with: - os-image: ${{ matrix.os-image }} - label: '${{ matrix.os-image }}-nightly-sec-${{ matrix.security }}-ubuntu-ci-2.6.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '2.6.x' - - nightly-ubuntu-ci-3_0_x-devel: - strategy: - fail-fast: false - matrix: - os-image: - - 'ubuntu-22.04' - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-ubuntu-ci.yml@3.0.x-devel - with: - os-image: ${{ matrix.os-image }} - label: '${{ matrix.os-image }}-nightly-sec-${{ matrix.security }}-ubuntu-ci-3.0.x-devel' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds-branch: '3.0.x-devel' diff --git a/.github/workflows/nightly-windows-ci.yml b/.github/workflows/nightly-windows-ci.yml deleted file mode 100644 index 29c50cb09e7..00000000000 --- a/.github/workflows/nightly-windows-ci.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Fast-DDS Windows CI (nightly) - -on: - workflow_dispatch: - schedule: - - cron: '0 1 * * *' - -jobs: - nightly-windows-ci-master: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-windows-ci.yml@master - with: - label: 'nightly-sec-${{ matrix.security }}-windows-ci-master' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds_branch: 'master' - - nightly-windows-ci-2_13_x: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-windows-ci.yml@2.13.x - with: - label: 'nightly-sec-${{ matrix.security }}-windows-ci-2.13.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds_branch: '2.13.x' - - nightly-windows-ci-2_10_x: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-windows-ci.yml@2.10.x - with: - label: 'nightly-sec-${{ matrix.security }}-windows-ci-2.10.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds_branch: '2.10.x' - - nightly-windows-ci-2_6_x: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-windows-ci.yml@2.6.x - with: - label: 'nightly-sec-${{ matrix.security }}-windows-ci-2.6.x' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds_branch: '2.6.x' - - nightly-windows-ci-3_0_x-devel: - strategy: - fail-fast: false - matrix: - security: - - 'ON' - - 'OFF' - uses: eProsima/Fast-DDS/.github/workflows/reusable-windows-ci.yml@3.0.x-devel - with: - label: 'nightly-sec-${{ matrix.security }}-windows-ci-3.0.x-devel' - cmake-args: "-DSECURITY=${{ matrix.security }}" - ctest-args: "-LE xfail" - fastdds_branch: '3.0.x-devel' diff --git a/.github/workflows/rebase-3.0.x-devel.yaml b/.github/workflows/rebase-3.0.x-devel.yaml deleted file mode 100644 index a29973215cc..00000000000 --- a/.github/workflows/rebase-3.0.x-devel.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: rebase-3.0.x-devel-master - -on: - schedule: - - cron: '0 0 * * *' - # scheduled every midnight - workflow_dispatch: - #manual run of the workflow job - -jobs: - rebase-branches: - name: Rebase 3.0.x-devel branch HEAD with master current branch - runs-on: ubuntu-latest - - steps: - # Step 1: checkout action - - name: Checkout target repo - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - ref: 3.0.x-devel - fetch-depth: 0 - persist-credentials: true - - # Step 2: Set git config - - name: Set git config - id: config - run: | - git config --local user.email "ricardogonzalez@eprosima.com" - git config --local user.name "richiprosima" - shell: bash - - # Step 3: Rebase - - name: Rebase current branch - id: rebase_master - run: | - git fetch origin master - git rebase origin/master - shell: bash - - # Step 4: Push - - name: Force push if required - id: push - run: | - if [ "$(git status | grep 'diverged\|ahead')" ]; then - git push -f - fi; - shell: bash diff --git a/.github/workflows/reusable-sanitizers-ci.yml b/.github/workflows/reusable-sanitizers-ci.yml deleted file mode 100644 index a08587bf322..00000000000 --- a/.github/workflows/reusable-sanitizers-ci.yml +++ /dev/null @@ -1,464 +0,0 @@ -name: Fast DDS Sanitizers reusable workflow - -on: - workflow_call: - inputs: - label: - description: 'ID associated to the workflow' - required: true - type: string - run_asan_fastdds: - description: 'Run Addess Sanitizer job for Fast DDS' - required: false - type: boolean - run_asan_discovery_server: - description: 'Run Addess Sanitizer job for Discovery Server' - required: false - type: boolean - run_tsan_fastdds: - description: 'Run Thread Sanitizer job for Fast DDS' - required: false - type: boolean - colcon_build_args: - description: 'Optional colcon build arguments' - required: false - type: string - colcon_test_args: - description: 'Optional colcon test arguments' - required: false - type: string - cmake_args: - description: 'Optional CMake Compilation Flags' - required: false - type: string - ctest_args: - description: 'Optional CTest Testing Flags' - required: false - type: string - fastdds_ref: - description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' - required: true - type: string - discovery_server_ref: - description: > - Branch or tag of Discovery Server repository (https://github.com/eProsima/Discovery-Server) - Required only if the Discovery Server job is requested - required: false - type: string - -defaults: - run: - shell: bash - -jobs: - asan_fastdds_build: - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'no-test') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') && - (inputs.run_asan_fastdds == true) - ) }} - runs-on: ubuntu-22.04 - 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-DDS - - - name: Sync eProsima/Fast-DDS repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastrtps - ref: ${{ inputs.fastdds_ref }} - - - name: Get minimum supported version of CMake - uses: eProsima/eProsima-CI/external/get-cmake@v0 - with: - cmakeVersion: '3.22.6' - - - name: Install apt packages - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 - with: - packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip software-properties-common wget - - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/ubuntu/install_python_packages@v0 - with: - packages: vcstool xmlschema - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - - 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' - - - 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/asan.repos - destination_workspace: src - skip_existing: 'true' - - - name: Show .meta file - id: show_meta - run: | - cat ${{ github.workspace }}/src/fastrtps/.github/workflows/config/asan_colcon.meta - - - name: Colcon build - continue-on-error: false - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/asan_colcon.meta - colcon_build_args: ${{ inputs.colcon_build_args }} - cmake_args: ${{ inputs.cmake_args }} - cmake_args_default: '' - cmake_build_type: 'Debug' - workspace: ${{ github.workspace }} - workspace_dependencies: '' - - - name: Upload build artifacts - uses: eProsima/eProsima-CI/external/upload-artifact@v0 - with: - name: build_artifacts_fastdds_asan_${{ inputs.label }} - path: ${{ github.workspace }} - - asan_fastdds_test: - needs: asan_fastdds_build - runs-on: ubuntu-22.04 - steps: - - name: Download build artifacts - uses: eProsima/eProsima-CI/external/download-artifact@v0 - with: - name: build_artifacts_fastdds_asan_${{ inputs.label }} - path: ${{ github.workspace }} - - - name: Get minimum supported version of CMake - uses: eProsima/eProsima-CI/external/get-cmake@v0 - with: - cmakeVersion: '3.22.6' - - - name: Install apt packages - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 - with: - packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip software-properties-common wget - - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/ubuntu/install_python_packages@v0 - with: - packages: vcstool setuptools gcovr tomark xmltodict jsondiff pandas - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - - name: Show .meta file - id: show_meta - run: | - cat ${{ github.workspace }}/src/fastrtps/.github/workflows/config/asan_colcon.meta - - - name: Colcon build - continue-on-error: false - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/asan_colcon.meta - colcon_build_args: ${{ inputs.colcon_build_args }} - cmake_args: ${{ inputs.cmake_args }} - cmake_args_default: -DEPROSIMA_BUILD_TESTS=ON -DRTPS_API_TESTS=ON -DFASTRTPS_API_TESTS=ON -DFASTDDS_PIM_API_TESTS=ON -DPERFORMANCE_TESTS=ON - cmake_build_type: 'Debug' - workspace: ${{ github.workspace }} - workspace_dependencies: '' - - - name: Colcon test - if: ${{ inputs.run_asan_fastdds }} - id: test - continue-on-error: true - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_test_args: ${{ inputs.colcon_test_args }} - colcon_test_args_default: '--event-handlers=console_direct+ --return-code-on-test-failure' - ctest_args: ${{ inputs.ctest_args }} - ctest_args_default: '--timeout 300 --label-exclude "xfail"' - packages_names: fastrtps - workspace: ${{ github.workspace }} - workspace_dependencies: '' - test_report_artifact: ${{ format('test_report_{0}_{1}', inputs.label, github.job) }} - - - name: Report sanitizer errors - if: ${{ inputs.run_asan_fastdds }} - run: | - bash src/fastrtps/.github/workflows/utils/specific_errors_filter.sh \ - "==ERROR:" \ - log/latest_test/fastrtps/stdout_stderr.log \ - _tmp_specific_error_file.log - - python3 src/fastrtps/.github/workflows/utils/log_parser.py \ - --log-file log/latest_test/fastrtps/stdout_stderr.log \ - --specific-error-file _tmp_specific_error_file.log \ - --output-file $GITHUB_STEP_SUMMARY \ - --sanitizer asan - - asan_discovery_server_test: - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'no-test') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') && - (inputs.run_asan_discovery_server == true) - ) }} - needs: asan_fastdds_build - runs-on: ubuntu-22.04 - steps: - - name: Download build artifacts - uses: eProsima/eProsima-CI/external/download-artifact@v0 - with: - name: build_artifacts_fastdds_asan_${{ inputs.label }} - path: ${{ github.workspace }} - - - name: Get minimum supported version of CMake - uses: eProsima/eProsima-CI/external/get-cmake@v0 - with: - cmakeVersion: '3.22.6' - - - name: Install apt packages - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 - with: - packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip software-properties-common wget - - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/ubuntu/install_python_packages@v0 - with: - packages: vcstool setuptools gcovr tomark xmltodict jsondiff pandas - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - - name: Get Discovery Server branch - id: get_discovery_server_branch - uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0 - with: - remote_repository: eProsima/Discovery-Server - fallback_branch: ${{ inputs.discovery_server_ref }} - - - name: Download Discovery Server repo - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - repository: eProsima/Discovery-Server - path: src/discovery-server - ref: ${{ steps.get_discovery_server_branch.outputs.deduced_branch }} - - - name: Show .meta file - id: show_meta - run: | - cat ${{ github.workspace }}/src/fastrtps/.github/workflows/config/asan_colcon.meta - - - name: Colcon build - continue-on-error: false - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/asan_colcon.meta - colcon_build_args: ${{ inputs.colcon_build_args }} - cmake_args: ${{ inputs.cmake_args }} - cmake_args_default: '' - cmake_build_type: 'Debug' - workspace: ${{ github.workspace }} - workspace_dependencies: '' - - - name: Colcon test - if: ${{ inputs.run_asan_fastdds }} - id: test - continue-on-error: true - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_test_args: ${{ inputs.colcon_test_args }} - colcon_test_args_default: '--event-handlers=console_direct+ --return-code-on-test-failure' - ctest_args: ${{ inputs.ctest_args }} - ctest_args_default: '--timeout 300 --label-exclude "xfail"' - packages_names: discovery-server - workspace: ${{ github.workspace }} - workspace_dependencies: '' - test_report_artifact: ${{ format('test_report_{0}_{1}', inputs.label, github.job) }} - - - name: Report sanitizer errors - if: ${{ inputs.run_asan_discovery_server }} - run: | - bash src/fastrtps/.github/workflows/utils/specific_errors_filter.sh \ - "==ERROR:" \ - log/latest_test/discovery-server/stdout_stderr.log \ - _tmp_specific_error_file.log - - python3 src/fastrtps/.github/workflows/utils/log_parser.py \ - --log-file log/latest_test/discovery-server/stdout_stderr.log \ - --specific-error-file _tmp_specific_error_file.log \ - --output-file $GITHUB_STEP_SUMMARY \ - --sanitizer=asan - - tsan_fastdds_test: - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'no-test') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') && - (inputs.run_tsan_fastdds == true) - ) }} - runs-on: ubuntu-22.04 - env: - TSAN_OPTIONS: second_deadlock_stack=1 history_size=7 memory_limit_mb=5000 - # GCC 11.3 (Ubuntu Jammy default) produces several false positives regarding timed synchronization protocols - # These issues were fixed in GCC 12 so we upgrade to that version. - CC: gcc-12 - CXX: g++-12 - 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-DDS - - - name: Sync eProsima/Fast-DDS repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastrtps - ref: ${{ inputs.fastdds_ref }} - - - name: Get minimum supported version of CMake - uses: eProsima/eProsima-CI/external/get-cmake@v0 - with: - cmakeVersion: '3.22.6' - - - name: Install apt packages - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 - with: - packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip software-properties-common wget - - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/ubuntu/install_python_packages@v0 - with: - packages: vcstool setuptools gcovr tomark xmltodict jsondiff pandas - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - - 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' - - - 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: Show .meta file - id: show_meta - run: | - cat ${{ github.workspace }}/src/fastrtps/.github/workflows/config/tsan_colcon.meta - - - name: Colcon build - continue-on-error: false - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - colcon_meta_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/tsan_colcon.meta - colcon_build_args: ${{ inputs.colcon_build_args }} - cmake_args: ${{ inputs.cmake_args }} - cmake_args_default: '' - cmake_build_type: 'Debug' - workspace: ${{ github.workspace }} - workspace_dependencies: '' - - - name: Colcon test - if: ${{ inputs.run_asan_fastdds }} - id: test - continue-on-error: true - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_test_args: ${{ inputs.colcon_test_args }} - colcon_test_args_default: '--event-handlers=console_direct+ --return-code-on-test-failure' - ctest_args: ${{ inputs.ctest_args }} - ctest_args_default: '--timeout 300 --label-exclude "xfail" -V -E DDSSQLFilterValueTests' - packages_names: fastrtps - workspace: ${{ github.workspace }} - workspace_dependencies: '' - test_report_artifact: ${{ format('test_report_{0}_{1}', inputs.label, github.job) }} - - - name: Process sanitizer reports - id: report_summary - shell: pwsh - continue-on-error: true - run: | - # Create a dir for the exports - $exports = New-Item -ItemType Directory -Path ./exports - # Move to the reports dir - pushd ./log/latest_test/fastrtps - # Install the report parser module - Find-Module -Repository PSGallery -Name SanReportParser | Install-Module -Scope CurrentUser -Force - # Parse the report files - $rp = Show-Tsan -Path ./stdout_stderr.log - # filter duplicates - $rp = $rp | group md5hash | % { $_.group[0] } - # Export raw data - $rp | Export-CliXML (Join-Path $exports all_reports.xml) - # Group the reports by issue - $g = $rp | group fuzzhash - # Split up deadlocks and race reports - $gd = $rp | ? type -match dead | group fuzzhash - $gr = $rp | ? type -match race | group fuzzhash - # Simplified deadlock summary (only one representative report and tests associated) - $sd = $gd | Sort-Object count -desc | select @{l="fuzzhash";e="name"}, count, ` - @{l="échantillon";e={$_.group[0].report}}, @{l="tests"; ` - e={$_.group.file | sls "(.*)\.\d+$" | % { $_.Matches.Groups[1].Value } | Sort-Object | get-unique}} - # Simplified race summary (only one representative report and tests associated) - $sr = $gr | Sort-Object count -desc | select @{l="fuzzhash";e="name"}, count, ` - @{l="échantillon";e={$_.group[0].report}}, @{l="tests"; ` - e={$_.group.file | sls "(.*)\.\d+$" | % { $_.Matches.Groups[1].Value } | Sort-Object | get-unique}} - # Export simplified summaries - $sd, $sr | Export-Clixml (Join-Path $exports summary_data.xml) - # Export CSV summary of frequencies - $sd | select fuzzhash, count | Export-CSV -Path (Join-Path $exports deadlocks.csv) - $sr | select fuzzhash, count | Export-CSV -Path (Join-Path $exports races.csv) - # Export test mappings - & {$sd; $sr} | Sort-Object { [int]$_.fuzzhash} | % { $fuzzy=$_.fuzzhash;$_.tests | - select @{l="fuzzhash";e={$fuzzy}}, @{l="test";e={$_}}} | - Export-Csv (Join-Path $exports issue_test_map.csv) - # Keep a file per issue - $dir = New-Item -ItemType Directory -Path (Join-Path $exports reports) - & {$sd; $sr} | % { $_.échantillon | Out-File (Join-Path $dir "$($_.fuzzhash).tsan") } - # Create a summary table - @{Type="Deadlock";Failed=$sd.count;Hashes=$sd.fuzzhash}, - @{Type="Data race";Failed=$sr.count;Hashes=$sr.fuzzhash} | - % { $_.Summary = $_.Hashes | select -First 5 | Join-String -Separator ", " - if ($_.Hashes.count -gt 5 ) { - $_.Summary += ", ..." }; $_ } | - % { [PSCustomObject]$_} | - New-MDTable -Columns ([ordered]@{Failed=$null;Type=$null;Summary=$null}) | - Out-File $Env:GITHUB_STEP_SUMMARY - # The step fails on new deadlocks - $LASTEXITCODE=$sd.count - - - name: Check on failures - if: ${{ steps.report_summary.outcome == 'failure' }} - shell: pwsh - run: | - Write-Host ${{ steps.report_summary.outcome }} - exit 1 diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml deleted file mode 100644 index 6c3b1d59ff9..00000000000 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ /dev/null @@ -1,164 +0,0 @@ -name: Fast-DDS Ubuntu CI reusable workflow - -on: - workflow_call: - inputs: - os-image: - description: 'The OS image for the workflow' - required: true - 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 - fastdds-branch: - description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' - required: true - type: string - -defaults: - run: - shell: bash - -jobs: - reusable-ubuntu-ci: - runs-on: ${{ inputs.os-image }} - if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} - 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-DDS - - - name: Sync eProsima/Fast-DDS repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastrtps - ref: ${{ inputs.fastdds-branch }} - - - 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 apt dependencies - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0 - with: - packages: libasio-dev libtinyxml2-dev libssl-dev - update: false - upgrade: false - - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0 - with: - packages: vcstool xmlschema - upgrade: false - - - name: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - # TODO(eduponz): Update known hosts file for DNS resolver testing. NOTE: The runner cannot modify /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/multiplatform/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/multiplatform/vcs_import@v0 - with: - vcs_repos_file: ${{ github.workspace }}/src/fastrtps/.github/workflows/config/ci.repos - destination_workspace: src - skip_existing: 'true' - - # Get Shapes Demo to make sure it keeps compiling - - name: Get Shapes Demo branch - id: get_shapes_demo_branch - uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0 - with: - remote_repository: eProsima/ShapesDemo - fallback_branch: ${{ inputs.fastdds-branch || 'master' }} - - - name: Download Shapes Demo repo - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - repository: eProsima/ShapesDemo - path: src/shapes-demo - ref: ${{ steps.get_shapes_demo_branch.outputs.deduced_branch }} - - # Required for Shapes Demo - # Do not setup python as it will internally modify the pythonLocation env variable - # and we want to use a fix version - - name: Install Qt - uses: jurplel/install-qt-action@v2.13.0 - with: - version: '5.15.2' - dir: '${{ github.workspace }}/qt_installation/' - modules: 'qtcharts' - setup-python: 'false' - - - name: Colcon build - continue-on-error: false - uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 - with: - 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 -Wextra -Wpedantic -Wunused-value -Woverloaded-virtual" -DFASTDDS_EXAMPLE_TESTS=ON - cmake_build_type: ${{ matrix.cmake-build-type }} - workspace: ${{ github.workspace }} - - - name: Colcon test - id: test - if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }} - uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 - with: - colcon_test_args: ${{ inputs.colcon-args }} - colcon_test_args_default: --event-handlers=console_direct+ - ctest_args: ${{ inputs.ctest-args }} - ctest_args_default: --repeat until-pass:3 --timeout 300 --label-exclude "xfail" - packages_names: fastrtps - workspace: ${{ github.workspace }} - test_report_artifact: ${{ format('test_report_{0}_{1}_{2}', inputs.label, github.job, join(matrix.*, '_')) }} - - - name: Test summary - uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 - if: ${{ !cancelled() && !contains(github.event.pull_request.labels.*.name, 'no-test') }} - with: - junit_reports_dir: "${{ steps.test.outputs.ctest_results_path }}" - print_summary: 'True' - show_failed: 'True' - show_disabled: 'False' - show_skipped: 'False' diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml deleted file mode 100644 index 3524ed8b9f0..00000000000 --- a/.github/workflows/reusable-windows-ci.yml +++ /dev/null @@ -1,179 +0,0 @@ -name: Fast-DDS Windows CI reusable workflow - -on: - workflow_call: - inputs: - label: - description: 'ID associated to the workflow. Must univocally identify artifacts.' - 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 - -defaults: - run: - shell: pwsh - -jobs: - reusable-windows-ci: - runs-on: windows-2019 - if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} - strategy: - fail-fast: false - matrix: - cmake-config: - - 'RelWithDebInfo' - vs-toolset: - - 'v141' - - 'v142' - 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-DDS - - - name: Sync eProsima/Fast-DDS repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src/fastrtps - submodules: true - ref: ${{ inputs.fastdds_branch }} - - - 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 OpenSSL - uses: eProsima/eprosima-CI/windows/install_openssl@v0 - with: - version: '3.1.1' - - - name: Update OpenSSL environment variables - run: | - # Update the environment - if (Test-Path -Path $Env:ProgramW6432\OpenSSL) - { - "OPENSSL64_ROOT=$Env:ProgramW6432\OpenSSL" | Out-File $Env:GITHUB_ENV -Append -Encoding OEM - } - elseif (Test-Path -Path $Env:ProgramW6432\OpenSSL-Win) - { - "OPENSSL64_ROOT=$Env:ProgramW6432\OpenSSL-Win" | Out-File $Env:GITHUB_ENV -Append -Encoding OEM - } - elseif (Test-Path -Path $Env:ProgramW6432\OpenSSL-Win64) - { - "OPENSSL64_ROOT=$Env:ProgramW6432\OpenSSL-Win64" | Out-File $Env:GITHUB_ENV -Append -Encoding OEM - } - else - { - Write-Error -Message "Cannot find OpenSSL installation." - exit 1 - } - - - name: Install colcon - uses: eProsima/eProsima-CI/windows/install_colcon@v0 - - - name: Install Python dependencies - uses: eProsima/eProsima-CI/windows/install_python_packages@v0 - with: - packages: vcstool xmlschema - - - name: Update known hosts file for DNS resolver testing - if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }} - run: | - $hostfile = "$Env:SystemRoot\system32\drivers" -replace "\\", "/" - $hostfile += "/etc/hosts" - - # DNS entries to add - $new_entries = @{ - "localhost.test" = "127.0.0.1", "::1" - "www.eprosima.com.test" = "154.56.134.194" - "www.acme.com.test" = "216.58.215.164", "2a00:1450:400e:803::2004" - "www.foo.com.test" = "140.82.121.4", "140.82.121.3" - "acme.org.test" = "ff1e::ffff:efff:1" - } - - # Modify the file - $mod = { Param([string]$FilePath, [Hashtable]$Entries ) - $entries.GetEnumerator() | - % { $hostname = $_.key; $_.value | - % { "{0,-25} {1}" -f $_, $hostname }} | - Out-File $filepath -Append - } - - & $mod -FilePath $hostfile -Entries $new_entries - - # Show the result - gc $hostfile - - - 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' - - - 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 }}\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 - cmake_args_default: ${{ inputs.cmake-args }} -DTHIRDPARTY_Asio=FORCE -DTHIRDPARTY_TinyXML2=FORCE -DTHIRDPARTY_fastcdr=OFF -DTHIRDPARTY_UPDATE=ON -DEPROSIMA_EXTRA_CMAKE_CXX_FLAGS="/MP /WX" - cmake_build_type: ${{ matrix.cmake-config }} - workspace: ${{ github.workspace }} - - - name: Test - if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }} - id: test - uses: eProsima/eProsima-CI/windows/colcon_test@v0 - with: - colcon_test_args: ${{ inputs.colcon-args }} - colcon_test_args_default: --event-handlers=console_direct+ - ctest_args: ${{ inputs.ctest-args }} - ctest_args_default: --repeat until-pass:3 --timeout 300 --label-exclude "xfail" - packages_names: fastrtps - workspace: ${{ github.workspace }} - test_report_artifact: ${{ format('test_report_{0}_{1}_{2}', inputs.label, github.job, join(matrix.*, '_')) }} - - - name: Test summary - uses: eProsima/eProsima-CI/windows/junit_summary@v0 - if: ${{ !cancelled() && !contains(github.event.pull_request.labels.*.name, 'no-test') }} - with: - junit_reports_dir: "${{ steps.test.outputs.ctest_results_path }}" - print_summary: 'True' - show_failed: 'True' - show_disabled: 'False' - show_skipped: 'False' diff --git a/.github/workflows/sanitizers-ci.yml b/.github/workflows/sanitizers-ci.yml deleted file mode 100644 index bb13baecd13..00000000000 --- a/.github/workflows/sanitizers-ci.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Fast DDS Sanitizers CI - -on: - workflow_dispatch: - inputs: - label: - description: 'ID associated to the workflow' - required: true - type: string - run_asan_fastdds: - description: 'Run Addess Sanitizer job for Fast DDS' - required: false - type: boolean - run_asan_discovery_server: - description: 'Run Addess Sanitizer job for Discovery Server' - required: false - type: boolean - run_tsan_fastdds: - description: 'Run Thread Sanitizer job for Fast DDS' - required: false - type: boolean - colcon_build_args: - description: 'Optional colcon build arguments' - required: false - type: string - colcon_test_args: - description: 'Optional colcon test arguments' - required: false - type: string - cmake_args: - description: 'Optional CMake Compilation Flags' - required: false - type: string - ctest_args: - description: 'Optional CTest Testing Flags' - required: false - type: string - fastdds_ref: - description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' - required: true - discovery_server_ref: - description: > - Branch or tag of Discovery Server repository (https://github.com/eProsima/Discovery-Server) - Required only if the Discovery Server job is requested - required: false - - pull_request: - types: - - review_requested - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - sanitizers-ci: - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'no-test') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') - ) }} - uses: ./.github/workflows/reusable-sanitizers-ci.yml - with: - label: ${{ inputs.label || 'fastdds-sanitizers-ci' }} - run_asan_fastdds: ${{ inputs.run_asan_fastdds || github.event_name == 'pull_request' }} - run_asan_discovery_server: ${{ inputs.run_asan_discovery_server || github.event_name == 'pull_request' }} - run_tsan_fastdds: ${{ inputs.run_tsan_fastdds || github.event_name == 'pull_request' }} - colcon_build_args: ${{ inputs.colcon_build_args || '' }} - colcon_test_args: ${{ inputs.colcon_test_args || '' }} - cmake_args: ${{ inputs.cmake_args || '' }} - ctest_args: ${{ inputs.ctest_args || '' }} - fastdds_ref: ${{ inputs.fastdds_ref || github.ref || 'master' }} - discovery_server_ref: ${{ inputs.discovery_server_ref || 'master' }} diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml deleted file mode 100644 index 01861fccbc1..00000000000 --- a/.github/workflows/ubuntu-ci.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Fast-DDS Ubuntu CI - -on: - workflow_dispatch: - 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)' - type: string - required: true - - pull_request: - types: - - review_requested - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - ubuntu-ci: - - strategy: - fail-fast: false - matrix: - os-image: - - 'ubuntu-22.04' - - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') - ) }} - uses: ./.github/workflows/reusable-ubuntu-ci.yml - with: - os-image: ${{ matrix.os-image }} - label: ${{ inputs.label || 'ubuntu-ci' }} - colcon-args: ${{ inputs.colcon-args }} - 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 deleted file mode 100644 index 0838b8fdde8..00000000000 --- a/.github/workflows/windows-ci.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Fast-DDS Windows CI - -on: - workflow_dispatch: - inputs: - label: - description: 'ID associated to the workflow. Must univocally identify artifacts.' - 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)' - type: string - required: true - - pull_request: - types: - - review_requested - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - windows-ci: - if: ${{ ( - !contains(github.event.pull_request.labels.*.name, 'skip-ci') && - !contains(github.event.pull_request.labels.*.name, 'conflicts') - ) }} - uses: ./.github/workflows/reusable-windows-ci.yml - with: - label: ${{ inputs.label || 'windows-ci' }} - colcon-args: ${{ inputs.colcon-args }} - cmake-args: '-DSECURITY=ON ${{ inputs.cmake-args }}' - ctest-args: ${{ inputs.ctest-args }} - fastdds_branch: ${{ inputs.fastdds_branch || github.ref || 'master' }}