Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/actions/ros-apt-source/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,13 @@ runs:
url="https://github.com/ros-infrastructure/ros-apt-source/releases/download/${version}/${deb}"

echo "Installing ${deb} (ros-apt-source ${version}, ${codename})"
curl --fail --location --retry 5 --retry-delay 3 -o "/tmp/${deb}" "${url}"
# This download has no fallback: the version lookup above can fall back to
# a pin, but a 5xx on the release asset itself ends the job. The retry
# window is therefore minutes rather than seconds, so a short outage on
# the release host is waited out instead of failing every job that starts
# during it.
curl --fail --location --retry 8 --retry-delay 15 --retry-max-time 180 \
-o "/tmp/${deb}" "${url}"
$SUDO dpkg -i "/tmp/${deb}"
rm -f "/tmp/${deb}"
$SUDO apt-get update
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
apt-get install -y ros-humble-rmw-cyclonedds-cpp
fi
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
# Linters (clang-tidy / clang-format) only run in the Jazzy quality
# job (quality.yml). Multiple package.xml files still list them as
# <test_depend>, so we skip the rosdep keys here to keep build-and-
Expand Down Expand Up @@ -238,7 +238,7 @@ jobs:
apt-get install -y ros-${{ matrix.ros_distro }}-rmw-cyclonedds-cpp
fi
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
# Same skip-keys as build-and-test: the linters run only in the Jazzy quality job.
rosdep install --from-paths src --ignore-src -y \
--skip-keys "ament_cmake_clang_tidy ament_cmake_clang_format"
Expand Down Expand Up @@ -371,7 +371,7 @@ jobs:
ros-jazzy-test-msgs \
ros-jazzy-rmw-cyclonedds-cpp
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y

- name: Build packages
Expand Down Expand Up @@ -536,7 +536,7 @@ jobs:
# gpg is required by codecov/codecov-action@v5 dependency check
apt-get install -y lcov ros-jazzy-test-msgs gpg
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -r -y

- name: Build packages with coverage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/opcua-plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
apt-get update
apt-get install -y ros-${{ matrix.ros_distro }}-test-msgs libyaml-cpp-dev libssl-dev
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
# Skip nav2_msgs (vda5050_agent declares it; not available on all
# distros) and the linter rosdep keys. Linters only run in the Jazzy
# quality job, so we don't need them installed here. The upstream
Expand Down Expand Up @@ -308,7 +308,7 @@ jobs:
# the plugin's open62541pp and the fixture's static open62541.
apt-get install -y ros-jazzy-test-msgs libyaml-cpp-dev libssl-dev openssl
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y \
--skip-keys='nav2_msgs ament_cmake_clang_format ament_cmake_clang_tidy'

Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
apt-get update
apt-get install -y clang-format ccache
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y

- name: Cache ccache
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
- name: Install clang-tidy-cache (ctcache)
run: |
apt-get install -y python3-pip
pip3 install --break-system-packages git+https://github.com/matus-chochlik/ctcache.git@3880541496c7ce0d2e2830d2f525375078fe0b1f
for attempt in 1 2 3; do pip3 install --break-system-packages git+https://github.com/matus-chochlik/ctcache.git@3880541496c7ce0d2e2830d2f525375078fe0b1f && break; [ "$attempt" = 3 ] && exit 1; echo "ctcache install attempt $attempt failed, retrying" >&2; sleep 5; done
printf '#!/bin/sh\nexec clang-tidy-cache /usr/bin/clang-tidy "$@"\n' > /usr/local/bin/ctcache-wrapper
chmod +x /usr/local/bin/ctcache-wrapper

Expand All @@ -163,7 +163,7 @@ jobs:
apt-get update
apt-get install -y ros-jazzy-test-msgs
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y

- name: Build (compile database only, no clang-tidy)
Expand Down Expand Up @@ -295,7 +295,7 @@ jobs:
apt-get update
apt-get install -y ros-jazzy-test-msgs
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y

- name: Redirect heavy build output to /mnt
Expand Down Expand Up @@ -449,7 +449,7 @@ jobs:
apt-get update
apt-get install -y ros-jazzy-test-msgs
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y

- name: Redirect heavy build output to /mnt
Expand Down Expand Up @@ -601,7 +601,7 @@ jobs:
apt-get update
apt-get install -y ros-jazzy-test-msgs
source /opt/ros/jazzy/setup.bash
rosdep update
for attempt in 1 2 3; do rosdep update && break; [ "$attempt" = 3 ] && exit 1; echo "rosdep update attempt $attempt failed, retrying" >&2; sleep 5; done
rosdep install --from-paths src --ignore-src -y

- name: Redirect heavy build output to /mnt
Expand Down
Loading