From b50b66f239528e39f235d383e55bc44b19eb3428 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Thu, 27 Jun 2024 10:27:42 +0200 Subject: [PATCH 1/4] Refs #21256: Add GitHub Ubuntu CI Signed-off-by: JesusPoderoso --- .github/workflows/config/build.meta | 11 + .github/workflows/config/test.meta | 12 + .github/workflows/config/test.repos | 5 + .github/workflows/nightly-ubuntu-ci.yml | 73 ++++++ .github/workflows/reusable-ubuntu-ci.yml | 273 +++++++++++++++++++++++ .github/workflows/ubuntu-ci.yml | 73 ++++++ 6 files changed, 447 insertions(+) create mode 100644 .github/workflows/config/build.meta create mode 100644 .github/workflows/config/test.meta create mode 100644 .github/workflows/config/test.repos create mode 100644 .github/workflows/nightly-ubuntu-ci.yml create mode 100644 .github/workflows/reusable-ubuntu-ci.yml create mode 100644 .github/workflows/ubuntu-ci.yml diff --git a/.github/workflows/config/build.meta b/.github/workflows/config/build.meta new file mode 100644 index 000000000..e757de4ec --- /dev/null +++ b/.github/workflows/config/build.meta @@ -0,0 +1,11 @@ +names: + fastdds-docs: + cmake-args: + - "-DBUILD_DOCUMENTATION=ON" + fastdds: + cmake-args: + - "-DBUILD_DOCUMENTATION=ON" + - "-DSECURITY=ON" + fastdds_python: + cmake-args: + - "-DBUILD_DOCUMENTATION=ON" diff --git a/.github/workflows/config/test.meta b/.github/workflows/config/test.meta new file mode 100644 index 000000000..8be448bef --- /dev/null +++ b/.github/workflows/config/test.meta @@ -0,0 +1,12 @@ +names: + fastdds-docs: + cmake-args: + - "-DCOMPILE_TESTS=ON" + ctest-args: [ + "--timeout", "500" + ] + googletest-distribution: + cmake-args: + - "-Dgtest_force_shared_crt=ON" + - "-DBUILD_SHARED_LIBS=ON" + - "-DBUILD_GMOCK=ON" diff --git a/.github/workflows/config/test.repos b/.github/workflows/config/test.repos new file mode 100644 index 000000000..5052ee825 --- /dev/null +++ b/.github/workflows/config/test.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/nightly-ubuntu-ci.yml b/.github/workflows/nightly-ubuntu-ci.yml new file mode 100644 index 000000000..9cbfb2721 --- /dev/null +++ b/.github/workflows/nightly-ubuntu-ci.yml @@ -0,0 +1,73 @@ + +name: Fast DDS Docs Ubuntu CI (nightly) + +on: + workflow_dispatch: + schedule: + - cron: '0 1 * * *' + +jobs: + nightly-ubuntu-ci-master: + uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@master + with: + os-image: 'ubuntu-22.04' + label: 'nightly-ubuntu-ci-master' + ctest-args: "-LE xfail" + fastdds-docs-branch: 'master' + fastdds-branch: 'master' + fastdds-python-branch: 'main' + run-build: true + run-tests: true + use-ccache: false + + nightly-ubuntu-ci-2_14_x: + uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.14.x + with: + os-image: 'ubuntu-22.04' + label: '-nightly-ubuntu-ci-2.14.x' + ctest-args: "-LE xfail" + fastdds-docs-branch: '2.14.x' + fastdds-branch: '2.14.x' + fastdds-python-branch: '1.4.x' + run-build: true + run-tests: true + use-ccache: false + + nightly-ubuntu-ci-2_13_x: + uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.13.x + with: + os-image: 'ubuntu-22.04' + label: '-nightly-ubuntu-ci-2.13.x' + ctest-args: "-LE xfail" + fastdds-docs-branch: '2.13.x' + fastdds-branch: '2.13.x' + fastdds-python-branch: '1.4.x' + run-build: true + run-tests: true + use-ccache: false + + nightly-ubuntu-ci-2_10_x: + uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.10.x + with: + os-image: 'ubuntu-22.04' + label: '-nightly-ubuntu-ci-2.10.x' + ctest-args: "-LE xfail" + fastdds-docs-branch: '2.10.x' + fastdds-branch: '2.10.x' + fastdds-python-branch: '1.2.x' + run-build: true + run-tests: true + use-ccache: false + + nightly-ubuntu-ci-2_6_x: + uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.6.x + with: + os-image: 'ubuntu-20.04' + label: '-nightly-ubuntu-ci-2.6.x' + ctest-args: "-LE xfail" + fastdds-docs-branch: '2.6.x' + fastdds-branch: '2.6.x' + fastdds-python-branch: '1.0.x' + run-build: true + run-tests: true + use-ccache: false diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml new file mode 100644 index 000000000..daf81aea5 --- /dev/null +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -0,0 +1,273 @@ +name: Fast DDS Docs 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 + fastdds-docs-branch: + description: 'Branch or tag of Fast DDS Docs repository' + required: true + type: string + fastdds-branch: + description: 'Branch or tag of Fast DDS repository' + required: true + type: string + fastdds-python-branch: + description: 'Branch or tag of Fast DDS Python repository' + required: true + type: string + run-build: + description: 'Build Fast DDS Docs (CI skipped otherwise)' + required: false + type: boolean + default: true + run-tests: + description: 'Run test suite of Fast DDS Docs' + 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: + fastdds_docs_build: + 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-DDS-docs + + - name: Sync eProsima/Fast-DDS-docs repository + uses: eProsima/eProsima-CI/external/checkout@v0 + with: + path: src/fastdds-docs + ref: ${{ inputs.fastdds-docs-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 swig doxygen imagemagick plantuml + 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: 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: Setup CCache + uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 + if: ${{ inputs.use-ccache == true }} + with: + api_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Get Fast DDS branch + id: get_fastdds_branch + uses: eProsima/eProsima-CI/ubuntu/get_related_branch_from_repo@v0 + with: + remote_repository: eProsima/Fast-DDS + fallback_branch: ${{ inputs.fastdds-branch }} + + - name: Obtain Fast DDS dependencies + uses: eProsima/eProsima-CI/multiplatform/get_file_from_repo@v0 + with: + source_repository_branch: ${{ steps.get_fastdds_branch.outputs.deduced_branch }} + source_repository: eProsima/Fast-DDS + file_name: fastdds.repos + file_result: ${{ github.workspace }}/fastdds.repos + + - name: Fetch Fast DDS dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ${{ github.workspace }}/fastdds.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 }} + + - name: Obtain Fast DDS Python dependencies + uses: eProsima/eProsima-CI/multiplatform/get_file_from_repo@v0 + with: + source_repository_branch: ${{ steps.get_fastdds_python_branch.outputs.deduced_branch }} + source_repository: eProsima/Fast-DDS-python + file_name: fastdds_python.repos + file_result: ${{ github.workspace }}/fastdds_python.repos + + - name: Fetch Fast DDS Python dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ${{ github.workspace }}/fastdds_python.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 }}/src/fastdds-docs/.github/workflows/config/build.meta + colcon_build_args: ${{ inputs.colcon-args }} + cmake_args: ${{ inputs.cmake-args }} + cmake_build_type: ${{ matrix.cmake-build-type }} + workspace: ${{ github.workspace }} + + - name: Upload build artifacts + uses: eProsima/eProsima-CI/external/upload-artifact@v0 + with: + name: fastdds_docs_build_${{ inputs.label }} + path: ${{ github.workspace }} + + fastdds_docs_test: + needs: fastdds_docs_build + runs-on: ${{ inputs.os-version }} + if: ${{ inputs.run-tests == true }} + strategy: + fail-fast: false + matrix: + cmake-build-type: + - 'RelWithDebInfo' + steps: + - name: Download build artifacts + uses: eProsima/eProsima-CI/external/download-artifact@v0 + with: + name: fastdds_docs_build_${{ inputs.label }} + path: ${{ github.workspace }} + + - 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 swig doxygen imagemagick plantuml + 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: 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: Setup CCache + uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 + if: ${{ inputs.use-ccache == true }} + with: + api_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Fetch Fast DDS Docs CI dependencies + uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 + with: + vcs_repos_file: ${{ github.workspace }}/src/fastdds-docs/.github/workflows/config/test.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 }}/src/fastdds-docs/.github/workflows/config/build.meta ${{ github.workspace }}/src/fastdds-docs/.github/workflows/config/test.meta + colcon_build_args: ${{ inputs.colcon-args }} + cmake_args: ${{ inputs.cmake-args }} + cmake_build_type: ${{ matrix.cmake-build-type }} + workspace: ${{ github.workspace }} + + - name: Colcon test + id: fastdds_docs_test + uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 + with: + colcon_meta_file: ${{ github.workspace }}/src/fastdds-docs/.github/workflows/config/test.meta + colcon_test_args: ${{ inputs.colcon-args }} + colcon_test_args_default: --event-handlers=console_direct+ + ctest_args: ${{ inputs.ctest-args }} + packages_names: fastdds-docs + workspace: ${{ github.workspace }} + workspace_dependencies: '' + test_report_artifact: ${{ format('test_report_{0}_{1}_{2}', inputs.label, github.job, join(matrix.*, '_')) }} + + - name: Fast DDS Docs test summary + uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 + if: ${{ !cancelled() }} + with: + junit_reports_dir: "${{ steps.fastdds_docs_test.outputs.ctest_results_path }}" + print_summary: 'True' + show_failed: 'True' + show_disabled: 'False' + show_skipped: 'False' diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml new file mode 100644 index 000000000..fd291322e --- /dev/null +++ b/.github/workflows/ubuntu-ci.yml @@ -0,0 +1,73 @@ + +name: Fast DDS Docs Ubuntu CI + +on: + workflow_dispatch: + inputs: + os-version: + description: 'OS version to run the workflow' + required: false + default: 'ubuntu-22.04' + 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-docs-branch: + description: 'Branch or tag of Fast DDS Docs repository' + type: string + required: true + fastdds-branch: + description: 'Branch or tag of Fast DDS repository' + type: string + required: true + fastdds-python-branch: + description: 'Branch or tag of Fast DDS Python repository' + required: true + type: string + run-tests: + description: 'Run test suite of Fast DDS python' + required: false + type: boolean + default: true + use-ccache: + description: 'Use CCache to speed up the build' + required: false + type: boolean + default: 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: + ubuntu-ci: + uses: ./.github/workflows/reusable-ubuntu-ci.yml + with: + os-version: ${{ inputs.os-version || 'ubuntu-22.04' }} + label: 'ubuntu-ci' + colcon-args: ${{ inputs.colcon-args }} + cmake-args: ${{ inputs.cmake-args }} + ctest-args: ${{ inputs.ctest-args }} + fastdds-docs-branch: ${{ inputs.fastdds-docs-branch || github.ref || 'master' }} + fastdds-branch: ${{ inputs.fastdds-branch || 'master' }} + fastdds-python-branch: ${{ inputs.fastdds-python-branch || 'main' }} + run-build: ${{ !(github.event_name == 'pull_request') && true || (!contains(github.event.pull_request.labels.*.name, 'skip-ci') && !contains(github.event.pull_request.labels.*.name, 'conflicts')) && true || false }} + run-tests: ${{ ((inputs.run-tests == true) && true) || (github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'no-test')) && true || false }} + use-ccache: ${{ inputs.use-ccache || false }} From 588c5ef8faa2c73ae6cf8d5ee22526c6bb756f61 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Thu, 27 Jun 2024 15:22:06 +0200 Subject: [PATCH 2/4] Refs #21256: Add Discovery server to the list of related products Signed-off-by: JesusPoderoso --- docs/notes/versions.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/notes/versions.rst b/docs/notes/versions.rst index 4e7b9b20a..ca6ab38ca 100644 --- a/docs/notes/versions.rst +++ b/docs/notes/versions.rst @@ -349,6 +349,8 @@ Fast DDS as the core middleware. - `v1.4.2 `__ * - `Shapes Demo `__ - `v2.14.1 `__ + * - `Discovery Server `__ + - `v1.2.2 `__ .. group-tab:: 2.13.x @@ -365,6 +367,8 @@ Fast DDS as the core middleware. - `v1.4.0 `__ * - `Shapes Demo `__ - `v2.13.4 `__ + * - `Discovery Server `__ + - `v1.2.2 `__ .. group-tab:: 2.10.x @@ -381,6 +385,8 @@ Fast DDS as the core middleware. - `v1.2.1 `__ * - `Shapes Demo `__ - `v2.10.4 `__ + * - `Discovery Server `__ + - `v1.2.1 `__ .. group-tab:: 2.6.x @@ -397,3 +403,5 @@ Fast DDS as the core middleware. - `v1.0.2 `__ * - `Shapes Demo `__ - `v2.6.8 `__ + * - `Discovery Server `__ + - `v1.2.1 `__ From 9d88d4bbf35031f06c510332c30c5143eac40834 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Thu, 27 Jun 2024 15:38:39 +0200 Subject: [PATCH 3/4] Refs #21256: Add RELEASE_SUPPORT.md file Signed-off-by: JesusPoderoso --- RELEASE_SUPPORT.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 RELEASE_SUPPORT.md diff --git a/RELEASE_SUPPORT.md b/RELEASE_SUPPORT.md new file mode 100644 index 000000000..ba4006e70 --- /dev/null +++ b/RELEASE_SUPPORT.md @@ -0,0 +1,8 @@ +# Release support + + +Please, refer to the [master branch](https://github.com/eProsima/Fast-DDS-docs/blob/master/RELEASE_SUPPORT.md) for the latest version of this document. + +*eProsima Fast DDS docs* maintains the same releases and have the same support cycles as their corresponding release in *Fast DDS*. + +**Refer to [*eProsima Fast DDS* release support section](https://github.com/eProsima/Fast-DDS/blob/master/RELEASE_SUPPORT.md) for further information.** From f733f312b4d74047055fdc980eabaea6346ce301 Mon Sep 17 00:00:00 2001 From: JesusPoderoso Date: Fri, 28 Jun 2024 13:24:38 +0200 Subject: [PATCH 4/4] Refs #21256: Apply rev suggestions Signed-off-by: JesusPoderoso --- .github/workflows/nightly-ubuntu-ci.yml | 16 +++-- .github/workflows/reusable-ubuntu-ci.yml | 81 ++---------------------- .github/workflows/ubuntu-ci.yml | 13 ++-- 3 files changed, 25 insertions(+), 85 deletions(-) diff --git a/.github/workflows/nightly-ubuntu-ci.yml b/.github/workflows/nightly-ubuntu-ci.yml index 9cbfb2721..bcf1c71eb 100644 --- a/.github/workflows/nightly-ubuntu-ci.yml +++ b/.github/workflows/nightly-ubuntu-ci.yml @@ -1,4 +1,3 @@ - name: Fast DDS Docs Ubuntu CI (nightly) on: @@ -10,9 +9,10 @@ jobs: nightly-ubuntu-ci-master: uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@master 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. os-image: 'ubuntu-22.04' label: 'nightly-ubuntu-ci-master' - ctest-args: "-LE xfail" fastdds-docs-branch: 'master' fastdds-branch: 'master' fastdds-python-branch: 'main' @@ -23,9 +23,10 @@ jobs: nightly-ubuntu-ci-2_14_x: uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.14.x 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. os-image: 'ubuntu-22.04' label: '-nightly-ubuntu-ci-2.14.x' - ctest-args: "-LE xfail" fastdds-docs-branch: '2.14.x' fastdds-branch: '2.14.x' fastdds-python-branch: '1.4.x' @@ -36,9 +37,10 @@ jobs: nightly-ubuntu-ci-2_13_x: uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.13.x 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. os-image: 'ubuntu-22.04' label: '-nightly-ubuntu-ci-2.13.x' - ctest-args: "-LE xfail" fastdds-docs-branch: '2.13.x' fastdds-branch: '2.13.x' fastdds-python-branch: '1.4.x' @@ -49,9 +51,10 @@ jobs: nightly-ubuntu-ci-2_10_x: uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.10.x 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. os-image: 'ubuntu-22.04' label: '-nightly-ubuntu-ci-2.10.x' - ctest-args: "-LE xfail" fastdds-docs-branch: '2.10.x' fastdds-branch: '2.10.x' fastdds-python-branch: '1.2.x' @@ -62,9 +65,10 @@ jobs: nightly-ubuntu-ci-2_6_x: uses: eProsima/Fast-DDS-docs/.github/workflows/reusable-ubuntu-ci.yml@2.6.x 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. os-image: 'ubuntu-20.04' label: '-nightly-ubuntu-ci-2.6.x' - ctest-args: "-LE xfail" fastdds-docs-branch: '2.6.x' fastdds-branch: '2.6.x' fastdds-python-branch: '1.0.x' diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index daf81aea5..57bf9ce3c 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -51,13 +51,14 @@ on: required: false type: boolean default: false - +env: + build-meta: ${{ inputs.run-tests == true && './src/fastdds-docs/.github/workflows/config/build.meta ./src/fastdds-docs/.github/workflows/config/test.meta' || './src/fastdds-docs/.github/workflows/config/build.meta' }} defaults: run: shell: bash jobs: - fastdds_docs_build: + reusable-ubuntu-ci: runs-on: ${{ inputs.os-version }} if: ${{ inputs.run-build == true }} strategy: @@ -162,77 +163,8 @@ jobs: 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 }}/src/fastdds-docs/.github/workflows/config/build.meta - colcon_build_args: ${{ inputs.colcon-args }} - cmake_args: ${{ inputs.cmake-args }} - cmake_build_type: ${{ matrix.cmake-build-type }} - workspace: ${{ github.workspace }} - - - name: Upload build artifacts - uses: eProsima/eProsima-CI/external/upload-artifact@v0 - with: - name: fastdds_docs_build_${{ inputs.label }} - path: ${{ github.workspace }} - - fastdds_docs_test: - needs: fastdds_docs_build - runs-on: ${{ inputs.os-version }} - if: ${{ inputs.run-tests == true }} - strategy: - fail-fast: false - matrix: - cmake-build-type: - - 'RelWithDebInfo' - steps: - - name: Download build artifacts - uses: eProsima/eProsima-CI/external/download-artifact@v0 - with: - name: fastdds_docs_build_${{ inputs.label }} - path: ${{ github.workspace }} - - - 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 swig doxygen imagemagick plantuml - 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: 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: Setup CCache - uses: eProsima/eProsima-CI/external/setup-ccache-action@v0 - if: ${{ inputs.use-ccache == true }} - with: - api_token: ${{ secrets.GITHUB_TOKEN }} - - name: Fetch Fast DDS Docs CI dependencies + if: ${{ inputs.run-tests == true }} uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 with: vcs_repos_file: ${{ github.workspace }}/src/fastdds-docs/.github/workflows/config/test.repos @@ -243,13 +175,14 @@ jobs: continue-on-error: false uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0 with: - colcon_meta_file: ${{ github.workspace }}/src/fastdds-docs/.github/workflows/config/build.meta ${{ github.workspace }}/src/fastdds-docs/.github/workflows/config/test.meta + colcon_meta_file: ${{ env.build-meta }} colcon_build_args: ${{ inputs.colcon-args }} cmake_args: ${{ inputs.cmake-args }} cmake_build_type: ${{ matrix.cmake-build-type }} workspace: ${{ github.workspace }} - name: Colcon test + if: ${{ inputs.run-tests == true }} id: fastdds_docs_test uses: eProsima/eProsima-CI/multiplatform/colcon_test@v0 with: @@ -264,7 +197,7 @@ jobs: - name: Fast DDS Docs test summary uses: eProsima/eProsima-CI/multiplatform/junit_summary@v0 - if: ${{ !cancelled() }} + if: ${{ !cancelled() && inputs.run-tests == true }} with: junit_reports_dir: "${{ steps.fastdds_docs_test.outputs.ctest_results_path }}" print_summary: 'True' diff --git a/.github/workflows/ubuntu-ci.yml b/.github/workflows/ubuntu-ci.yml index fd291322e..03cf5da74 100644 --- a/.github/workflows/ubuntu-ci.yml +++ b/.github/workflows/ubuntu-ci.yml @@ -34,7 +34,7 @@ on: required: true type: string run-tests: - description: 'Run test suite of Fast DDS python' + description: 'Run test suite of Fast DDS Docs' required: false type: boolean default: true @@ -58,16 +58,19 @@ 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 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. os-version: ${{ inputs.os-version || 'ubuntu-22.04' }} - label: 'ubuntu-ci' + label: 'ubuntu-ci-master-main' colcon-args: ${{ inputs.colcon-args }} cmake-args: ${{ inputs.cmake-args }} ctest-args: ${{ inputs.ctest-args }} - fastdds-docs-branch: ${{ inputs.fastdds-docs-branch || github.ref || 'master' }} + fastdds-docs-branch: ${{ inputs.fastdds-docs-branch || github.ref }} fastdds-branch: ${{ inputs.fastdds-branch || 'master' }} fastdds-python-branch: ${{ inputs.fastdds-python-branch || 'main' }} - run-build: ${{ !(github.event_name == 'pull_request') && true || (!contains(github.event.pull_request.labels.*.name, 'skip-ci') && !contains(github.event.pull_request.labels.*.name, 'conflicts')) && true || false }} - run-tests: ${{ ((inputs.run-tests == true) && true) || (github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'no-test')) && true || false }} + run-build: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} + run-tests: ${{ (inputs.run-tests == true) || ((github.event_name == 'pull_request') && (!contains(github.event.pull_request.labels.*.name, 'no-test'))) }} use-ccache: ${{ inputs.use-ccache || false }}