diff --git a/.github/workflows/README.md b/.github/workflows/README.md
new file mode 100644
index 0000000000..fd751faeef
--- /dev/null
+++ b/.github/workflows/README.md
@@ -0,0 +1,7 @@
+
+ROS2 Distro | Branch | Build status | Documentation | Released packages
+:---------: | :----: | :----------: | :-----------: | :---------------:
+**Rolling** | [`rolling`](https://github.com/ros-controls/ros2_control/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-main.yml?branch=master)
[![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-testing.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-main.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-testing.yml?branch=master)
[![Rolling Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-source-build.yml?branch=master) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#rolling)
+**Humble** | [`humble`](https://github.com/ros-controls/ros2_control/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-main.yml?branch=master)
[![Humble Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-testing.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-main.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-testing.yml?branch=master)
[![Humble Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-source-build.yml?branch=master) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#humble)
+**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_control/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-main.yml?branch=galactic)
[![Galactic Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-testing.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-testing.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-main.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-testing.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-testing.yml?branch=galactic) | [Documentation](https://control.ros.org/galactic/index.html)
[API Reference](https://control.ros.org/galactic/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#galactic)
+**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_control/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-main.yml?branch=foxy)
[![Foxy Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-testing.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-testing.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-main.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-testing.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-testing.yml?branch=foxy) | [Documentation](https://control.ros.org/foxy/index.html)
[API Reference](https://control.ros.org/foxy/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#foxy)
diff --git a/.github/workflows/ci-coverage-build.yml b/.github/workflows/ci-coverage-build.yml
index 6fa6724f64..a2d02ed8a0 100644
--- a/.github/workflows/ci-coverage-build.yml
+++ b/.github/workflows/ci-coverage-build.yml
@@ -1,5 +1,8 @@
name: Coverage Build
on:
+ workflow_dispatch:
+ branches:
+ - master
pull_request:
branches:
- master
@@ -7,17 +10,17 @@ on:
jobs:
coverage:
name: coverage build
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
strategy:
fail-fast: false
env:
ROS_DISTRO: rolling
steps:
- - uses: ros-tooling/setup-ros@v0.2
+ - 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@v0.2
+ - uses: ros-tooling/action-ros-ci@0.2.6
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
import-token: ${{ secrets.GITHUB_TOKEN }}
@@ -31,6 +34,7 @@ jobs:
ros2_control
ros2_control_test_assets
transmission_interface
+
vcs-repo-file-url: |
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_control-not-released.${{ env.ROS_DISTRO }}.repos?token=${{ secrets.GITHUB_TOKEN }}
colcon-defaults: |
@@ -40,13 +44,12 @@ jobs:
}
}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- skip-tests: true
- - uses: codecov/codecov-action@v1.0.14
+ - uses: codecov/codecov-action@v3.1.0
with:
file: ros_ws/lcov/total_coverage.info
flags: unittests
name: codecov-umbrella
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v3.1.0
with:
- name: colcon-logs-${{ matrix.os }}
+ name: colcon-logs-ubuntu-22.04-coverage-rolling
path: ros_ws/log
diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml
index 55e1dad0c9..009c394bfe 100644
--- a/.github/workflows/ci-ros-lint.yml
+++ b/.github/workflows/ci-ros-lint.yml
@@ -9,13 +9,13 @@ jobs:
strategy:
fail-fast: false
matrix:
- linter: [copyright, cppcheck, lint_cmake]
+ linter: [cppcheck, copyright, lint_cmake]
steps:
- 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:
controller_interface
@@ -27,19 +27,21 @@ jobs:
ros2_control_test_assets
transmission_interface
- 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@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:
controller_interface
controller_manager
diff --git a/.github/workflows/foxy-abi-compatibility.yml b/.github/workflows/foxy-abi-compatibility.yml
index 40b1e1133f..7ce17effd0 100644
--- a/.github/workflows/foxy-abi-compatibility.yml
+++ b/.github/workflows/foxy-abi-compatibility.yml
@@ -1,5 +1,8 @@
-name: ABI Compatibility Check
+name: Foxy - ABI Compatibility Check
on:
+ workflow_dispatch:
+ branches:
+ - foxy
pull_request:
branches:
- foxy
diff --git a/.github/workflows/foxy-binary-build.yml b/.github/workflows/foxy-binary-build-main.yml
similarity index 84%
rename from .github/workflows/foxy-binary-build.yml
rename to .github/workflows/foxy-binary-build-main.yml
index da67426ec5..0d74ce64e4 100644
--- a/.github/workflows/foxy-binary-build.yml
+++ b/.github/workflows/foxy-binary-build-main.yml
@@ -1,8 +1,11 @@
-name: Foxy Binary Build
+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
@@ -18,5 +21,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
+ ros_repo: main
upstream_workspace: ros2_control-not-released.foxy.repos
ref_for_scheduled_build: foxy
diff --git a/.github/workflows/foxy-semi-binary-build.yml b/.github/workflows/foxy-semi-binary-build-main.yml
similarity index 81%
rename from .github/workflows/foxy-semi-binary-build.yml
rename to .github/workflows/foxy-semi-binary-build-main.yml
index 93f75616d3..68e709cc00 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
+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
@@ -17,5 +20,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
+ ros_repo: main
upstream_workspace: ros2_control.foxy.repos
ref_for_scheduled_build: foxy
diff --git a/.github/workflows/foxy-source-build.yml b/.github/workflows/foxy-source-build.yml
deleted file mode 100644
index 94be8d8b57..0000000000
--- a/.github/workflows/foxy-source-build.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: Foxy Source Build
-on:
- push:
- branches:
- - foxy
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '03 3 * * *'
-
-jobs:
- source:
- uses: ./.github/workflows/reusable-ros-tooling-source-build.yml
- with:
- ros_distro: foxy
- ref: foxy
diff --git a/.github/workflows/galactic-abi-compatibility.yml b/.github/workflows/galactic-abi-compatibility.yml
index 41c663dd9c..06a48ef9c7 100644
--- a/.github/workflows/galactic-abi-compatibility.yml
+++ b/.github/workflows/galactic-abi-compatibility.yml
@@ -1,5 +1,8 @@
-name: ABI Compatibility Check
+name: Galactic - ABI Compatibility Check
on:
+ workflow_dispatch:
+ branches:
+ - galactic
pull_request:
branches:
- galactic
diff --git a/.github/workflows/galactic-binary-build.yml b/.github/workflows/galactic-binary-build-main.yml
similarity index 83%
rename from .github/workflows/galactic-binary-build.yml
rename to .github/workflows/galactic-binary-build-main.yml
index 97f8a8f231..f50c773444 100644
--- a/.github/workflows/galactic-binary-build.yml
+++ b/.github/workflows/galactic-binary-build-main.yml
@@ -1,8 +1,11 @@
-name: Galactic Binary Build
+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
@@ -18,5 +21,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: galactic
+ ros_repo: main
upstream_workspace: ros2_control-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..cd2d5f0862
--- /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_control
+ - run: |
+ rosdep update
+ rosdep install -iy --from-path src/ros2_control
+ 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 85%
rename from .github/workflows/galactic-semi-binary-build.yml
rename to .github/workflows/galactic-semi-binary-build-main.yml
index 9e7073e263..0578366a45 100644
--- a/.github/workflows/galactic-semi-binary-build.yml
+++ b/.github/workflows/galactic-semi-binary-build-main.yml
@@ -1,8 +1,8 @@
-name: Galactic Semi-Binary Build
+name: Galactic Semi-Binary Build - main
# description: 'Build & test that compiles the main dependencies from source.'
on:
- pull_request:
+ workflow_dispatch:
branches:
- galactic
push:
@@ -17,5 +17,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: galactic
+ ros_repo: main
upstream_workspace: ros2_control.galactic.repos
ref_for_scheduled_build: galactic
diff --git a/.github/workflows/rolling-abi-compatibility-last-focal.yml b/.github/workflows/humble-abi-compatibility.yml
similarity index 53%
rename from .github/workflows/rolling-abi-compatibility-last-focal.yml
rename to .github/workflows/humble-abi-compatibility.yml
index 80433e2494..1be00cfc76 100644
--- a/.github/workflows/rolling-abi-compatibility-last-focal.yml
+++ b/.github/workflows/humble-abi-compatibility.yml
@@ -1,5 +1,8 @@
-name: ABI Compatibility Check - Last Focal
+name: Humble - ABI Compatibility Check
on:
+ workflow_dispatch:
+ branches:
+ - master
pull_request:
branches:
- master
@@ -11,11 +14,7 @@ jobs:
- uses: actions/checkout@v3
- uses: ros-industrial/industrial_ci@master
env:
- ROS_DISTRO: rolling
+ ROS_DISTRO: humble
ROS_REPO: main
ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
NOT_TEST_BUILD: true
- OS_CODE_NAME: focal
- BEFORE_INSTALL_UPSTREAM_DEPENDENCIES: |
- export ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/ros/rosdistro/rolling/2022-01-28/index-v4.yaml
- rosdep update
diff --git a/.github/workflows/humble-binary-build-main.yml b/.github/workflows/humble-binary-build-main.yml
new file mode 100644
index 0000000000..365744af4b
--- /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_control-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..edb94f3fe8
--- /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_control-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..554e306d65
--- /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_control
+ - run: |
+ rosdep update
+ rosdep install -iy --from-path src/ros2_control
+ 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..7e79db3264
--- /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_control.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..485e49f2cf
--- /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_control.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 57%
rename from .github/workflows/galactic-source-build.yml
rename to .github/workflows/humble-source-build.yml
index d1c3aa97e8..18c33b6d52 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: humble
diff --git a/.github/workflows/reusable-industrial-ci-with-cache.yml b/.github/workflows/reusable-industrial-ci-with-cache.yml
index 9d2722099d..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: ${{ matrix.ROS_REPO }} ${{ inputs.ros_distro }} ${{ inputs.os_code_name }}
- 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 71afebac1e..4e5174405d 100644
--- a/.github/workflows/reusable-ros-tooling-source-build.yml
+++ b/.github/workflows/reusable-ros-tooling-source-build.yml
@@ -13,21 +13,26 @@ 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
@@ -41,10 +46,10 @@ jobs:
ros2_control_test_assets
transmission_interface
vcs-repo-file-url: |
- https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ros_distro }}/ros2.repos
+ https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ros2_repo_branch }}/ros2.repos
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_control.${{ 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 dc797d7718..4589e92e3b 100644
--- a/.github/workflows/rolling-abi-compatibility.yml
+++ b/.github/workflows/rolling-abi-compatibility.yml
@@ -1,6 +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 83%
rename from .github/workflows/rolling-binary-build.yml
rename to .github/workflows/rolling-binary-build-main.yml
index 419d78e850..05a9b9c0b2 100644
--- a/.github/workflows/rolling-binary-build.yml
+++ b/.github/workflows/rolling-binary-build-main.yml
@@ -1,8 +1,11 @@
-name: Rolling Binary Build
+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
@@ -18,5 +21,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: rolling
+ ros_repo: main
upstream_workspace: ros2_control-not-released.rolling.repos
ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-binary-build-last-focal.yml b/.github/workflows/rolling-binary-build-testing.yml
similarity index 66%
rename from .github/workflows/rolling-binary-build-last-focal.yml
rename to .github/workflows/rolling-binary-build-testing.yml
index d9bfc0e334..811c96fce4 100644
--- a/.github/workflows/rolling-binary-build-last-focal.yml
+++ b/.github/workflows/rolling-binary-build-testing.yml
@@ -1,8 +1,11 @@
-name: Rolling Binary Build - Last Focal
+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
@@ -18,10 +21,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: rolling
+ ros_repo: testing
upstream_workspace: ros2_control-not-released.rolling.repos
ref_for_scheduled_build: master
- ros_repo: main
- os_code_name: focal
- before_install_upstream_dependencies: |
- export ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/ros/rosdistro/rolling/2022-01-28/index-v4.yaml
- rosdep update
diff --git a/.github/workflows/rolling-rhel-binary-build.yml b/.github/workflows/rolling-rhel-binary-build.yml
index c7d1ffc675..fe7386b75b 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
diff --git a/.github/workflows/rolling-semi-binary-build.yml b/.github/workflows/rolling-semi-binary-build-main.yml
similarity index 81%
rename from .github/workflows/rolling-semi-binary-build.yml
rename to .github/workflows/rolling-semi-binary-build-main.yml
index c6b0535ef9..1033dd1e6c 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
+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
@@ -17,5 +20,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: rolling
+ ros_repo: main
upstream_workspace: ros2_control.rolling.repos
ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-semi-binary-build-last-focal.yml b/.github/workflows/rolling-semi-binary-build-testing.yml
similarity index 63%
rename from .github/workflows/rolling-semi-binary-build-last-focal.yml
rename to .github/workflows/rolling-semi-binary-build-testing.yml
index 04538e34b8..4ddfcf5057 100644
--- a/.github/workflows/rolling-semi-binary-build-last-focal.yml
+++ b/.github/workflows/rolling-semi-binary-build-testing.yml
@@ -1,7 +1,10 @@
-name: Rolling Semi-Binary Build - Last Focal
+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
@@ -17,10 +20,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: rolling
+ ros_repo: testing
upstream_workspace: ros2_control.rolling.repos
ref_for_scheduled_build: master
- ros_repo: main
- os_code_name: focal
- before_install_upstream_dependencies: |
- export ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/ros/rosdistro/rolling/2022-01-28/index-v4.yaml
- rosdep update
diff --git a/.github/workflows/rolling-source-build.yml b/.github/workflows/rolling-source-build.yml
index 0a0ae8de43..b96ad0298e 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
diff --git a/README.md b/README.md
index a4a55c7c87..0d060c76f5 100644
--- a/README.md
+++ b/README.md
@@ -10,10 +10,12 @@ For more, please check the [documentation](https://ros-controls.github.io/contro
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
-**Rolling** | [`master`](https://github.com/ros-controls/ros2_control/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build.yml?branch=master)
[![Rolling Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-source-build.yml?branch=master) | [Documentation](https://control.ros.org)
[API Reference](https://control.ros.org/rolling/api/) | [ros2_control](https://index.ros.org/p/ros2_control/#rolling)
-**Rolling - last Focal** | [`master`](https://github.com/ros-controls/ros2_control/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-last-focal.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-last-focal.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-last-focal.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/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_control](https://index.ros.org/p/ros2_control/#rolling)
-**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_control/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build.yml?branch=galactic)
[![Galactic Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-source-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-source-build.yml?branch=galactic) | [Documentation](https://control.ros.org)
[API Reference](https://control.ros.org/rolling/api/) | [ros2_control](https://index.ros.org/p/ros2_control/#galactic)
-**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_control/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build.yml?branch=foxy)
[![Foxy Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-source-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-source-build.yml?branch=foxy) | [Documentation](https://control.ros.org)
[API Reference](https://control.ros.org/rolling/api/) | [ros2_control](https://index.ros.org/p/ros2_control/#foxy)
+**Rolling** | [`rolling`](https://github.com/ros-controls/ros2_control/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-main.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-main.yml?branch=master) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#rolling)
+**Humble** | [`humble`](https://github.com/ros-controls/ros2_control/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-main.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-main.yml?branch=master) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#humble)
+**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_control/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-main.yml?branch=galactic)
[![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-main.yml?branch=galactic) | [Documentation](https://control.ros.org/galactic/index.html)
[API Reference](https://control.ros.org/galactic/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#galactic)
+**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_control/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-main.yml?branch=foxy)
[![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-main.yml?branch=foxy) | [Documentation](https://control.ros.org/foxy/index.html)
[API Reference](https://control.ros.org/foxy/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#foxy)
+
+[Detailed build status](.github/workflows/README.md)
### Explanation of different build types
diff --git a/controller_manager_msgs/package.xml b/controller_manager_msgs/package.xml
index 4ff02ebbfb..de444ff168 100644
--- a/controller_manager_msgs/package.xml
+++ b/controller_manager_msgs/package.xml
@@ -20,6 +20,8 @@
lifecycle_msgs
rosidl_default_runtime
+ ament_lint_common
+
rosidl_interface_packages
ament_cmake
diff --git a/ros2_control-not-released.humble.repos b/ros2_control-not-released.humble.repos
new file mode 100644
index 0000000000..56f46b6f79
--- /dev/null
+++ b/ros2_control-not-released.humble.repos
@@ -0,0 +1 @@
+repositories:
diff --git a/ros2_control.humble.repos b/ros2_control.humble.repos
new file mode 100644
index 0000000000..afb1cbf640
--- /dev/null
+++ b/ros2_control.humble.repos
@@ -0,0 +1,9 @@
+repositories:
+ ros-controls/realtime_tools:
+ type: git
+ url: https://github.com/ros-controls/realtime_tools.git
+ version: foxy-devel
+ ros-controls/control_msgs:
+ type: git
+ url: https://github.com/ros-controls/control_msgs.git
+ version: galactic-devel