Skip to content
Open
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
61 changes: 0 additions & 61 deletions .github/actions/ros-apt-source/action.yml

This file was deleted.

85 changes: 20 additions & 65 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ jobs:
matrix:
include:
- ros_distro: humble
os_image: ubuntu:jammy
os_image: ros:humble-ros-base
- ros_distro: lyrical
os_image: ubuntu:resolute
os_image: ros:lyrical-ros-base
container:
image: ${{ matrix.os_image }}
# A container gets 64 MB of /dev/shm by default, which is Docker's number and
Expand All @@ -39,24 +39,13 @@ jobs:
shell: bash

steps:
- name: Install Git
run: |
apt-get update
apt-get install -y git

- name: Checkout repository
uses: actions/checkout@v4

- name: Pre-install ROS 2 apt source
uses: ./.github/actions/ros-apt-source

- name: Set up ROS 2 ${{ matrix.ros_distro }}
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: ${{ matrix.ros_distro }}

- name: Install ccache
run: apt-get install -y ccache
run: |
apt-get update
apt-get install -y ccache

- name: Cache ccache
uses: actions/cache@v4
Expand Down Expand Up @@ -169,15 +158,15 @@ jobs:
matrix:
include:
- ros_distro: humble
os_image: ubuntu:jammy
os_image: ros:humble-ros-base
# build-and-test compiles the same sources with the same flags on this
# distro, so its cache is the superset this job restores from.
ccache_prefix: ccache-humble-
- ros_distro: lyrical
os_image: ubuntu:resolute
os_image: ros:lyrical-ros-base
ccache_prefix: ccache-lyrical-
- ros_distro: jazzy
os_image: ubuntu:noble
os_image: ros:jazzy-ros-base
# ccache-jazzy-test-, not ccache-jazzy-. The shorter prefix also matches
# ccache-jazzy-asan-, -tsan-, -lint- and -tidy-, and restore-keys takes the
# most recently created match, so it would restore whichever other Jazzy job
Expand All @@ -198,24 +187,13 @@ jobs:
shell: bash

steps:
- name: Install Git
run: |
apt-get update
apt-get install -y git

- name: Checkout repository
uses: actions/checkout@v4

- name: Pre-install ROS 2 apt source
uses: ./.github/actions/ros-apt-source

- name: Set up ROS 2 ${{ matrix.ros_distro }}
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: ${{ matrix.ros_distro }}

- name: Install ccache
run: apt-get install -y ccache
run: |
apt-get update
apt-get install -y ccache

- name: Restore ccache
# Restore, never save. This job compiles a subset of the sources the distro's own
Expand Down Expand Up @@ -312,7 +290,7 @@ jobs:
jazzy-test:
runs-on: ubuntu-latest
container:
image: ubuntu:noble
image: ros:jazzy-ros-base
# A container gets 64 MB of /dev/shm by default, which is Docker's number and
# not a considered one. Fast DDS puts a 512 KB segment plus port files there
# per participant - measured at ~0.65 MB - and a participant killed rather
Expand All @@ -330,24 +308,13 @@ jobs:
shell: bash

steps:
- name: Install Git
run: |
apt-get update
apt-get install -y git

- name: Checkout repository
uses: actions/checkout@v4

- name: Pre-install ROS 2 apt source
uses: ./.github/actions/ros-apt-source

- name: Set up ROS 2 Jazzy
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: jazzy

- name: Install ccache

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One correction to the body, not the code: the image's rosdep sources cache is never reused in Actions. Container jobs run with HOME=/github/home, so the rosdep update step below still fetches base.yaml, python.yaml and index-v4.yaml from raw.githubusercontent.com on every job (jazzy-test log lines 411-438, updated cache in /github/home/.ros/rosdep/sources.cache). What is gone is rosdep init and the 20-default.list download, and the remaining fetch sits inside the 3x retry loop, so the title holds. Worth rewording the body so nobody later removes the retry on the strength of it. Also: coverage and coverage-merge only run on main pushes, so that half of the change is unexercised until the first push; what they need is there (lcov installed, gcov in the image, gpg kept in the merge job).

run: apt-get install -y ccache
run: |
apt-get update
apt-get install -y ccache

- name: Cache ccache
uses: actions/cache@v4
Expand Down Expand Up @@ -484,7 +451,7 @@ jobs:
# and a job-level kill stops every remaining step, `if: always()` included, so
# there is nothing a guard could report.
container:
image: ubuntu:noble
image: ros:jazzy-ros-base
# A container gets 64 MB of /dev/shm by default, which is Docker's number and
# not a considered one. Fast DDS puts a 512 KB segment plus port files there
# per participant - measured at ~0.65 MB - and a participant killed rather
Expand All @@ -498,24 +465,13 @@ jobs:
shell: bash

steps:
- name: Install Git
run: |
apt-get update
apt-get install -y git

- name: Checkout repository
uses: actions/checkout@v4

- name: Pre-install ROS 2 apt source
uses: ./.github/actions/ros-apt-source

- name: Set up ROS 2 Jazzy
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: jazzy

- name: Install ccache
run: apt-get install -y ccache
run: |
apt-get update
apt-get install -y ccache

- name: Cache ccache
uses: actions/cache@v4
Expand All @@ -533,8 +489,7 @@ jobs:
- name: Install dependencies
run: |
apt-get update
# gpg is required by codecov/codecov-action@v5 dependency check
apt-get install -y lcov ros-jazzy-test-msgs gpg
apt-get install -y lcov ros-jazzy-test-msgs
source /opt/ros/jazzy/setup.bash
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
Expand Down
42 changes: 10 additions & 32 deletions .github/workflows/opcua-plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ jobs:
matrix:
include:
- ros_distro: humble
os_image: ubuntu:jammy
os_image: ros:humble-ros-base
- ros_distro: jazzy
os_image: ubuntu:noble
os_image: ros:jazzy-ros-base
- ros_distro: lyrical
os_image: ubuntu:resolute
os_image: ros:lyrical-ros-base
continue-on-error: ${{ matrix.ros_distro == 'lyrical' }}
container:
image: ${{ matrix.os_image }}
Expand All @@ -53,24 +53,13 @@ jobs:
run:
shell: bash
steps:
- name: Install Git
run: |
apt-get update
apt-get install -y git

- name: Checkout repository
uses: actions/checkout@v4

- name: Pre-install ROS 2 apt source
uses: ./.github/actions/ros-apt-source

- name: Set up ROS 2 ${{ matrix.ros_distro }}
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: ${{ matrix.ros_distro }}

- name: Install ccache
run: apt-get install -y ccache
run: |
apt-get update
apt-get install -y ccache

- name: Cache ccache
uses: actions/cache@v4
Expand Down Expand Up @@ -268,30 +257,19 @@ jobs:
# skipping with CTest code 77.
runs-on: ubuntu-latest
container:
image: ubuntu:noble
image: ros:jazzy-ros-base
timeout-minutes: 60
defaults:
run:
shell: bash
steps:
- name: Install Git
run: |
apt-get update
apt-get install -y git

- name: Checkout repository
uses: actions/checkout@v4

- name: Pre-install ROS 2 apt source
uses: ./.github/actions/ros-apt-source

- name: Set up ROS 2 jazzy
uses: ros-tooling/setup-ros@v0.7
with:
required-ros-distributions: jazzy

- name: Install ccache
run: apt-get install -y ccache
run: |
apt-get update
apt-get install -y ccache

- name: Cache ccache
uses: actions/cache@v4
Expand Down
Loading
Loading