Skip to content

Add support for store schemas in ROS 2 msg format [19866] #731

Add support for store schemas in ROS 2 msg format [19866]

Add support for store schemas in ROS 2 msg format [19866] #731

Workflow file for this run

# Main CI
# This is executed:
# - every PullRequest (new or update)
# - every merge in main
# - every night (05:00)
#
# These jobs that require to install eprosima libraries uses the artifact generated for eprosima-CI nightly
# so they do not have to compile the whole project. This saves huge amount of time.
#
# JOBS:
#
# - multiplatform-tests
# - [ ubuntu-22.04 | ubuntu-20.04 | windows-2019 | windows-2022 ]
# - [ Debug | Release ]
# - execute tests in different versions of ubuntu with different build types
#
# - asan
# - ubuntu-22.04
# - execute tests with ASAN flag
#
# - tsan
# - ubuntu-22.04
# - execute tests with TSAN flag
#
# - clang
# - ubuntu-22.04
# - execute clang-tidy check
#
# - coverage
# - ubuntu-22.04
# - execute test with coverage flag and upload results
#
# - flaky
# - ubuntu-22.04
# - execute flaky tests
#
# - docs
# - ubuntu-22.04
# - execute docs compile and tests
#
# - uncrustify
# - ubuntu-22.04
# - test uncrustify
#
# - python-linter
# - ubuntu-22.04
# - test python linter
#
# TODO: when merge CI in eprosima-CI repository, the jparisu fork must change for eProsima in actions.
#
# TODO: Add Windows CI
#
name: test
on:
workflow_dispatch:
inputs:
dependencies_artifact_postfix:
description: 'Postfix name to add to artifact name to download dependencies. This is use to download a specific artifact version from eProsima-CI.'
required: true
default: '_nightly'
pull_request:
push:
branches:
- main
schedule:
- cron: '0 5 * * *'
env:
# TODO: controller is not tested as it has no tests
code_packages_names: 'ddsrecorder_participants ddsrecorder_yaml ddsrecorder_tool ddsreplayer_tool'
docs_packages_names: 'ddsrecorder_docs'
default_dependencies_artifact_postfix: '_nightly'
jobs:
# #####################################################################
# # TEST
# multiplatform-tests:
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# cmake_build_type:
# - Release
# - Debug
# os:
# - ubuntu-20.04
# - ubuntu-22.04
# - windows-2019
# - windows-2022
# steps:
# - name: Sync repository
# uses: eProsima/eProsima-CI/external/checkout@v0
# with:
# path: src
# - name: Download dependencies and install requirements
# uses: ./src/.github/actions/project_dependencies
# with:
# os: ${{ matrix.os }}
# cmake_build_type: ${{ matrix.cmake_build_type }}
# dependencies_artifact_postfix: ${{ github.event.inputs.dependencies_artifact_postfix || env.default_dependencies_artifact_postfix }}
# secret_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Compile and run tests
# uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@v0
# with:
# packages_names: ${{ env.code_packages_names }}
# cmake_args: -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }}
# workspace_dependencies: './install'
# ctest_args: --label-exclude "xfail"
# colcon_meta_file: ./src/.github/workflows/configurations/${{ runner.os }}/colcon.meta
# colcon_test_args: '--executor=sequential' # TODO remove when available in eProsima-CI
# #####################################################################
# # ASAN
# asan:
# runs-on: ubuntu-22.04
# steps:
# - name: Sync repository
# uses: eProsima/eProsima-CI/external/checkout@v0
# with:
# path: src
# - name: Download dependencies and install requirements
# uses: ./src/.github/actions/project_dependencies
# with:
# os: ubuntu-22.04
# cmake_build_type: Debug
# dependencies_artifact_postfix: ${{ github.event.inputs.dependencies_artifact_postfix || env.default_dependencies_artifact_postfix }}
# secret_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Compile and run tests
# uses: eProsima/eProsima-CI/multiplatform/asan_build_test@v0
# with:
# packages_names: ${{ env.code_packages_names }}
# workspace_dependencies: './install'
#####################################################################
# TSAN
tsan:
runs-on: ubuntu-22.04
steps:
- name: Sync repository
uses: eProsima/eProsima-CI/external/checkout@v0
with:
path: src
- name: Download dependencies and install requirements
uses: ./src/.github/actions/project_dependencies
with:
os: ubuntu-22.04
cmake_build_type: Debug
dependencies_artifact_postfix: ${{ github.event.inputs.dependencies_artifact_postfix || env.default_dependencies_artifact_postfix }}
secret_token: ${{ secrets.GITHUB_TOKEN }}
- name: Compile and run tests
uses: eProsima/eProsima-CI/multiplatform/tsan_build_test@v0
with:
packages_names: ${{ env.code_packages_names }}
workspace_dependencies: './install'
# #####################################################################
# # CLANG
# clang:
# runs-on: ubuntu-22.04
# steps:
# - name: Sync repository
# uses: eProsima/eProsima-CI/external/checkout@v0
# with:
# path: src
# - name: Download dependencies and install requirements
# uses: ./src/.github/actions/project_dependencies
# with:
# os: ubuntu-22.04
# cmake_build_type: Debug
# dependencies_artifact_postfix: ${{ github.event.inputs.dependencies_artifact_postfix || env.default_dependencies_artifact_postfix }}
# secret_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Compile and run tests
# uses: eProsima/eProsima-CI/multiplatform/clang_build_test@v0
# with:
# packages_names: ${{ env.code_packages_names }}
# workspace_dependencies: './install'
# #####################################################################
# # COVERAGE
# coverage:
# runs-on: ubuntu-22.04
# environment:
# name: codecov
# steps:
# - name: Sync repository
# uses: eProsima/eProsima-CI/external/checkout@v0
# with:
# path: src
# - name: Download dependencies and install requirements
# uses: ./src/.github/actions/project_dependencies
# with:
# os: ubuntu-22.04
# cmake_build_type: Release
# dependencies_artifact_postfix: ${{ github.event.inputs.dependencies_artifact_postfix || env.default_dependencies_artifact_postfix }}
# secret_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Compile and run tests
# uses: eProsima/eProsima-CI/ubuntu/coverage_build_test_upload@v0
# with:
# packages_names: ${{ env.code_packages_names }}
# workspace_dependencies: './install'
# codecov_token: ${{ secrets.CODECOV_TOKEN }}
# codecov_fix_file_path: ./src/codecov.yml
# #####################################################################
# # FLAKY
# flaky:
# runs-on: ubuntu-22.04
# steps:
# - name: Sync repository
# uses: eProsima/eProsima-CI/external/checkout@v0
# with:
# path: src
# - name: Download dependencies and install requirements
# uses: ./src/.github/actions/project_dependencies
# with:
# os: ubuntu-22.04
# cmake_build_type: Release
# dependencies_artifact_postfix: ${{ github.event.inputs.dependencies_artifact_postfix || env.default_dependencies_artifact_postfix }}
# secret_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Compile and run tests
# uses: eProsima/eProsima-CI/multiplatform/colcon_build_test_flaky@v0
# with:
# packages_names: ${{ env.code_packages_names }}
# workspace_dependencies: './install'
# #####################################################################
# # DOCUMENTATION TEST
# docs:
# runs-on: ubuntu-22.04
# steps:
# - name: Build and test documentation
# uses: eProsima/eProsima-CI/ubuntu/sphinx_docs@v0
# with:
# docs_subpackage_name: ${{ env.docs_packages_names }}
# secret_token: ${{ secrets.GITHUB_TOKEN }}
# #####################################################################
# # UNCRUSTIFY
# uncrustify:
# runs-on: ubuntu-22.04
# steps:
# - name: Uncrustify
# uses: eProsima/eProsima-CI/ubuntu/uncrustify@v0
# #####################################################################
# # PYTHON LINTER
# python-linter:
# runs-on: ubuntu-22.04
# steps:
# - name: Python Linter
# uses: eProsima/eProsima-CI/ubuntu/python_linter@v0