diff --git a/.github/workflows/README.md b/.github/workflows/README.md
new file mode 100644
index 0000000000..34bfb4cc03
--- /dev/null
+++ b/.github/workflows/README.md
@@ -0,0 +1,24 @@
+## Build status
+
+ROS2 Distro | Branch | Build status | Documentation | Released packages
+:---------: | :----: | :----------: | :-----------: | :---------------:
+**Rolling** | [`rolling`](https://github.com/ros-controls/ros2_controllers/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-main.yml?branch=master)
[![Rolling Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-testing.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-main.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-testing.yml?branch=master)
[![Rolling Source Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-source-build.yml?branch=master) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#rolling)
+**Humble** | [`humble`](https://github.com/ros-controls/ros2_controllers/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-binary-build-main.yml?branch=master)
[![Humble Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-binary-build-testing.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-semi-binary-build-main.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-semi-binary-build-testing.yml?branch=master)
[![Humble Source Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-source-build.yml?branch=master) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#humble)
+**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_controllers/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build-main.yml?branch=galactic)
[![Galactic Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build-testing.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build-testing.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build-main.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build-testing.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build-testing.yml?branch=galactic) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#galactic)
+**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_controllers/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build-main.yml?branch=foxy)
[![Foxy Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build-testing.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build-testing.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build-main.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build-testing.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build-testing.yml?branch=foxy) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#foxy)
+
+
+### Explanation of different build types
+
+**NOTE**: There are three build stages checking current and future compatibility of the package.
+
+1. Binary builds - against released packages (main and testing) in ROS distributions. Shows that direct local build is possible.
+
+ Uses repos file: `$NAME$-not-released..repos`
+
+1. Semi-binary builds - against released core ROS packages (main and testing), but the immediate dependencies are pulled from source.
+ Shows that local build with dependencies is possible and if fails there we can expect that after the next package sync we will not be able to build.
+
+ Uses repos file: `$NAME$.repos`
+
+1. Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
diff --git a/.github/workflows/ci-coverage-build.yml b/.github/workflows/ci-coverage-build.yml
new file mode 100644
index 0000000000..d9b4ec4494
--- /dev/null
+++ b/.github/workflows/ci-coverage-build.yml
@@ -0,0 +1,48 @@
+name: Coverage Build
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ coverage:
+ name: coverage build
+ runs-on: ubuntu-22.04
+ strategy:
+ fail-fast: false
+ env:
+ ROS_DISTRO: rolling
+ steps:
+ - uses: ros-tooling/setup-ros@0.3.4
+ with:
+ required-ros-distributions: ${{ env.ROS_DISTRO }}
+ - uses: actions/checkout@v3
+ - uses: ros-tooling/action-ros-ci@0.2.6
+ with:
+ target-ros2-distro: ${{ env.ROS_DISTRO }}
+ import-token: ${{ secrets.GITHUB_TOKEN }}
+ # build all packages listed in the meta package
+ package-name:
+ diff_drive_controller
+
+ vcs-repo-file-url: |
+ https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_controllers-not-released.${{ env.ROS_DISTRO }}.repos?token=${{ secrets.GITHUB_TOKEN }}
+ colcon-defaults: |
+ {
+ "build": {
+ "mixin": ["coverage-gcc"]
+ }
+ }
+ colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
+ - uses: codecov/codecov-action@v3.1.0
+ with:
+ file: ros_ws/lcov/total_coverage.info
+ flags: unittests
+ name: codecov-umbrella
+ - uses: actions/upload-artifact@v3.1.0
+ with:
+ name: colcon-logs-coverage-rolling
+ path: ros_ws/log
diff --git a/.github/workflows/ci-format.yml b/.github/workflows/ci-format.yml
index dffa28d1c0..fba9f85911 100644
--- a/.github/workflows/ci-format.yml
+++ b/.github/workflows/ci-format.yml
@@ -4,11 +4,7 @@
name: Format
on:
- workflow_dispatch:
pull_request:
- push:
- branches:
- - master
jobs:
pre-commit:
@@ -20,7 +16,7 @@ jobs:
with:
python-version: 3.9.7
- name: Install system hooks
- run: sudo apt install -qq clang-format-11 cppcheck
+ run: sudo apt install -qq clang-format-12 cppcheck
- uses: pre-commit/action@v2.0.3
with:
extra_args: --all-files --hook-stage manual
diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml
index 8eec08251f..9902dbdaaf 100644
--- a/.github/workflows/ci-ros-lint.yml
+++ b/.github/workflows/ci-ros-lint.yml
@@ -9,49 +9,33 @@ jobs:
strategy:
fail-fast: false
matrix:
- linter: [copyright, cppcheck, lint_cmake]
+ linter: [cppcheck, copyright, lint_cmake]
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
- uses: ros-tooling/setup-ros@v0.2
- uses: ros-tooling/action-ros-lint@v0.1
with:
- distribution: galactic
+ distribution: rolling
linter: ${{ matrix.linter }}
package-name:
- diff_drive_controller
- effort_controllers
- force_torque_sensor_broadcaster
- forward_command_controller
- joint_state_broadcaster
- joint_trajectory_controller
- gripper_controllers
- position_controllers
- ros2_controllers
- ros2_controllers_test_nodes
- velocity_controllers
+ diff_drive_controller
- ament_lint_cpplint:
- name: ament_lint_cpplint
+
+ ament_lint_100:
+ name: ament_${{ matrix.linter }}
runs-on: ubuntu-20.04
strategy:
fail-fast: false
+ matrix:
+ linter: [cpplint]
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v3
- uses: ros-tooling/setup-ros@v0.2
- uses: ros-tooling/action-ros-lint@v0.1
with:
- distribution: galactic
+ distribution: rolling
linter: cpplint
- arguments: "--filter=-whitespace/newline"
+ arguments: "--linelength=100 --filter=-whitespace/newline"
package-name:
- diff_drive_controller
- effort_controllers
- force_torque_sensor_broadcaster
- forward_command_controller
- joint_state_broadcaster
- joint_trajectory_controller
- gripper_controllers
- position_controllers
- ros2_controllers
- ros2_controllers_test_nodes
- velocity_controllers
+ diff_drive_controller
+ ros2_controllers
diff --git a/.github/workflows/foxy-abi-compatibility.yml b/.github/workflows/foxy-abi-compatibility.yml
index 7f9f1684ef..7ce17effd0 100644
--- a/.github/workflows/foxy-abi-compatibility.yml
+++ b/.github/workflows/foxy-abi-compatibility.yml
@@ -1,18 +1,20 @@
-name: ABI Compatibility Check
+name: Foxy - ABI Compatibility Check
on:
+ workflow_dispatch:
+ branches:
+ - foxy
pull_request:
branches:
- foxy
jobs:
-# TODO(andyz): disabled because it started failing at the transition to Humble
-# abi_check:
-# runs-on: ubuntu-latest
-# steps:
-# - uses: actions/checkout@v3
-# - uses: ros-industrial/industrial_ci@master
-# env:
-# ROS_DISTRO: foxy
-# ROS_REPO: main
-# ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
-# NOT_TEST_BUILD: true
+ abi_check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: ros-industrial/industrial_ci@master
+ env:
+ ROS_DISTRO: foxy
+ ROS_REPO: main
+ ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
+ NOT_TEST_BUILD: true
diff --git a/.github/workflows/foxy-binary-build.yml b/.github/workflows/foxy-binary-build-main.yml
similarity index 60%
rename from .github/workflows/foxy-binary-build.yml
rename to .github/workflows/foxy-binary-build-main.yml
index bd3050cd37..b306d7e44d 100644
--- a/.github/workflows/foxy-binary-build.yml
+++ b/.github/workflows/foxy-binary-build-main.yml
@@ -1,7 +1,11 @@
-name: Foxy Binary Build
-# Build & test all dependencies from released (binary) packages.
+name: Foxy Binary Build - main
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
on:
+ workflow_dispatch:
+ branches:
+ - foxy
pull_request:
branches:
- foxy
@@ -10,12 +14,13 @@ on:
- foxy
schedule:
# Run every morning to detect flakiness and broken dependencies
- - cron: '08 18 * * *'
+ - cron: '03 1 * * *'
jobs:
binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
+ ros_repo: main
upstream_workspace: ros2_controllers-not-released.foxy.repos
ref_for_scheduled_build: foxy
diff --git a/.github/workflows/foxy-binary-build-testing.yml b/.github/workflows/foxy-binary-build-testing.yml
new file mode 100644
index 0000000000..260751abea
--- /dev/null
+++ b/.github/workflows/foxy-binary-build-testing.yml
@@ -0,0 +1,26 @@
+name: Foxy Binary Build - testing
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - foxy
+ pull_request:
+ branches:
+ - foxy
+ push:
+ branches:
+ - foxy
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+jobs:
+ binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: foxy
+ ros_repo: testing
+ upstream_workspace: ros2_controllers-not-released.foxy.repos
+ ref_for_scheduled_build: foxy
diff --git a/.github/workflows/foxy-rhel-binary-build.yml b/.github/workflows/foxy-rhel-binary-build.yml
new file mode 100644
index 0000000000..8ce90c940f
--- /dev/null
+++ b/.github/workflows/foxy-rhel-binary-build.yml
@@ -0,0 +1,33 @@
+name: Foxy RHEL Binary Build
+on:
+ workflow_dispatch:
+ branches:
+ - foxy
+ pull_request:
+ branches:
+ - foxy
+ push:
+ branches:
+ - foxy
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+
+jobs:
+ foxy_rhel_binary:
+ name: Foxy RHEL binary build
+ runs-on: ubuntu-latest
+ env:
+ ROS_DISTRO: foxy
+ container: jaronl/ros:foxy-alma
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ path: src/ros2_controllers
+ - run: |
+ rosdep update
+ rosdep install -iy --from-path src/ros2_controllers
+ source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
+ colcon build
+ colcon test
diff --git a/.github/workflows/foxy-semi-binary-build.yml b/.github/workflows/foxy-semi-binary-build-main.yml
similarity index 64%
rename from .github/workflows/foxy-semi-binary-build.yml
rename to .github/workflows/foxy-semi-binary-build-main.yml
index a6fc83fbd5..75c3295124 100644
--- a/.github/workflows/foxy-semi-binary-build.yml
+++ b/.github/workflows/foxy-semi-binary-build-main.yml
@@ -1,7 +1,10 @@
-name: Foxy Semi-Binary Build
-# Build & test that compiles the main dependencies from source.
+name: Foxy Semi-Binary Build - main
+# description: 'Build & test that compiles the main dependencies from source.'
on:
+ workflow_dispatch:
+ branches:
+ - foxy
pull_request:
branches:
- foxy
@@ -10,12 +13,13 @@ on:
- foxy
schedule:
# Run every morning to detect flakiness and broken dependencies
- - cron: '13 18 * * *'
+ - cron: '33 1 * * *'
jobs:
semi_binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
+ ros_repo: main
upstream_workspace: ros2_controllers.foxy.repos
ref_for_scheduled_build: foxy
diff --git a/.github/workflows/foxy-semi-binary-build-testing.yml b/.github/workflows/foxy-semi-binary-build-testing.yml
new file mode 100644
index 0000000000..f6d663cc2c
--- /dev/null
+++ b/.github/workflows/foxy-semi-binary-build-testing.yml
@@ -0,0 +1,25 @@
+name: Foxy Semi-Binary Build - testing
+# description: 'Build & test that compiles the main dependencies from source.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - foxy
+ pull_request:
+ branches:
+ - foxy
+ push:
+ branches:
+ - foxy
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '33 1 * * *'
+
+jobs:
+ semi_binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: foxy
+ ros_repo: testing
+ upstream_workspace: ros2_controllers.foxy.repos
+ ref_for_scheduled_build: foxy
diff --git a/.github/workflows/galactic-abi-compatibility.yml b/.github/workflows/galactic-abi-compatibility.yml
index 8689791128..06a48ef9c7 100644
--- a/.github/workflows/galactic-abi-compatibility.yml
+++ b/.github/workflows/galactic-abi-compatibility.yml
@@ -1,18 +1,20 @@
-name: ABI Compatibility Check
+name: Galactic - ABI Compatibility Check
on:
+ workflow_dispatch:
+ branches:
+ - galactic
pull_request:
branches:
- galactic
jobs:
-# TODO(andyz): disabled because it started failing at the transition to Humble
-# abi_check:
-# runs-on: ubuntu-latest
-# steps:
-# - uses: actions/checkout@v3
-# - uses: ros-industrial/industrial_ci@master
-# env:
-# ROS_DISTRO: galactic
-# ROS_REPO: main
-# ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
-# NOT_TEST_BUILD: true
+ abi_check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: ros-industrial/industrial_ci@master
+ env:
+ ROS_DISTRO: galactic
+ ROS_REPO: main
+ ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
+ NOT_TEST_BUILD: true
diff --git a/.github/workflows/galactic-binary-build.yml b/.github/workflows/galactic-binary-build-main.yml
similarity index 60%
rename from .github/workflows/galactic-binary-build.yml
rename to .github/workflows/galactic-binary-build-main.yml
index eeac89e8d1..14fe56407c 100644
--- a/.github/workflows/galactic-binary-build.yml
+++ b/.github/workflows/galactic-binary-build-main.yml
@@ -1,7 +1,11 @@
-name: Galactic Binary Build
-# Build & test all dependencies from released (binary) packages.'
+name: Galactic Binary Build - main
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
on:
+ workflow_dispatch:
+ branches:
+ - galactic
pull_request:
branches:
- galactic
@@ -10,12 +14,13 @@ on:
- galactic
schedule:
# Run every morning to detect flakiness and broken dependencies
- - cron: '08 18 * * *'
+ - cron: '03 1 * * *'
jobs:
binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: galactic
+ ros_repo: main
upstream_workspace: ros2_controllers-not-released.galactic.repos
ref_for_scheduled_build: galactic
diff --git a/.github/workflows/galactic-binary-build-testing.yml b/.github/workflows/galactic-binary-build-testing.yml
new file mode 100644
index 0000000000..c4b22a3a7a
--- /dev/null
+++ b/.github/workflows/galactic-binary-build-testing.yml
@@ -0,0 +1,26 @@
+name: Galactic Binary Build - testing
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - galactic
+ pull_request:
+ branches:
+ - galactic
+ push:
+ branches:
+ - galactic
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+jobs:
+ binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: galactic
+ ros_repo: testing
+ upstream_workspace: ros2_controllers-not-released.galactic.repos
+ ref_for_scheduled_build: galactic
diff --git a/.github/workflows/galactic-rhel-binary-build.yml b/.github/workflows/galactic-rhel-binary-build.yml
new file mode 100644
index 0000000000..2116d5f4d5
--- /dev/null
+++ b/.github/workflows/galactic-rhel-binary-build.yml
@@ -0,0 +1,33 @@
+name: Galactic RHEL Binary Build
+on:
+ workflow_dispatch:
+ branches:
+ - galactic
+ pull_request:
+ branches:
+ - galactic
+ push:
+ branches:
+ - galactic
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+
+jobs:
+ galactic_rhel_binary:
+ name: Galactic RHEL binary build
+ runs-on: ubuntu-latest
+ env:
+ ROS_DISTRO: galactic
+ container: jaronl/ros:galactic-alma
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ path: src/ros2_controllers
+ - run: |
+ rosdep update
+ rosdep install -iy --from-path src/ros2_controllers
+ source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
+ colcon build
+ colcon test
diff --git a/.github/workflows/galactic-semi-binary-build.yml b/.github/workflows/galactic-semi-binary-build-main.yml
similarity index 64%
rename from .github/workflows/galactic-semi-binary-build.yml
rename to .github/workflows/galactic-semi-binary-build-main.yml
index f7f2cd0a53..7e498679cb 100644
--- a/.github/workflows/galactic-semi-binary-build.yml
+++ b/.github/workflows/galactic-semi-binary-build-main.yml
@@ -1,7 +1,10 @@
-name: Galactic Semi-Binary Build
-# Build & test that compiles the main dependencies from source.
+name: Galactic Semi-Binary Build - main
+# description: 'Build & test that compiles the main dependencies from source.'
on:
+ workflow_dispatch:
+ branches:
+ - galactic
pull_request:
branches:
- galactic
@@ -10,12 +13,13 @@ on:
- galactic
schedule:
# Run every morning to detect flakiness and broken dependencies
- - cron: '13 18 * * *'
+ - cron: '33 1 * * *'
jobs:
semi_binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: galactic
+ ros_repo: main
upstream_workspace: ros2_controllers.galactic.repos
ref_for_scheduled_build: galactic
diff --git a/.github/workflows/galactic-semi-binary-build-testing.yml b/.github/workflows/galactic-semi-binary-build-testing.yml
new file mode 100644
index 0000000000..82a74a358b
--- /dev/null
+++ b/.github/workflows/galactic-semi-binary-build-testing.yml
@@ -0,0 +1,25 @@
+name: Galactic Semi-Binary Build - testing
+# description: 'Build & test that compiles the main dependencies from source.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - galactic
+ pull_request:
+ branches:
+ - galactic
+ push:
+ branches:
+ - galactic
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '33 1 * * *'
+
+jobs:
+ semi_binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: galactic
+ ros_repo: testing
+ upstream_workspace: ros2_controllers.galactic.repos
+ ref_for_scheduled_build: galactic
diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml
new file mode 100644
index 0000000000..1be00cfc76
--- /dev/null
+++ b/.github/workflows/humble-abi-compatibility.yml
@@ -0,0 +1,20 @@
+name: Humble - ABI Compatibility Check
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ abi_check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: ros-industrial/industrial_ci@master
+ env:
+ ROS_DISTRO: humble
+ ROS_REPO: main
+ ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
+ NOT_TEST_BUILD: true
diff --git a/.github/workflows/humble-binary-build-main.yml b/.github/workflows/humble-binary-build-main.yml
new file mode 100644
index 0000000000..01708cf864
--- /dev/null
+++ b/.github/workflows/humble-binary-build-main.yml
@@ -0,0 +1,26 @@
+name: Humble Binary Build - main
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+jobs:
+ binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: humble
+ ros_repo: main
+ upstream_workspace: ros2_controllers-not-released.humble.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/humble-binary-build-testing.yml b/.github/workflows/humble-binary-build-testing.yml
new file mode 100644
index 0000000000..73ed0a4859
--- /dev/null
+++ b/.github/workflows/humble-binary-build-testing.yml
@@ -0,0 +1,26 @@
+name: Humble Binary Build - testing
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+jobs:
+ binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: humble
+ ros_repo: testing
+ upstream_workspace: ros2_controllers-not-released.humble.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/humble-rhel-binary-build.yml b/.github/workflows/humble-rhel-binary-build.yml
new file mode 100644
index 0000000000..42a700a7db
--- /dev/null
+++ b/.github/workflows/humble-rhel-binary-build.yml
@@ -0,0 +1,33 @@
+name: Humble RHEL Binary Build
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+
+jobs:
+ humble_rhel_binary:
+ name: Humble RHEL binary build
+ runs-on: ubuntu-latest
+ env:
+ ROS_DISTRO: humble
+ container: jaronl/ros:humble-alma
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ path: src/ros2_controllers
+ - run: |
+ rosdep update
+ rosdep install -iy --from-path src/ros2_controllers
+ source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
+ colcon build
+ colcon test
diff --git a/.github/workflows/humble-semi-binary-build-main.yml b/.github/workflows/humble-semi-binary-build-main.yml
new file mode 100644
index 0000000000..10b1186b79
--- /dev/null
+++ b/.github/workflows/humble-semi-binary-build-main.yml
@@ -0,0 +1,25 @@
+name: Humble Semi-Binary Build - main
+# description: 'Build & test that compiles the main dependencies from source.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '33 1 * * *'
+
+jobs:
+ semi_binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: humble
+ ros_repo: main
+ upstream_workspace: ros2_controllers.humble.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/humble-semi-binary-build-testing.yml b/.github/workflows/humble-semi-binary-build-testing.yml
new file mode 100644
index 0000000000..ec73cc6b98
--- /dev/null
+++ b/.github/workflows/humble-semi-binary-build-testing.yml
@@ -0,0 +1,25 @@
+name: Humble Semi-Binary Build - testing
+# description: 'Build & test that compiles the main dependencies from source.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '33 1 * * *'
+
+jobs:
+ semi_binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: humble
+ ros_repo: testing
+ upstream_workspace: ros2_controllers.humble.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/galactic-source-build.yml b/.github/workflows/humble-source-build.yml
similarity index 56%
rename from .github/workflows/galactic-source-build.yml
rename to .github/workflows/humble-source-build.yml
index d1c3aa97e8..6ab92814dc 100644
--- a/.github/workflows/galactic-source-build.yml
+++ b/.github/workflows/humble-source-build.yml
@@ -1,8 +1,11 @@
-name: Galactic Source Build
+name: Humble Source Build
on:
+ workflow_dispatch:
+ branches:
+ - master
push:
branches:
- - galactic
+ - master
schedule:
# Run every day to detect flakiness and broken dependencies
- cron: '03 3 * * *'
@@ -11,5 +14,6 @@ jobs:
source:
uses: ./.github/workflows/reusable-ros-tooling-source-build.yml
with:
- ros_distro: galactic
- ref: galactic
+ ros_distro: humble
+ ref: master
+ ros2_repo_branch: master-humble
diff --git a/.github/workflows/reusable-industrial-ci-with-cache.yml b/.github/workflows/reusable-industrial-ci-with-cache.yml
index 57ea222979..0ff359d091 100644
--- a/.github/workflows/reusable-industrial-ci-with-cache.yml
+++ b/.github/workflows/reusable-industrial-ci-with-cache.yml
@@ -20,8 +20,8 @@ on:
required: true
type: string
ros_repo:
- description: 'ROS_REPO to run for industrial_ci. Possible values: "all", "main", "testing"'
- default: 'all'
+ description: 'ROS_REPO to run for industrial_ci. Possible values: "main", "testing"'
+ default: 'main'
required: false
type: string
os_code_name:
@@ -49,27 +49,23 @@ on:
jobs:
reusable_industrial_ci_with_cache:
- name: ${{ inputs.os_code_name }} ${{ matrix.ROS_REPO }} ${{ inputs.ros_distro }}
- strategy:
- fail-fast: false
- matrix:
- ROS_REPO: [ main, testing ]
+ name: ${{ inputs.ros_distro }} ${{ inputs.ros_repo }} ${{ inputs.os_code_name }}
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/${{ inputs.ccache_dir }}
BASEDIR: ${{ github.workspace }}/${{ inputs.basedir }}
- CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.os_code_name }}-${{ matrix.ROS_REPO }}-${{ github.job }}
+ CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.os_code_name }}-${{ inputs.ros_repo }}-${{ github.job }}
steps:
- name: Checkout ${{ inputs.ref }} when build is not scheduled
- if: ${{ (inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO) && github.event_name != 'schedule' }}
+ if: ${{ github.event_name != 'schedule' }}
uses: actions/checkout@v3
- name: Checkout ${{ inputs.ref }} on scheduled build
- if: ${{ (inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO) && github.event_name == 'schedule' }}
+ if: ${{ github.event_name == 'schedule' }}
uses: actions/checkout@v3
with:
ref: ${{ inputs.ref_for_scheduled_build }}
- name: cache target_ws
- if: ${{ ! matrix.env.CCOV && (inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO) }}
+ if: ${{ ! matrix.env.CCOV }}
uses: pat-s/always-upload-cache@v2.1.5
with:
path: ${{ env.BASEDIR }}/target_ws
@@ -77,7 +73,6 @@ jobs:
restore-keys: |
target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
- name: cache ccache
- if: ${{ inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO }}
uses: pat-s/always-upload-cache@v2.1.5
with:
path: ${{ env.CCACHE_DIR }}
@@ -85,22 +80,17 @@ jobs:
restore-keys: |
ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
ccache-${{ env.CACHE_PREFIX }}
- - if: ${{ inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO }}
- uses: 'ros-industrial/industrial_ci@master'
+ - uses: 'ros-industrial/industrial_ci@master'
env:
UPSTREAM_WORKSPACE: ${{ inputs.upstream_workspace }}
ROS_DISTRO: ${{ inputs.ros_distro }}
- ROS_REPO: ${{ matrix.ROS_REPO }}
+ ROS_REPO: ${{ inputs.ros_repo }}
OS_CODE_NAME: ${{ inputs.os_code_name }}
BEFORE_INSTALL_UPSTREAM_DEPENDENCIES: ${{ inputs.before_install_upstream_dependencies }}
- name: prepare target_ws for cache
- if: ${{ always() && ! matrix.env.CCOV && (inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO) }}
+ if: ${{ always() && ! matrix.env.CCOV }}
run: |
du -sh ${{ env.BASEDIR }}/target_ws
sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete
sudo rm -rf ${{ env.BASEDIR }}/target_ws/src
du -sh ${{ env.BASEDIR }}/target_ws
- - name: Is job skipped?
- if: ${{ ! (inputs.ros_repo == 'all' || inputs.ros_repo == matrix.ROS_REPO) }}
- run: |
- echo "This job is skpped!"
diff --git a/.github/workflows/reusable-ros-tooling-source-build.yml b/.github/workflows/reusable-ros-tooling-source-build.yml
index 287809991d..2ad549b0f8 100644
--- a/.github/workflows/reusable-ros-tooling-source-build.yml
+++ b/.github/workflows/reusable-ros-tooling-source-build.yml
@@ -13,41 +13,37 @@ on:
description: 'Reference on which the repo should be checkout. Usually is this name of a branch or a tag.'
required: true
type: string
+ ros2_repo_branch:
+ description: 'Branch in the ros2/ros2 repozitory from which ".repos" should be used. Possible values: master (Rolling), humble, galactic, foxy.'
+ default: 'master'
+ required: false
+ type: string
jobs:
reusable_ros_tooling_source_build:
- name: ${{ inputs.ros_distro }} ubuntu-20.04
- runs-on: ubuntu-20.04
+ name: ${{ inputs.ros_distro }} ubuntu-22.04
+ runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- - uses: ros-tooling/setup-ros@v0.3
+ - uses: ros-tooling/setup-ros@0.3.4
with:
required-ros-distributions: ${{ inputs.ros_distro }}
- uses: actions/checkout@v3
with:
ref: ${{ inputs.ref }}
- - uses: ros-tooling/action-ros-ci@v0.2
+ - uses: ros-tooling/action-ros-ci@0.2.6
with:
target-ros2-distro: ${{ inputs.ros_distro }}
# build all packages listed in the meta package
package-name:
diff_drive_controller
- effort_controllers
- force_torque_sensor_broadcaster
- forward_command_controller
- joint_state_broadcaster
- joint_trajectory_controller
- gripper_controllers
- position_controllers
- ros2_controllers
- ros2_controllers_test_nodes
- velocity_controllers
+
vcs-repo-file-url: |
- https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ref }}/ros2.repos
+ https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ros2_repo_branch }}/ros2.repos
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_controllers.${{ inputs.ros_distro }}.repos?token=${{ secrets.GITHUB_TOKEN }}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- uses: actions/upload-artifact@v1
with:
- name: colcon-logs-ubuntu-20.04
+ name: colcon-logs-ubuntu-22.04
path: ros_ws/log
diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml
index 1b327f58fb..4589e92e3b 100644
--- a/.github/workflows/rolling-abi-compatibility.yml
+++ b/.github/workflows/rolling-abi-compatibility.yml
@@ -1,5 +1,8 @@
-name: ABI Compatibility Check
+name: Rolling - ABI Compatibility Check
on:
+ workflow_dispatch:
+ branches:
+ - master
pull_request:
branches:
- master
diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build-main.yml
similarity index 60%
rename from .github/workflows/rolling-binary-build.yml
rename to .github/workflows/rolling-binary-build-main.yml
index 7e0a2e04d6..b51bbabe29 100644
--- a/.github/workflows/rolling-binary-build.yml
+++ b/.github/workflows/rolling-binary-build-main.yml
@@ -1,7 +1,11 @@
-name: Rolling Binary Build
-# Build & test all dependencies from released (binary) packages.
+name: Rolling Binary Build - main
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
on:
+ workflow_dispatch:
+ branches:
+ - master
pull_request:
branches:
- master
@@ -10,12 +14,13 @@ on:
- master
schedule:
# Run every morning to detect flakiness and broken dependencies
- - cron: '08 18 * * *'
+ - cron: '03 1 * * *'
jobs:
binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: rolling
+ ros_repo: main
upstream_workspace: ros2_controllers-not-released.rolling.repos
ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-binary-build-testing.yml b/.github/workflows/rolling-binary-build-testing.yml
new file mode 100644
index 0000000000..a1db89b8d9
--- /dev/null
+++ b/.github/workflows/rolling-binary-build-testing.yml
@@ -0,0 +1,26 @@
+name: Rolling Binary Build - testing
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+jobs:
+ binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: rolling
+ ros_repo: testing
+ upstream_workspace: ros2_controllers-not-released.rolling.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-rhel-binary-build.yml b/.github/workflows/rolling-rhel-binary-build.yml
index 62197a2db9..e85b439411 100644
--- a/.github/workflows/rolling-rhel-binary-build.yml
+++ b/.github/workflows/rolling-rhel-binary-build.yml
@@ -1,5 +1,8 @@
name: Rolling RHEL Binary Build
on:
+ workflow_dispatch:
+ branches:
+ - master
pull_request:
branches:
- master
@@ -12,20 +15,19 @@ on:
jobs:
-# TODO(andyz): disabled because it started failing at the transition to Humble
-# rolling_rhel_binary:
-# name: Rolling RHEL binary build
-# runs-on: ubuntu-latest
-# env:
-# ROS_DISTRO: rolling
-# container: jaronl/ros:rolling-alma
-# steps:
-# - uses: actions/checkout@v3
-# with:
-# path: src/ros2_controllers
-# - run: |
-# rosdep update
-# rosdep install -iy --from-path src/ros2_controllers
-# source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
-# colcon build
-# colcon test
+ rolling_rhel_binary:
+ name: Rolling RHEL binary build
+ runs-on: ubuntu-latest
+ env:
+ ROS_DISTRO: rolling
+ container: jaronl/ros:rolling-alma
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ path: src/ros2_controllers
+ - run: |
+ rosdep update
+ rosdep install -iy --from-path src/ros2_controllers
+ source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
+ colcon build
+ colcon test
diff --git a/.github/workflows/rolling-semi-binary-build.yml b/.github/workflows/rolling-semi-binary-build-main.yml
similarity index 64%
rename from .github/workflows/rolling-semi-binary-build.yml
rename to .github/workflows/rolling-semi-binary-build-main.yml
index 25666c0b0c..eca9483438 100644
--- a/.github/workflows/rolling-semi-binary-build.yml
+++ b/.github/workflows/rolling-semi-binary-build-main.yml
@@ -1,7 +1,10 @@
-name: Rolling Semi-Binary Build
-# Build & test that compiles the main dependencies from source.
+name: Rolling Semi-Binary Build - main
+# description: 'Build & test that compiles the main dependencies from source.'
on:
+ workflow_dispatch:
+ branches:
+ - master
pull_request:
branches:
- master
@@ -10,12 +13,13 @@ on:
- master
schedule:
# Run every morning to detect flakiness and broken dependencies
- - cron: '13 18 * * *'
+ - cron: '33 1 * * *'
jobs:
semi_binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: rolling
+ ros_repo: main
upstream_workspace: ros2_controllers.rolling.repos
ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-semi-binary-build-testing.yml b/.github/workflows/rolling-semi-binary-build-testing.yml
new file mode 100644
index 0000000000..62214adae9
--- /dev/null
+++ b/.github/workflows/rolling-semi-binary-build-testing.yml
@@ -0,0 +1,25 @@
+name: Rolling Semi-Binary Build - testing
+# description: 'Build & test that compiles the main dependencies from source.'
+
+on:
+ workflow_dispatch:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '33 1 * * *'
+
+jobs:
+ semi_binary:
+ uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
+ with:
+ ros_distro: rolling
+ ros_repo: testing
+ upstream_workspace: ros2_controllers.rolling.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-source-build.yml b/.github/workflows/rolling-source-build.yml
index 0a0ae8de43..1a137a795b 100644
--- a/.github/workflows/rolling-source-build.yml
+++ b/.github/workflows/rolling-source-build.yml
@@ -1,5 +1,8 @@
name: Rolling Source Build
on:
+ workflow_dispatch:
+ branches:
+ - master
push:
branches:
- master
@@ -13,3 +16,4 @@ jobs:
with:
ros_distro: rolling
ref: master
+ ros2_repo_branch: master-rolling
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ba3dd242ac..fa8d75100e 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -15,7 +15,7 @@
repos:
# Standard hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.1.0
+ rev: v4.3.0
hooks:
- id: check-added-large-files
- id: check-ast
@@ -33,24 +33,29 @@ repos:
# Python hooks
- repo: https://github.com/asottile/pyupgrade
- rev: v2.31.1
+ rev: v2.37.3
hooks:
- - id: pyupgrade
+ - id: pyupgrade
args: [--py36-plus]
+ - repo: https://github.com/psf/black
+ rev: 22.6.0
+ hooks:
+ - id: black
+ args: ["--line-length=99"]
+
# PEP 257
- repo: https://github.com/FalconSocial/pre-commit-mirrors-pep257
rev: v0.3.3
hooks:
- - id: pep257
- args:
- ["--ignore=D100,D101,D102,D103,D104,D105,D106,D107,D203,D212,D404"]
+ - id: pep257
+ args: ["--ignore=D100,D101,D102,D103,D104,D105,D106,D107,D203,D212,D404"]
- repo: https://github.com/pycqa/flake8
- rev: 4.0.1
+ rev: 5.0.4
hooks:
- - id: flake8
- args: ["--ignore=E501"]
+ - id: flake8
+ args: ["--ignore=E501"]
# CPP hooks
- repo: local
@@ -58,10 +63,16 @@ repos:
- id: clang-format
name: clang-format
description: Format files with ClangFormat.
- entry: clang-format-11
+ entry: clang-format-12
language: system
files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|js|m|proto|vert)$
- args: ["-fallback-style=none", "-i"]
+ args: ['-fallback-style=none', '-i']
+ # The same options as in ament_cppcheck are used, but its not working...
+ #- repo: https://github.com/pocc/pre-commit-hooks
+ #rev: v1.1.1
+ #hooks:
+ #- id: cppcheck
+ #args: ['--error-exitcode=1', '-f', '--inline-suppr', '-q', '-rp', '--suppress=internalAstError', '--suppress=unknownMacro', '--verbose']
- repo: local
hooks:
@@ -108,10 +119,10 @@ repos:
# Docs - RestructuredText hooks
- repo: https://github.com/PyCQA/doc8
- rev: 0.10.1
+ rev: v1.0.0
hooks:
- id: doc8
- args: ["--max-line-length=100", "--ignore=D001"]
+ args: ['--max-line-length=100', '--ignore=D001']
exclude: CHANGELOG\.rst$
- repo: https://github.com/pre-commit/pygrep-hooks
@@ -128,5 +139,5 @@ repos:
rev: v2.1.0
hooks:
- id: codespell
- args: ["--write-changes"]
- exclude: CHANGELOG\.rst|\.(svg|pyc)$
+ args: ['--write-changes']
+ exclude: CHANGELOG\.rst|\.(svg|pyc|drawio)$
diff --git a/README.md b/README.md
index d7aa74a173..6a59d0054e 100644
--- a/README.md
+++ b/README.md
@@ -6,11 +6,10 @@ Commonly used and generalized controllers for ros2-control framework that are re
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
-**Rolling** | [`master`](https://github.com/ros-controls/ros2_controllers/tree/master) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build.yml?branch=master)
[![Rolling Source Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-source-build.yml?branch=master) | [Documentation](https://control.ros.org)
[API Reference](https://control.ros.org/rolling/api/) | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#rolling)
-**Rolling - last Focal** | [`master`](https://github.com/ros-controls/ros2_controllers/tree/master) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-last-focal.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-last-focal.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-last-focal.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-last-focal.yml?branch=master) | [Documentation](https://control.ros.org)
[API Reference](https://control.ros.org/rolling/api/) | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#rolling)
-**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_controllers/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build.yml?branch=galactic)
[![Galactic Source Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-source-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-source-build.yml?branch=galactic) | [Documentation](https://control.ros.org/galactic/)
[API Reference](https://control.ros.org/galactic/api/) | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#galactic)
-**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_controllers/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build.yml?branch=foxy)
[![Foxy Source Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-source-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-source-build.yml?branch=foxy) | [Documentation](https://control.ros.org/foxy/)
[API Reference](https://control.ros.org/foxy/api/) | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#foxy)
-
+**Rolling** | [`rolling`](https://github.com/ros-controls/ros2_controllers/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-binary-build-main.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/rolling-semi-binary-build-main.yml?branch=master) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#rolling)
+**Humble** | [`humble`](https://github.com/ros-controls/ros2_controllers/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-binary-build-main.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_controllers/actions/workflows/humble-semi-binary-build-main.yml?branch=master) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#humble)
+**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_controllers/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-binary-build-main.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_controllers/actions/workflows/galactic-semi-binary-build-main.yml?branch=galactic) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#galactic)
+**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_controllers/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-binary-build-main.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_controllers/actions/workflows/foxy-semi-binary-build-main.yml?branch=foxy) | | [ros2_controllers](https://index.ros.org/p/ros2_controllers/#foxy)
### Explanation of different build types
@@ -25,8 +24,6 @@ ROS2 Distro | Branch | Build status | Documentation | Released packages
Uses repos file: `src/$NAME$/$NAME$.repos`
-1. Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
-
## Acknowledgements
diff --git a/ros2_controllers-not-released.foxy.repos b/ros2_controllers-not-released.foxy.repos
index 56f46b6f79..1b3910e7e7 100644
--- a/ros2_controllers-not-released.foxy.repos
+++ b/ros2_controllers-not-released.foxy.repos
@@ -1 +1,6 @@
repositories:
+ ## EXAMPLE DEPENDENCY
+# :
+# type: git
+# url: git@github.com:/.git
+# version: master
diff --git a/ros2_controllers-not-released.galactic.repos b/ros2_controllers-not-released.galactic.repos
index 56f46b6f79..1b3910e7e7 100644
--- a/ros2_controllers-not-released.galactic.repos
+++ b/ros2_controllers-not-released.galactic.repos
@@ -1 +1,6 @@
repositories:
+ ## EXAMPLE DEPENDENCY
+# :
+# type: git
+# url: git@github.com:/.git
+# version: master
diff --git a/ros2_controllers-not-released.humble.repos b/ros2_controllers-not-released.humble.repos
new file mode 100644
index 0000000000..1b3910e7e7
--- /dev/null
+++ b/ros2_controllers-not-released.humble.repos
@@ -0,0 +1,6 @@
+repositories:
+ ## EXAMPLE DEPENDENCY
+# :
+# type: git
+# url: git@github.com:/.git
+# version: master
diff --git a/ros2_controllers-not-released.rolling.repos b/ros2_controllers-not-released.rolling.repos
index 56f46b6f79..1b3910e7e7 100644
--- a/ros2_controllers-not-released.rolling.repos
+++ b/ros2_controllers-not-released.rolling.repos
@@ -1 +1,6 @@
repositories:
+ ## EXAMPLE DEPENDENCY
+# :
+# type: git
+# url: git@github.com:/.git
+# version: master
diff --git a/ros2_controllers.humble.repos b/ros2_controllers.humble.repos
new file mode 100644
index 0000000000..3a667e7d9a
--- /dev/null
+++ b/ros2_controllers.humble.repos
@@ -0,0 +1,13 @@
+repositories:
+ ros2_control:
+ type: git
+ url: https://github.com/ros-controls/ros2_control.git
+ version: master
+ control_msgs:
+ type: git
+ url: https://github.com/ros-controls/control_msgs.git
+ version: galactic-devel
+ realtime_tools:
+ type: git
+ url: https://github.com/ros-controls/realtime_tools.git
+ version: master
diff --git a/ros2_controllers.rolling.repos b/ros2_controllers.rolling.repos
index 5b2339a137..3a667e7d9a 100644
--- a/ros2_controllers.rolling.repos
+++ b/ros2_controllers.rolling.repos
@@ -1,17 +1,13 @@
repositories:
- ros-controls/ros2_control:
+ ros2_control:
type: git
url: https://github.com/ros-controls/ros2_control.git
version: master
control_msgs:
type: git
url: https://github.com/ros-controls/control_msgs.git
- version: foxy-devel
+ version: galactic-devel
realtime_tools:
type: git
url: https://github.com/ros-controls/realtime_tools.git
- version: foxy-devel
- angles:
- type: git
- url: https://github.com/ros/angles.git
- version: ros2
+ version: master