From 3bf34b4fb0444e091f20c368ecb7cad97ec4ace2 Mon Sep 17 00:00:00 2001 From: David Laseca Perez Date: Fri, 11 Sep 2026 12:55:00 +0200 Subject: [PATCH 1/2] Update CI (#71) * Bump CI actions Signed-off-by: David Laseca Perez * Fix codecov Signed-off-by: David Laseca Perez * Fix codecov 2 Signed-off-by: David Laseca Perez * Remove coverage from nightly Signed-off-by: David Laseca Perez * Update CI Signed-off-by: David Laseca Perez * Set 'rolling' to 'ubuntu:24' Signed-off-by: David Laseca Perez * Fix coverage 3 Signed-off-by: David Laseca Perez * Fix coverage 4 Signed-off-by: David Laseca Perez * Clean debugging options Signed-off-by: David Laseca Perez --------- Signed-off-by: David Laseca Perez (cherry picked from commit 383fc6d0054863a5fd79276e96f7bf9cf6cc1efe) # Conflicts: # .github/workflows/nightly.yml --- .github/workflows/ci.yml | 44 +++++++++++++++++++++++++++++++---- .github/workflows/nightly.yml | 25 ++++++++++---------- 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 389e957..4bb0386 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,9 @@ name: CI micro_ros_utilities on: + push: + branches: + - rolling pull_request: branches: - '**' @@ -20,15 +23,19 @@ jobs: ros_distribution: kilted container: image: ${{ matrix.docker_image }} + steps: - - uses: actions/checkout@v3 - - uses: ros-tooling/setup-ros@0.7.13 + - uses: actions/checkout@v7 + + - uses: ros-tooling/setup-ros@0.7.19 with: required-ros-distributions: ${{ matrix.ros_distribution }} - - uses : ros-tooling/action-ros-ci@0.4.3 + + - uses : ros-tooling/action-ros-ci@0.4.8 with: package-name: "micro_ros_utilities" target-ros2-distro: ${{ matrix.ros_distribution }} + coverage-result: false colcon-defaults: | { "build": { @@ -36,6 +43,33 @@ jobs: } } colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml - - uses: codecov/codecov-action@v1 + + - name: Coverage results + working-directory: ros_ws + run: | + . /opt/ros/${{ matrix.ros_distribution }}/setup.sh + + colcon lcov-result --initial --lcov-args="--ignore-errors=mismatch" + colcon lcov-result --packages-select micro_ros_utilities --lcov-args="--ignore-errors=mismatch" + test -s lcov/total_coverage.info + + # Headers may have no instrumented code, leaving their pattern unused. + lcov --branch-coverage --ignore-errors unused --extract lcov/total_coverage.info \ + '*/micro_ros_utilities/src/*' \ + '*/micro_ros_utilities/include/*' \ + --output-file lcov/micro_ros_utilities_coverage.info + + test -s lcov/micro_ros_utilities_coverage.info + # --ignore-errors unused means lcov stays quiet if 'src/*' also stops + # matching, so assert both library sources actually survived the extract. + test "$(grep -c '^SF:' lcov/micro_ros_utilities_coverage.info)" -ge 2 + + - run: apt-get update && apt-get install -y gnupg # Needed for codecov action + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v5 with: - file: ros_ws/lcov/total_coverage.info + files: ros_ws/lcov/micro_ros_utilities_coverage.info + disable_search: true + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index c8a08a4..98b3a0e 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -18,6 +18,11 @@ jobs: include: - docker_image: ubuntu:24.04 ros_distribution: rolling +<<<<<<< HEAD +======= + - docker_image: ubuntu:26.04 + ros_distribution: lyrical +>>>>>>> 383fc6d (Update CI (#71)) - docker_image: ubuntu:24.04 ros_distribution: kilted - docker_image: ubuntu:24.04 @@ -26,22 +31,16 @@ jobs: ros_distribution: humble container: image: ${{ matrix.docker_image }} + steps: - - uses: actions/checkout@v3 - - uses: ros-tooling/setup-ros@0.7.13 + - uses: actions/checkout@v7 + + - uses: ros-tooling/setup-ros@0.7.19 with: required-ros-distributions: ${{ matrix.ros_distribution }} - - uses : ros-tooling/action-ros-ci@0.4.3 + + - uses : ros-tooling/action-ros-ci@0.4.8 with: package-name: "micro_ros_utilities" target-ros2-distro: ${{ matrix.ros_distribution }} - colcon-defaults: | - { - "build": { - "mixin": [ "coverage-gcc" ] - } - } - colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml - - uses: codecov/codecov-action@v1 - with: - file: ros_ws/lcov/total_coverage.info + coverage-result: false From 28de8c1aae30e295469ee7ef8c4e58b95100d854 Mon Sep 17 00:00:00 2001 From: David Laseca Perez Date: Fri, 11 Sep 2026 13:03:39 +0200 Subject: [PATCH 2/2] Adapt CI for kilted Signed-off-by: David Laseca Perez --- .github/workflows/ci.yml | 2 +- .github/workflows/nightly.yml | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4bb0386..ee8a634 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,7 @@ name: CI micro_ros_utilities on: push: branches: - - rolling + - kilted pull_request: branches: - '**' diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 98b3a0e..3605e2b 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -18,11 +18,8 @@ jobs: include: - docker_image: ubuntu:24.04 ros_distribution: rolling -<<<<<<< HEAD -======= - docker_image: ubuntu:26.04 ros_distribution: lyrical ->>>>>>> 383fc6d (Update CI (#71)) - docker_image: ubuntu:24.04 ros_distribution: kilted - docker_image: ubuntu:24.04