variables: DOCKER_DRIVER: overlay2 PACKAGES_LIST: tracetools_analysis ros2trace_analysis BASE_IMAGE_ID: registry.gitlab.com/ros-tracing/ci_base DISTRO: rolling ROS2TRACING_BRANCH: rolling stages: - build - test - report .before_script_build: &before_script_build before_script: - . /root/ws/install/local_setup.sh - python3 get_branch.py --check - git clone https://gitlab.com/ros-tracing/ros2_tracing.git --branch $(python3 get_branch.py) .build_artifacts: &build_artifacts artifacts: paths: - install/ - build/ .test_artifacts: &test_artifacts artifacts: paths: - build/*/test_results/*/*.xunit.xml - build/*/pytest.xml reports: junit: - build/*/test_results/*/*.xunit.xml - build/*/pytest.xml build: stage: build image: $BASE_IMAGE_ID:$DISTRO <<: *before_script_build script: - lttng --version && apt list lttng-tools liblttng-ust-dev python3-lttng python3-babeltrace - colcon build --symlink-install --event-handlers console_cohesion+ --packages-up-to $PACKAGES_LIST <<: *build_artifacts test: stage: test image: $BASE_IMAGE_ID:$DISTRO needs: - build dependencies: - build <<: *before_script_build script: - colcon test --event-handlers console_cohesion+ --packages-select $PACKAGES_LIST - colcon test-result --all --verbose <<: *test_artifacts coverage: stage: report image: $BASE_IMAGE_ID:$DISTRO needs: - test <<: *before_script_build script: - colcon build --symlink-install --event-handlers console_cohesion+ --packages-up-to $PACKAGES_LIST --mixin coverage-pytest --cmake-args -DBUILD_TESTING=ON --no-warn-unused-cli - colcon test --event-handlers console_cohesion+ --packages-select $PACKAGES_LIST --mixin coverage-pytest - colcon test-result --all --verbose - colcon coveragepy-result --packages-select $PACKAGES_LIST --verbose --coverage-report-args -m - pip3 install -U codecov - codecov --file coveragepy/.coverage allow_failure: true dco: stage: report image: $BASE_IMAGE_ID:$DISTRO-base script: - pip3 install -U dco-check - dco-check --verbose trigger_gen_docs: stage: report only: refs: - rolling trigger: ros-tracing/tracetools_analysis-api