Fix issue with Fast DDS and Fast DDS python deduced branches (#838) #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Fast DDS Docs Ubuntu CI reusable workflow | ||
on: | ||
workflow_call: | ||
inputs: | ||
os-version: | ||
description: 'The OS image for the workflow' | ||
required: false | ||
default: 'ubuntu-20.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 | ||
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: | ||
reusable-ubuntu-ci: | ||
runs-on: ${{ inputs.os-version }} | ||
if: ${{ inputs.run-build == true }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
cmake-build-type: | ||
- 'RelWithDebInfo' | ||
steps: | ||
- name: Add ci-pending label if PR | ||
if: ${{ github.event_name == 'pull_request' }} | ||
uses: eProsima/eProsima-CI/external/add_labels@v0 | ||
with: | ||
labels: ci-pending | ||
number: ${{ github.event.number }} | ||
repo: eProsima/Fast-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 deduced Fast DDS repository content | ||
uses: eProsima/eProsima-CI/external/checkout@v0 | ||
with: | ||
<<<<<<< HEAD | ||
source_repository_branch: ${{ steps.get_fastdds_branch.outputs.deduced_branch }} | ||
source_repository: eProsima/Fast-DDS | ||
file_name: fastrtps.repos | ||
file_result: ${{ github.workspace }}/fastrtps.repos | ||
======= | ||
repository: eProsima/Fast-DDS | ||
ref: ${{ steps.get_fastdds_branch.outputs.deduced_branch }} | ||
path: ${{ github.workspace }}/src/fastdds | ||
>>>>>>> 6a53b9e (Fix issue with Fast DDS and Fast DDS python deduced branches (#838)) | ||
- name: Fetch Fast DDS dependencies | ||
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0 | ||
with: | ||
<<<<<<< HEAD | ||
vcs_repos_file: ${{ github.workspace }}/fastrtps.repos | ||
======= | ||
vcs_repos_file: ${{ github.workspace }}/src/fastdds/fastdds.repos | ||
>>>>>>> 6a53b9e (Fix issue with Fast DDS and Fast DDS python deduced branches (#838)) | ||
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 }} | ||
<<<<<<< HEAD | ||
- name: Obtain Fast DDS Python dependencies | ||
uses: eProsima/eProsima-CI/external/checkout@v0 | ||
with: | ||
path: src/fastdds_python | ||
repository: eProsima/Fast-DDS-python | ||
ref: ${{ steps.get_fastdds_python_branch.outputs.deduced_branch }} | ||
======= | ||
- name: Obtain deduced Fast DDS Python repository content | ||
uses: eProsima/eProsima-CI/external/checkout@v0 | ||
with: | ||
repository: eProsima/Fast-DDS-python | ||
ref: ${{ steps.get_fastdds_python_branch.outputs.deduced_branch }} | ||
path: ${{ github.workspace }}/src/fastdds_python | ||
>>>>>>> 6a53b9e (Fix issue with Fast DDS and Fast DDS python deduced branches (#838)) | ||
- 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 | ||
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: ${{ 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: | ||
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() && inputs.run-tests == true }} | ||
with: | ||
junit_reports_dir: "${{ steps.fastdds_docs_test.outputs.ctest_results_path }}" | ||
print_summary: 'True' | ||
show_failed: 'True' | ||
show_disabled: 'False' | ||
show_skipped: 'False' |