Update documentation [21008] #1637
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: 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 1 * * *' | |
env: | |
code_packages_names: 'amlip_cpp amlip_swig amlip_py amlip_agent' | |
docs_packages_names: 'amlip_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 | |
id: compile_and_test | |
uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@main | |
with: | |
colcon_meta_file: ${{ github.workspace }}/src/.github/workflows/configurations/${{ runner.os }}/colcon.meta | |
packages_names: ${{ env.code_packages_names }} | |
cmake_build_type: ${{ matrix.cmake_build_type }} | |
cmake_args: -DBUILD_TESTS=ON | |
ctest_args: --label-exclude "xfail" | |
workspace: ${{ github.workspace }} | |
workspace_dependencies: ${{ github.workspace }}/install | |
- name: Test Report | |
uses: eProsima/eProsima-CI/external/test-reporter@main | |
if: success() || failure() | |
with: | |
name: "Report: ${{ matrix.os }} | ${{ matrix.cmake_build_type }} " | |
path: "${{ steps.compile_and_test.outputs.ctest_results_path }}*.xml" | |
working-directory: 'src' | |
path-replace-backslashes: 'true' | |
list-tests: 'failed' | |
# NOTE: Windows does not support Python API | |
##################################################################### | |
# DOCUMENTATION TEST | |
ubuntu-test-documentation: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Build and test documentation | |
uses: eProsima/eProsima-CI/ubuntu/sphinx_docs@main | |
with: | |
checkout_path: "${{ github.workspace }}/src/amlip" | |
path_to_requirements: "${{ github.workspace }}/src/amlip/amlip_docs/requirements.txt" | |
docs_subpackage_name: ${{ env.docs_packages_names }} | |
secret_token: ${{ secrets.GITHUB_TOKEN }} | |
##################################################################### | |
# FLAKY | |
ubuntu-build-test-flaky: | |
runs-on: ubuntu-latest | |
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 | |
id: compile_and_test | |
uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@main | |
with: | |
packages_names: ${{ env.code_packages_names }} | |
cmake_build_type: Release | |
cmake_args: -DBUILD_TESTS=ON | |
ctest_args: --label-regex "xfail" | |
workspace: ${{ github.workspace }} | |
workspace_dependencies: ${{ github.workspace }}/install | |
- name: Test Report | |
uses: eProsima/eProsima-CI/external/test-reporter@main | |
if: success() || failure() | |
with: | |
name: "Report: Flaky " | |
path: "${{ steps.compile_and_test.outputs.ctest_results_path }}*.xml" | |
working-directory: 'src' | |
fail-on-empty: 'false' | |
list-tests: 'failed' | |
##################################################################### | |
# ASAN | |
asan-test: | |
runs-on: ubuntu-latest | |
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 | |
id: compile_and_test | |
uses: eProsima/eProsima-CI/multiplatform/asan_build_test@main | |
with: | |
packages_names: amlip_cpp amlip_agent | |
workspace: ${{ github.workspace }} | |
workspace_dependencies: ${{ github.workspace }}/install | |
- name: Test Report | |
uses: eProsima/eProsima-CI/external/test-reporter@main | |
if: success() || failure() | |
with: | |
name: "Report: ASAN " | |
path: "${{ steps.compile_and_test.outputs.ctest_results_path }}*.xml" | |
working-directory: 'src' | |
list-tests: 'failed' | |
##################################################################### | |
# CLANG | |
clang-tidy: | |
runs-on: ubuntu-latest | |
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/clang_build_test@v0 | |
with: | |
packages_names: ${{ env.code_packages_names }} | |
workspace: ${{ github.workspace }} | |
workspace_dependencies: ${{ github.workspace }}/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@main | |
with: | |
packages_names: ${{ env.code_packages_names }} | |
workspace: ${{ github.workspace }} | |
workspace_dependencies: ${{ github.workspace }}/install | |
codecov_token: ${{ secrets.CODECOV_TOKEN }} | |
codecov_fix_file_path: ${{ github.workspace }}/src/codecov.yml | |
##################################################################### | |
# UNCRUSTIFY | |
uncrustify: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Uncrustify | |
uses: eProsima/eProsima-CI/ubuntu/uncrustify@v0 | |
##################################################################### | |
# PYTHON LINTER | |
python-linter: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Python Linter | |
uses: eProsima/eProsima-CI/ubuntu/python_linter@v0 |