From 86975b42da713b414cd8a384cfb00d4fb3b1d823 Mon Sep 17 00:00:00 2001 From: Christian Rauch Date: Mon, 16 Dec 2024 21:48:33 +0100 Subject: [PATCH 1/4] replace virtual environment with PIP_BREAK_SYSTEM_PACKAGES --- .github/workflows/main.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 61683a3a..72fb5903 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,6 +21,8 @@ jobs: container: image: ubuntu:${{ matrix.version }} + env: + PIP_BREAK_SYSTEM_PACKAGES: 1 steps: - name: fetch source @@ -31,10 +33,7 @@ jobs: - name: colcon lint dependencies run: | - apt install -y python3-venv apt install -y apt-rdepends ros-${{ matrix.distribution }}-launch-ros - python3 -m venv ~/.venvs/dev - . ~/.venvs/dev/bin/activate pip install lark pip install colcon-lint @@ -56,5 +55,4 @@ jobs: working-directory: ${{ steps.action_ros_ci.outputs.ros-workspace-directory-name }} run: | . install/setup.sh - . ~/.venvs/dev/bin/activate colcon lint From fecec77647727bb309f709de443cb8345ff7332e Mon Sep 17 00:00:00 2001 From: Christian Rauch Date: Mon, 16 Dec 2024 21:52:40 +0100 Subject: [PATCH 2/4] remove dedicated linting via third-party colcon lint --- .github/workflows/main.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 72fb5903..97da3fd0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,15 +31,8 @@ jobs: - name: install ROS2 ${{ matrix.distribution }} uses: ros-tooling/setup-ros@v0.7 - - name: colcon lint dependencies - run: | - apt install -y apt-rdepends ros-${{ matrix.distribution }}-launch-ros - pip install lark - pip install colcon-lint - - name: build and test uses: ros-tooling/action-ros-ci@v0.3 - id: action_ros_ci with: package-name: camera_ros target-ros2-distro: ${{ matrix.distribution }} @@ -50,9 +43,3 @@ jobs: } } colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/5d51dff38097e8c2bf46d7a5b804e65935aa7f47/index.yaml - - - name: colcon lint - working-directory: ${{ steps.action_ros_ci.outputs.ros-workspace-directory-name }} - run: | - . install/setup.sh - colcon lint From 658696dc4d170c2afec7efa9f1c73a8e28633725 Mon Sep 17 00:00:00 2001 From: Christian Rauch Date: Tue, 17 Dec 2024 20:57:10 +0100 Subject: [PATCH 3/4] remove unused checkout --- .github/workflows/main.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 97da3fd0..85f312c2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,9 +25,6 @@ jobs: PIP_BREAK_SYSTEM_PACKAGES: 1 steps: - - name: fetch source - uses: actions/checkout@v4 - - name: install ROS2 ${{ matrix.distribution }} uses: ros-tooling/setup-ros@v0.7 From 8119e6832384bfb53cf1a0b01c997228bd95e6dd Mon Sep 17 00:00:00 2001 From: Christian Rauch Date: Mon, 16 Dec 2024 21:35:46 +0100 Subject: [PATCH 4/4] add AlmaLinux to CI --- .github/workflows/main.yml | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 85f312c2..2be5333b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: camera_ros build +name: colcon on: pull_request: @@ -7,32 +7,45 @@ on: jobs: build: - name: camera_ros (${{ matrix.distribution }}) + name: "${{ matrix.distribution }} (${{ matrix.ros }})" runs-on: ubuntu-latest strategy: matrix: include: - - version: 22.04 - distribution: humble - - version: 24.04 - distribution: jazzy - continue-on-error: ${{ matrix.distribution == 'rolling' }} + - distribution: ubuntu + version: 22.04 + ros: humble + + - distribution: ubuntu + version: 24.04 + ros: jazzy + + - distribution: almalinux + version: 9 + ros: jazzy + + continue-on-error: ${{ matrix.ros == 'rolling' }} container: - image: ubuntu:${{ matrix.version }} + image: ${{ matrix.distribution }}:${{ matrix.version }} env: PIP_BREAK_SYSTEM_PACKAGES: 1 steps: - - name: install ROS2 ${{ matrix.distribution }} + - name: install ROS 2 uses: ros-tooling/setup-ros@v0.7 + - name: build and test dependencies (almalinux) + if: ${{ matrix.distribution == 'almalinux'}} + run: | + dnf -y install libasan python3-mypy + - name: build and test uses: ros-tooling/action-ros-ci@v0.3 with: package-name: camera_ros - target-ros2-distro: ${{ matrix.distribution }} + target-ros2-distro: ${{ matrix.ros }} colcon-defaults: | { "build": {