diff --git a/.github/actions/fetch-fastdds-repos/action.yml b/.github/actions/fetch-fastdds-repos/action.yml deleted file mode 100644 index 7a82b434ec7..00000000000 --- a/.github/actions/fetch-fastdds-repos/action.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: 'fetch-fastdds-repos' -description: 'Fetch Fast DDS dependencies' -inputs: - target_directory: - description: 'Target directory where the dependencies will be downloaded.' - required: true - default: '.' - googletest: - description: 'Specifies if GoogleTest repository should be downloaded.' - required: false - default: 'false' - discovery_server: - description: 'Specifies if Discovery Server repository should be downloaded.' - required: false - default: 'false' - discovery_server_branch: - description: 'Specifies Discovery Server branch. The final branch is calculated based on the event that triggers - the action. Thus, if the action has been triggered as a result of a Pull Request, the branch will be the source - branch, the target branch, "master", or the branch specified in this parameter.' - required: false - default: 'master' -runs: - using: "composite" - steps: - - name: Fetch eProsima dependencies - run: | - git clone https://github.com/eProsima/foonathan_memory_vendor.git ${{ inputs.target_directory }}/foonathan_memory_vendor - git clone https://github.com/eProsima/Fast-CDR.git ${{ inputs.target_directory }}/fastcdr - shell: bash - - - name: Fetch GoogleTest - if: ${{ inputs.googletest == 'true' }} - run: git clone https://github.com/google/googletest.git --branch release-1.12.1 ${{ inputs.target_directory }}/googletest - shell: bash - - - name: Fetch Discovery Server - if: ${{ inputs.discovery_server == 'true' }} - run: | - base_dir=${PWD} - git clone https://github.com/eProsima/Discovery-Server.git ${{ inputs.target_directory }}/discovery_server - cd ${{ inputs.target_directory }}/discovery_server - - if [[ $(git rev-parse --verify "${{ github.head_ref }}" 2>/dev/null) ]]; then - git checkout ${{ github.head_ref }} - elif [[ $(git rev-parse --verify "${{ github.base_ref }}" 2>/dev/null) ]]; then - git checkout ${{ github.base_ref }} - else - git checkout ${{ inputs.discovery_server_branch }} - fi - - cd ${base_dir} - shell: bash diff --git a/.github/actions/install-apt-packages-documentation/action.yml b/.github/actions/install-apt-packages-documentation/action.yml deleted file mode 100644 index 689a081a7fd..00000000000 --- a/.github/actions/install-apt-packages-documentation/action.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: 'install-apt-packages-documentation' -description: 'Install necessary apt packages for building documentation' -runs: - using: "composite" - steps: - - id: install-apt-packages-documentation - run: | - sudo apt-get update - sudo apt-get -y install \ - doxygen \ - imagemagick \ - plantuml - shell: bash diff --git a/.github/workflows/sanitizer-tests.yaml b/.github/workflows/address-sanitizers.yaml similarity index 95% rename from .github/workflows/sanitizer-tests.yaml rename to .github/workflows/address-sanitizers.yaml index f0ab26d2ed2..1074111fb64 100644 --- a/.github/workflows/sanitizer-tests.yaml +++ b/.github/workflows/address-sanitizers.yaml @@ -1,4 +1,4 @@ -name: Sanitizer analysis +name: Address Sanitizer analysis on: workflow_dispatch: @@ -6,17 +6,19 @@ on: discovery_server_branch: description: 'Branch or tag of Discovery Server repository (https://github.com/eProsima/Discovery-Server)' required: true - default: 'master' + default: 'v1.2.2' fastdds_branch: description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' required: true - default: 'master' + default: '2.13.x' + pull_request: - push: branches: - - master - schedule: - - cron: '0 1 * * *' + - '2.13.x' + paths-ignore: + - '**.md' + - '**.txt' + - '!**/CMakeLists.txt' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -32,7 +34,7 @@ jobs: runs-on: ubuntu-22.04 env: - FASTDDS_BRANCH: ${{ github.head_ref || github.event.inputs.fastdds_branch || 'master' }} + FASTDDS_BRANCH: ${{ github.head_ref || github.event.inputs.fastdds_branch || '2.13.x' }} steps: - name: Install apt packages @@ -117,8 +119,8 @@ jobs: runs-on: ubuntu-22.04 env: - FASTDDS_BRANCH: ${{ github.head_ref || github.event.inputs.fastdds_branch || 'master' }} - DEFAULT_DISCOVERY_SERVER_BRANCH: ${{ github.event.inputs.discovery_server_branch || 'master' }} + FASTDDS_BRANCH: ${{ github.head_ref || github.event.inputs.fastdds_branch || '2.13.x' }} + DEFAULT_DISCOVERY_SERVER_BRANCH: ${{ github.event.inputs.discovery_server_branch || 'v1.2.2' }} steps: - name: Install apt packages diff --git a/.github/workflows/config/asan_colcon.meta b/.github/workflows/config/asan_colcon.meta index cda173af037..8c9830e3683 100644 --- a/.github/workflows/config/asan_colcon.meta +++ b/.github/workflows/config/asan_colcon.meta @@ -1,31 +1,18 @@ -{ - "names": - { - "fastrtps": - { - "cmake-args": - [ - "-DCMAKE_BUILD_TYPE=Debug", - "-DEPROSIMA_BUILD_TESTS=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" + - "-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" diff --git a/.github/workflows/config/nightly.meta b/.github/workflows/config/ci.meta similarity index 100% rename from .github/workflows/config/nightly.meta rename to .github/workflows/config/ci.meta diff --git a/.github/workflows/config/ci.repos b/.github/workflows/config/ci.repos new file mode 100644 index 00000000000..5052ee825f4 --- /dev/null +++ b/.github/workflows/config/ci.repos @@ -0,0 +1,5 @@ +repositories: + googletest-distribution: + type: git + url: https://github.com/google/googletest.git + version: release-1.11.0 diff --git a/.github/workflows/config/coverage.repos b/.github/workflows/config/coverage.repos deleted file mode 100644 index f6580b0e8f8..00000000000 --- a/.github/workflows/config/coverage.repos +++ /dev/null @@ -1,17 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.1.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.10.0 - discovery-server: - type: git - url: https://github.com/eProsima/Discovery-Server.git - version: master diff --git a/.github/workflows/config/default_ci.meta b/.github/workflows/config/default_ci.meta deleted file mode 100644 index 55514ebbce6..00000000000 --- a/.github/workflows/config/default_ci.meta +++ /dev/null @@ -1,28 +0,0 @@ -names: - fastrtps: - cmake-args: - - "-DBUILD_DOCUMENTATION=OFF" - - "-DBUILD_SHARED_LIBS=ON" - - "-DCOMPILE_EXAMPLES=ON" - - "-DEPROSIMA_BUILD_TESTS=ON" - - "-DFASTDDS_ENFORCE_LOG_INFO=ON" - - "-DFASTDDS_PIM_API_TESTS=ON" - - "-DFASTDDS_STATISTICS=ON" - - "-DFASTRTPS_API_TESTS=OFF" - - "-DINSTALL_EXAMPLES=ON" - - "-DINSTALL_TOOLS=ON" - - "-DINTERNAL_DEBUG=ON" - - "-DNO_TLS=OFF" - - "-DPERFORMANCE_TESTS=ON" - - "-DPROFILING_TESTS=OFF" - - "-DSECURITY=ON" - - "-DSHM_TRANSPORT_DEFAULT=ON" - - "-DSTRICT_REALTIME=OFF" - - "-DSYSTEM_TESTS=ON" - - "-DMEMORYCHECK_COMMAND_OPTIONS=-q --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=2 --error-exitcode=1" - - "-DMEMORYCHECK_SUPPRESSIONS_FILE=../../src/fastrtps/valgrind.supp" - googletest-distribution: - cmake-args: - - "-Dgtest_force_shared_crt=ON" - - "-DBUILD_SHARED_LIBS=ON" - - "-DBUILD_GMOCK=ON" diff --git a/.github/workflows/config/default_ci_2.10.x.repos b/.github/workflows/config/default_ci_2.10.x.repos deleted file mode 100644 index e5a8ab31ec8..00000000000 --- a/.github/workflows/config/default_ci_2.10.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.0 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/default_ci_2.12.x.repos b/.github/workflows/config/default_ci_2.12.x.repos deleted file mode 100644 index f1c0628cf69..00000000000 --- a/.github/workflows/config/default_ci_2.12.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: v2.1.0 - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/default_ci_2.6.x.repos b/.github/workflows/config/default_ci_2.6.x.repos deleted file mode 100644 index dafcf2fd3f7..00000000000 --- a/.github/workflows/config/default_ci_2.6.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.2.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/default_ci_master.repos b/.github/workflows/config/default_ci_master.repos deleted file mode 100644 index 5d3651ca82c..00000000000 --- a/.github/workflows/config/default_ci_master.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: master - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/documentation.meta b/.github/workflows/config/documentation.meta new file mode 100644 index 00000000000..c0d85a3d55f --- /dev/null +++ b/.github/workflows/config/documentation.meta @@ -0,0 +1,17 @@ +names: + fastrtps: + cmake-args: + - "-DBUILD_SHARED_LIBS=ON" + - "-DSECURITY=ON" + - "-DTHIRDPARTY_Asio=FORCE" + - "-DTHIRDPARTY_TinyXML2=FORCE" + - "-DTHIRDPARTY_UPDATE=OFF" + fastdds-docs: + cmake-args: + - "-DBUILD_DOCUMENTATION=ON" + - "-DCOMPILE_TESTS=ON" + googletest-distribution: + cmake-args: + - "-Dgtest_force_shared_crt=ON" + - "-DBUILD_SHARED_LIBS=ON" + - "-DBUILD_GMOCK=ON" diff --git a/.github/workflows/config/nightly_2.10.x.repos b/.github/workflows/config/nightly_2.10.x.repos deleted file mode 100644 index e5a8ab31ec8..00000000000 --- a/.github/workflows/config/nightly_2.10.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.0 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_2.12.x.repos b/.github/workflows/config/nightly_2.12.x.repos deleted file mode 100644 index f1c0628cf69..00000000000 --- a/.github/workflows/config/nightly_2.12.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: v2.1.0 - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.3.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_2.6.x.repos b/.github/workflows/config/nightly_2.6.x.repos deleted file mode 100644 index dafcf2fd3f7..00000000000 --- a/.github/workflows/config/nightly_2.6.x.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: 1.0.x - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: v1.2.1 - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/nightly_master.repos b/.github/workflows/config/nightly_master.repos deleted file mode 100644 index 5d3651ca82c..00000000000 --- a/.github/workflows/config/nightly_master.repos +++ /dev/null @@ -1,13 +0,0 @@ -repositories: - fastcdr: - type: git - url: https://github.com/eProsima/Fast-CDR.git - version: master - foonathan_memory_vendor: - type: git - url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master - googletest-distribution: - type: git - url: https://github.com/google/googletest.git - version: release-1.11.0 diff --git a/.github/workflows/config/tsan_colcon.meta b/.github/workflows/config/tsan_colcon.meta index c33e7bc2938..e7f8a45e3ff 100644 --- a/.github/workflows/config/tsan_colcon.meta +++ b/.github/workflows/config/tsan_colcon.meta @@ -1,31 +1,18 @@ -{ - "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", - "-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'" - ] - } - - } -} +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" + - "-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'" diff --git a/.github/workflows/documentation-tests.yaml b/.github/workflows/documentation-tests.yaml index 3277ce2a7c6..58e12a3d01e 100644 --- a/.github/workflows/documentation-tests.yaml +++ b/.github/workflows/documentation-tests.yaml @@ -6,19 +6,11 @@ on: description: 'Documentation branch name' required: true type: string - default: 'master' - - push: - branches: - - 'master' - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' + default: '2.13.x' pull_request: branches: - - 'master' + - '2.13.x' paths-ignore: - '**.md' - '**.txt' @@ -40,24 +32,47 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Sync eProsima/Fast-DDS repository - uses: actions/checkout@v3 + uses: eProsima/eProsima-CI/external/checkout@v0 with: path: src/fastrtps submodules: true - - name: Install Fast DDS packages - uses: ./src/fastrtps/.github/actions/install-apt-packages - - - name: Install documentation packages - uses: ./src/fastrtps/.github/actions/install-apt-packages-documentation + - name: Get minimum supported version of CMake + uses: eProsima/eProsima-CI/external/get-cmake@v0 + with: + cmakeVersion: '3.20.6' - name: Setup CCache uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - - name: Download FastDDS dependencies - run: | - pip3 install vcstool - vcs import --skip-existing src < ./src/fastrtps/fastrtps.repos + - 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 GTest + uses: eProsima/eProsima-CI/multiplatform/install_gtest@v0 + with: + cmake_build_type: Release + version: release-1.11.0 + + - 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: Determine the Fast DDS Documentation branch to be used run: | @@ -93,7 +108,7 @@ jobs: # Attempt to use version's branch, which will most likely be the base anyways. # This is just in case the PR was to an intermediate branch - TEMP_BRANCH=master + TEMP_BRANCH=2.13.x RESPONSE_CODE=$(git ls-remote --heads $DOCS_REPO $TEMP_BRANCH | wc -l) if [[ ${RESPONSE_CODE} == "0" ]] @@ -110,25 +125,51 @@ jobs: fi - name: Download FastDDS documentation repo - uses: actions/checkout@v4 + uses: eProsima/eProsima-CI/external/checkout@v0 with: repository: eProsima/Fast-DDS-docs path: src/fastdds-docs ref: ${{ env.ACTION_BRANCH_NAME }} - - name: Install colcon - uses: eProsima/eProsima-CI/ubuntu/install_colcon@v0 - - - name: Install required python packages + - 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: Build documentation - run: | - colcon build --event-handlers=console_direct+ --metas - - - name: Run documentation tests - run: | - colcon test --event-handlers=console_direct+ --packages-select fastdds-docs --return-code-on-test-failure + - 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/mac-ci.yml b/.github/workflows/mac-ci.yml index 26b2c7f84c4..f4817793981 100644 --- a/.github/workflows/mac-ci.yml +++ b/.github/workflows/mac-ci.yml @@ -24,17 +24,9 @@ on: type: string required: true - push: - branches: - - 'master' - - '2.12.x' - - '2.10.x' - - '2.6.x' - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' pull_request: + branches: + - '2.13.x' paths-ignore: - '**.md' - '**.txt' @@ -52,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 || 'master' }} + fastdds-branch: ${{ inputs.fastdds_branch || github.ref || '2.13.x' }} diff --git a/.github/workflows/mirror.yml b/.github/workflows/mirror.yml deleted file mode 100644 index c6de29ebc78..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.13.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 adb0e0e0c8b..00000000000 --- a/.github/workflows/nightly-mac-ci.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Fast-DDS MacOS CI (nightly) - -on: - workflow_dispatch: - schedule: - - cron: '0 1 * * *' - -jobs: - nightly-sec-mac-ci: - uses: ./.github/workflows/reusable-mac-ci.yml - with: - label: 'nightly-sec-mac-ci' - cmake-args: "-DSECURITY=ON" - ctest-args: "-LE xfail" - fastdds-branch: 'master' - - nightly-nosec-mac-ci: - uses: ./.github/workflows/reusable-mac-ci.yml - with: - label: 'nightly-nosec-mac-ci' - cmake-args: "-DSECURITY=OFF" - ctest-args: "-LE xfail" - fastdds-branch: 'master' diff --git a/.github/workflows/nightly-windows-ci.yml b/.github/workflows/nightly-windows-ci.yml deleted file mode 100644 index ebc01791750..00000000000 --- a/.github/workflows/nightly-windows-ci.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Fast-DDS Windows CI (nightly) - -on: - workflow_dispatch: - schedule: - - cron: '0 1 * * *' - -jobs: - nightly-sec-windows-ci: - uses: ./.github/workflows/reusable-windows-ci.yml - with: - label: 'nightly-sec-windows-ci' - cmake-args: "-DSECURITY=ON" - ctest-args: "-LE xfail" - fastdds_branch: 'master' - - nightly-nosec-windows-ci: - uses: ./.github/workflows/reusable-windows-ci.yml - with: - label: 'nightly-nosec-windows-ci' - cmake-args: "-DSECURITY=OFF" - ctest-args: "-LE xfail" - fastdds_branch: 'master' - - nightly-3_0_x-windows-ci: - uses: ./.github/workflows/reusable-windows-ci.yml - with: - label: 'nightly-3.0.x-windows-ci' - cmake-args: "-DSECURITY=ON" - 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-mac-ci.yml b/.github/workflows/reusable-mac-ci.yml index 2094fd78679..45245988403 100644 --- a/.github/workflows/reusable-mac-ci.yml +++ b/.github/workflows/reusable-mac-ci.yml @@ -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_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' # TODO(eduponz): There is a warning in clang >= 16 regarding enum-constexpr-conversion: # - Issue: https://github.com/boostorg/mpl/issues/69. @@ -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" diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index 7ea382d4972..0387d140d78 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -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" diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml index 768a80071a0..b90931be0c4 100644 --- a/.github/workflows/reusable-windows-ci.yml +++ b/.github/workflows/reusable-windows-ci.yml @@ -46,7 +46,7 @@ jobs: with: path: src/fastrtps submodules: true - ref: ${{ inputs.fastdds-branch }} + ref: ${{ inputs.fastdds_branch }} - name: Get minimum supported version of CMake uses: lukka/get-cmake@latest @@ -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_master.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_master.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 @@ -189,13 +164,3 @@ jobs: show_failed: 'True' show_disabled: 'False' show_skipped: 'False' - - - name: Test Report - uses: eProsima/eProsima-CI/external/test-reporter@main - if: ${{ !cancelled() && !contains(github.event.pull_request.labels.*.name, 'no-test') }} - with: - name: "Report: ${{ matrix.cmake-config }} | ${{ matrix.vs-toolset }} " - path: "${{ steps.test.outputs.ctest_results_path }}*.xml" - working-directory: 'src/fastrtps' - path-replace-backslashes: 'true' - list-tests: 'failed' diff --git a/.github/workflows/thread-sanitizer.yaml b/.github/workflows/thread-sanitizer.yaml index 03839ed66b7..b7d915fdbd8 100644 --- a/.github/workflows/thread-sanitizer.yaml +++ b/.github/workflows/thread-sanitizer.yaml @@ -5,7 +5,7 @@ on: fastdds_branch: description: 'Branch or tag of Fast DDS repository (https://github.com/eProsima/Fast-DDS)' required: true - default: 'master' + default: '2.13.x' optional_cmake_args: description: 'Optional CMake Compilation Flags' required: false @@ -15,17 +15,9 @@ on: required: false type: string - push: - branches: - - 'master' - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' - pull_request: branches: - - 'master' + - '2.13.x' paths-ignore: - '**.md' - '**.txt' @@ -47,7 +39,7 @@ jobs: runs-on: ubuntu-22.04 env: - FASTDDS_BRANCH: ${{ github.head_ref || github.event.inputs.fastdds_branch || 'master' }} + FASTDDS_BRANCH: ${{ github.head_ref || github.event.inputs.fastdds_branch || '2.13.x' }} 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. diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml index 786cf2d22d1..65cef32076c 100644 --- a/.github/workflows/ubuntu-ci.yml +++ b/.github/workflows/ubuntu-ci.yml @@ -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.13.x' }} diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml index f3518a75749..4d641c956dc 100644 --- a/.github/workflows/windows-ci.yml +++ b/.github/workflows/windows-ci.yml @@ -24,17 +24,9 @@ on: type: string required: true - push: - branches: - - 'master' - - '2.12.x' - - '2.10.x' - - '2.6.x' - paths-ignore: - - '**.md' - - '**.txt' - - '!**/CMakeLists.txt' pull_request: + branches: + - '2.13.x' paths-ignore: - '**.md' - '**.txt' @@ -52,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 || 'master' }} + fastdds_branch: ${{ inputs.fastdds_branch || github.ref || '2.13.x' }}