diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 8001a73e..148ccb0d 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -2,8 +2,8 @@
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
-**Rolling** | [`rolling`](https://github.com/ros-controls/realtime_tools/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-main.yml?branch=master)
[![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-testing.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-main.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-testing.yml?branch=master)
[![Rolling Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml?branch=master) | | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
-**Humble** | [`humble`](https://github.com/ros-controls/realtime_tools/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-main.yml?branch=master)
[![Humble Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-testing.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-main.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-testing.yml?branch=master)
[![Humble Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml?branch=master) | | [realtime_tools](https://index.ros.org/p/realtime_tools/#humble)
+**Rolling**
**Iron**
**Humble** | [`rolling`](https://github.com/ros-controls/realtime_tools/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml?branch=master)
[![Rolling Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
+
### Explanation of different build types
diff --git a/.github/workflows/iron-abi-compatibility.yml b/.github/workflows/abi-compatibility.yml
similarity index 67%
rename from .github/workflows/iron-abi-compatibility.yml
rename to .github/workflows/abi-compatibility.yml
index 75d54556..97f168c7 100644
--- a/.github/workflows/iron-abi-compatibility.yml
+++ b/.github/workflows/abi-compatibility.yml
@@ -1,4 +1,4 @@
-name: Iron - ABI Compatibility Check
+name: ABI Compatibility Check
on:
workflow_dispatch:
pull_request:
@@ -8,11 +8,15 @@ on:
jobs:
abi_check:
runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
steps:
- uses: actions/checkout@v4
- uses: ros-industrial/industrial_ci@master
env:
- ROS_DISTRO: iron
+ ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
ROS_REPO: main
ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
NOT_TEST_BUILD: true
diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml
new file mode 100644
index 00000000..317ed943
--- /dev/null
+++ b/.github/workflows/binary-build.yml
@@ -0,0 +1,29 @@
+name: Binary Build
+# author: Denis Štogl
+# description: 'Build & test all dependencies from released (binary) packages.'
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '03 1 * * *'
+
+jobs:
+ binary:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
+ ROS_REPO: [main, testing]
+ with:
+ ros_distro: ${{ matrix.ROS_DISTRO }}
+ ros_repo: ${{ matrix.ROS_REPO }}
+ upstream_workspace: realtime_tools-not-released.${{ matrix.ROS_DISTRO }}.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/ci-coverage-build.yml b/.github/workflows/ci-coverage-build.yml
index 7d51a5ad..fac54d19 100644
--- a/.github/workflows/ci-coverage-build.yml
+++ b/.github/workflows/ci-coverage-build.yml
@@ -11,39 +11,8 @@ on:
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.7.1
- with:
- required-ros-distributions: ${{ env.ROS_DISTRO }}
- - uses: actions/checkout@v4
- - uses: ros-tooling/action-ros-ci@0.3.6
- with:
- target-ros2-distro: ${{ env.ROS_DISTRO }}
- import-token: ${{ secrets.GITHUB_TOKEN }}
- # build all packages listed in the meta package
- package-name:
- realtime_tools
-
- vcs-repo-file-url: |
- https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/realtime_tools-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.5
- with:
- file: ros_ws/lcov/total_coverage.info
- flags: unittests
- name: codecov-umbrella
- - uses: actions/upload-artifact@v4.3.0
- with:
- name: colcon-logs-coverage-rolling
- path: ros_ws/log
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master
+ secrets: inherit
+ with:
+ ros_distro: rolling
+ os_name: ubuntu-22.04
diff --git a/.github/workflows/ci-format.yml b/.github/workflows/ci-format.yml
deleted file mode 100644
index 707d34c7..00000000
--- a/.github/workflows/ci-format.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# This is a format job. Pre-commit has a first-party GitHub action, so we use
-# that: https://github.com/pre-commit/action
-
-name: Format
-
-on:
- workflow_dispatch:
- pull_request:
-
-jobs:
- pre-commit:
- name: Format
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-python@v5.0.0
- with:
- python-version: '3.10'
- - name: Install system hooks
- run: sudo apt install -qq clang-format-14 cppcheck
- - uses: pre-commit/action@v3.0.0
- with:
- extra_args: --all-files --hook-stage manual
diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml
new file mode 100644
index 00000000..b0f523d6
--- /dev/null
+++ b/.github/workflows/ci-pre-commit.yml
@@ -0,0 +1,18 @@
+name: Pre-Commit
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ pre-commit:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
+ with:
+ ros_distro: ${{ matrix.ROS_DISTRO }}
+ os_name: ubuntu-22.04
diff --git a/.github/workflows/ci-ros-lint.yml b/.github/workflows/ci-ros-lint.yml
deleted file mode 100644
index 38a51c65..00000000
--- a/.github/workflows/ci-ros-lint.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-name: ROS Lint
-on:
- pull_request:
-
-jobs:
- ament_lint:
- name: ament_${{ matrix.linter }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- linter: [copyright, lint_cmake]
- steps:
- - uses: actions/checkout@v4
- - uses: ros-tooling/setup-ros@0.7.1
- - uses: ros-tooling/action-ros-lint@v0.1
- with:
- distribution: rolling
- linter: ${{ matrix.linter }}
- package-name:
- realtime_tools
-
- ament_cpplint:
- name: ament_${{ matrix.linter }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- linter: [cpplint]
- steps:
- - uses: actions/checkout@v4
- - uses: ros-tooling/setup-ros@0.7.1
- - uses: ros-tooling/action-ros-lint@v0.1
- with:
- distribution: rolling
- linter: cpplint
- arguments: "--linelength=100 --filter=-whitespace/newline"
- package-name:
- realtime_tools
-
- ament_cppcheck:
- name: ament_${{ matrix.linter }}
- runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- matrix:
- linter: [cppcheck]
- env:
- AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS: true
- steps:
- - uses: actions/checkout@v4
- - uses: ros-tooling/setup-ros@0.7.1
- - uses: ros-tooling/action-ros-lint@v0.1
- with:
- distribution: rolling
- linter: ${{ matrix.linter }}
- arguments: "--language=c++"
- package-name:
- realtime_tools
diff --git a/.github/workflows/debian-build.yml b/.github/workflows/debian-build.yml
new file mode 100644
index 00000000..741bd1c4
--- /dev/null
+++ b/.github/workflows/debian-build.yml
@@ -0,0 +1,22 @@
+name: Debian Build
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - master
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '33 2 * * *'
+
+
+jobs:
+ debian_source_build:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
+ with:
+ ros_distro: ${{ matrix.ROS_DISTRO }}
+ upstream_workspace: realtime_tools.${{ matrix.ROS_DISTRO }}.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml
deleted file mode 100644
index fe7f32f4..00000000
--- a/.github/workflows/humble-abi-compatibility.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-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@v4
- - 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
deleted file mode 100644
index 9d195a0d..00000000
--- a/.github/workflows/humble-binary-build-main.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-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: realtime_tools-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
deleted file mode 100644
index 1febf36a..00000000
--- a/.github/workflows/humble-binary-build-testing.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-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: realtime_tools-not-released.humble.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/humble-debian-build.yml b/.github/workflows/humble-debian-build.yml
deleted file mode 100644
index 2c4edc3c..00000000
--- a/.github/workflows/humble-debian-build.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: Debian Humble Build
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - master
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '33 2 * * *'
-
-
-jobs:
- humble_debian:
- name: Humble debian build
- runs-on: ubuntu-latest
- env:
- ROS_DISTRO: humble
- container: ghcr.io/ros-controls/ros:humble-debian
- steps:
- - uses: actions/checkout@v4
- with:
- path: src/realtime_tools
- - name: Build and test
- shell: bash
- run: |
- source /opt/ros2_ws/install/setup.bash
- vcs import src < src/realtime_tools/realtime_tools.${{ env.ROS_DISTRO }}.repos
- colcon build
- colcon test
- colcon test-result --verbose
diff --git a/.github/workflows/humble-rhel-binary-build.yml b/.github/workflows/humble-rhel-binary-build.yml
deleted file mode 100644
index 878c2cde..00000000
--- a/.github/workflows/humble-rhel-binary-build.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: RHEL Humble Binary Build
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - master
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '03 3 * * *'
-
-jobs:
- humble_rhel_binary:
- name: Humble RHEL binary build
- runs-on: ubuntu-latest
- env:
- ROS_DISTRO: humble
- container: ghcr.io/ros-controls/ros:humble-rhel
- steps:
- - uses: actions/checkout@v4
- with:
- path: src/realtime_tools
- - name: Install dependencies
- run: |
- rosdep update
- rosdep install -iyr --from-path src/realtime_tools || true
- - name: Build and test
- run: |
- source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
- colcon build
- colcon test
- colcon test-result --verbose
diff --git a/.github/workflows/humble-semi-binary-build-main.yml b/.github/workflows/humble-semi-binary-build-main.yml
deleted file mode 100644
index 3b56f2f3..00000000
--- a/.github/workflows/humble-semi-binary-build-main.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-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: realtime_tools.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
deleted file mode 100644
index 18779d26..00000000
--- a/.github/workflows/humble-semi-binary-build-testing.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-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: realtime_tools.humble.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/humble-source-build.yml b/.github/workflows/humble-source-build.yml
deleted file mode 100644
index 18c33b6d..00000000
--- a/.github/workflows/humble-source-build.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Humble Source Build
-on:
- workflow_dispatch:
- branches:
- - master
- push:
- branches:
- - master
- 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: humble
- ref: master
- ros2_repo_branch: humble
diff --git a/.github/workflows/iron-binary-build-main.yml b/.github/workflows/iron-binary-build-main.yml
deleted file mode 100644
index da71a69a..00000000
--- a/.github/workflows/iron-binary-build-main.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Iron Binary Build - main
-# author: Denis Štogl
-# description: 'Build & test all dependencies from released (binary) packages.'
-
-on:
- workflow_dispatch:
- 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: iron
- ros_repo: main
- upstream_workspace: realtime_tools-not-released.rolling.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/iron-binary-build-testing.yml b/.github/workflows/iron-binary-build-testing.yml
deleted file mode 100644
index 51047b14..00000000
--- a/.github/workflows/iron-binary-build-testing.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Iron Binary Build - testing
-# author: Denis Štogl
-# description: 'Build & test all dependencies from released (binary) packages.'
-
-on:
- workflow_dispatch:
- 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: iron
- ros_repo: testing
- upstream_workspace: realtime_tools-not-released.rolling.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/iron-debian-build.yml b/.github/workflows/iron-debian-build.yml
deleted file mode 100644
index 54a618e8..00000000
--- a/.github/workflows/iron-debian-build.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: Debian Iron Build
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - master
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '33 2 * * *'
-
-
-jobs:
- iron_debian:
- name: Iron debian build
- runs-on: ubuntu-latest
- env:
- ROS_DISTRO: iron
- container: ghcr.io/ros-controls/ros:iron-debian
- steps:
- - uses: actions/checkout@v4
- with:
- path: src/realtime_tools
- - name: Build and test
- shell: bash
- run: |
- source /opt/ros2_ws/install/setup.bash
- vcs import src < src/realtime_tools/realtime_tools.${{ env.ROS_DISTRO }}.repos
- colcon build
- colcon test
- colcon test-result --verbose
diff --git a/.github/workflows/iron-rhel-binary-build.yml b/.github/workflows/iron-rhel-binary-build.yml
deleted file mode 100644
index ce7dcfb0..00000000
--- a/.github/workflows/iron-rhel-binary-build.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-name: RHEL Iron Binary Build
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - master
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '03 3 * * *'
-
-
-jobs:
- iron_rhel_binary:
- name: Iron RHEL binary build
- runs-on: ubuntu-latest
- env:
- ROS_DISTRO: iron
- container: ghcr.io/ros-controls/ros:iron-rhel
- steps:
- - uses: actions/checkout@v4
- with:
- path: src/realtime_tools
- - name: Install dependencies
- run: |
- rosdep update
- rosdep install -iyr --from-path src/realtime_tools || true
- - name: Build and test
- run: |
- source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
- colcon build
- colcon test
- colcon test-result --verbose
diff --git a/.github/workflows/iron-semi-binary-build-main.yml b/.github/workflows/iron-semi-binary-build-main.yml
deleted file mode 100644
index 3e808ee8..00000000
--- a/.github/workflows/iron-semi-binary-build-main.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: Iron Semi-Binary Build - main
-# description: 'Build & test that compiles the main dependencies from source.'
-
-on:
- workflow_dispatch:
- 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: iron
- ros_repo: main
- upstream_workspace: realtime_tools.iron.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/iron-semi-binary-build-testing.yml b/.github/workflows/iron-semi-binary-build-testing.yml
deleted file mode 100644
index ab02e71b..00000000
--- a/.github/workflows/iron-semi-binary-build-testing.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: Iron Semi-Binary Build - testing
-# description: 'Build & test that compiles the main dependencies from source.'
-
-on:
- workflow_dispatch:
- 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: iron
- ros_repo: testing
- upstream_workspace: realtime_tools.rolling.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/iron-source-build.yml b/.github/workflows/iron-source-build.yml
deleted file mode 100644
index 54a17cc6..00000000
--- a/.github/workflows/iron-source-build.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Iron Source Build
-on:
- workflow_dispatch:
- push:
- branches:
- - master
- 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: iron
- ref: master
- ros2_repo_branch: iron
diff --git a/.github/workflows/reusable-industrial-ci-with-cache.yml b/.github/workflows/reusable-industrial-ci-with-cache.yml
deleted file mode 100644
index 7a8c8b64..00000000
--- a/.github/workflows/reusable-industrial-ci-with-cache.yml
+++ /dev/null
@@ -1,96 +0,0 @@
-name: Reusable industrial_ci Workflow with Cache
-# Reusable action to simplify dealing with ROS/ROS2 industrial_ci builds with cache
-# author: Denis Štogl
-
-on:
- workflow_call:
- inputs:
- ref_for_scheduled_build:
- description: 'Reference on which the repo should be checkout for scheduled build. Usually is this name of a branch or a tag.'
- default: ''
- required: false
- type: string
-
- upstream_workspace:
- description: 'UPSTREAM_WORKSPACE variable for industrial_ci. Usually path to local .repos file.'
- required: true
- type: string
- ros_distro:
- description: 'ROS_DISTRO variable for industrial_ci'
- required: true
- type: string
- ros_repo:
- description: 'ROS_REPO to run for industrial_ci. Possible values: "main", "testing"'
- default: 'main'
- required: false
- type: string
- os_code_name:
- description: 'OS_CODE_NAME variable for industrial_ci'
- default: ''
- required: false
- type: string
- before_install_upstream_dependencies:
- description: 'BEFORE_INSTALL_UPSTREAM_DEPENDENCIES variable for industrial_ci'
- default: ''
- required: false
- type: string
-
- ccache_dir:
- description: 'Local path to store cache (from "github.workspace"). For standard industrial_ci configuration do not have to be changed'
- default: '.ccache'
- required: false
- type: string
- basedir:
- description: 'Local path to workspace base directory to cache (from "github.workspace"). For standard industrial_ci configuration do not have to be changed'
- default: '.work'
- required: false
- type: string
-
-
-jobs:
- reusable_industrial_ci_with_cache:
- 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 }}-${{ inputs.ros_repo }}-${{ github.job }}
- steps:
- - name: Checkout ${{ inputs.ref }} when build is not scheduled
- if: ${{ github.event_name != 'schedule' }}
- uses: actions/checkout@v4
- - name: Checkout ${{ inputs.ref }} on scheduled build
- if: ${{ github.event_name == 'schedule' }}
- uses: actions/checkout@v4
- with:
- ref: ${{ inputs.ref_for_scheduled_build }}
- - name: cache target_ws
- if: ${{ ! matrix.env.CCOV }}
- uses: pat-s/always-upload-cache@v3.0.11
- with:
- path: ${{ env.BASEDIR }}/target_ws
- key: target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}-${{ github.run_id }}
- restore-keys: |
- target_ws-${{ env.CACHE_PREFIX }}-${{ hashFiles('**/CMakeLists.txt', '**/package.xml') }}
- - name: cache ccache
- uses: pat-s/always-upload-cache@v3.0.11
- with:
- path: ${{ env.CCACHE_DIR }}
- key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
- restore-keys: |
- ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
- ccache-${{ env.CACHE_PREFIX }}
- - uses: 'ros-industrial/industrial_ci@master'
- env:
- UPSTREAM_WORKSPACE: ${{ inputs.upstream_workspace }}
- ROS_DISTRO: ${{ inputs.ros_distro }}
- 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 }}
- 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
diff --git a/.github/workflows/reusable-ros-tooling-source-build.yml b/.github/workflows/reusable-ros-tooling-source-build.yml
deleted file mode 100644
index afcd4d01..00000000
--- a/.github/workflows/reusable-ros-tooling-source-build.yml
+++ /dev/null
@@ -1,49 +0,0 @@
-name: Reusable industrial_ci Workflow with Cache
-# Reusable action to simplify dealing with ROS/ROS2 industrial_ci builds with cache
-# author: Denis Štogl
-
-on:
- workflow_call:
- inputs:
- ros_distro:
- description: 'ROS2 distribution name'
- required: true
- type: string
- ref:
- 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 repository from which ".repos" should be used. Possible values: master (Rolling), iron, humble, galactic, foxy.'
- default: 'master'
- required: false
- type: string
-
-jobs:
- reusable_ros_tooling_source_build:
- name: ${{ inputs.ros_distro }} ubuntu-22.04
- runs-on: ubuntu-22.04
- strategy:
- fail-fast: false
- steps:
- - uses: ros-tooling/setup-ros@0.7.1
- with:
- required-ros-distributions: ${{ inputs.ros_distro }}
- - uses: actions/checkout@v4
- with:
- ref: ${{ inputs.ref }}
- - uses: ros-tooling/action-ros-ci@0.3.6
- with:
- target-ros2-distro: ${{ inputs.ros_distro }}
- # build all packages listed in the meta package
- package-name:
- realtime_tools
-
- vcs-repo-file-url: |
- https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ros2_repo_branch }}/ros2.repos
- https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/realtime_tools.${{ 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@v4.3.0
- with:
- name: colcon-logs-ubuntu-22.04
- path: ros_ws/log
diff --git a/.github/workflows/reviewer_lottery.yml b/.github/workflows/reviewer_lottery.yml
new file mode 100644
index 00000000..0584f4a7
--- /dev/null
+++ b/.github/workflows/reviewer_lottery.yml
@@ -0,0 +1,10 @@
+name: Reviewer lottery
+# pull_request_target takes the same events as pull_request,
+# but it runs on the base branch instead of the head branch.
+on:
+ pull_request_target:
+ types: [opened, ready_for_review, reopened]
+
+jobs:
+ assign_reviewers:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-reviewer-lottery.yml@master
diff --git a/.github/workflows/rhel-semi-binary-build.yml b/.github/workflows/rhel-semi-binary-build.yml
new file mode 100644
index 00000000..6ec6399b
--- /dev/null
+++ b/.github/workflows/rhel-semi-binary-build.yml
@@ -0,0 +1,22 @@
+name: RHEL Binary Build
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - master
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 3 * * *'
+
+
+jobs:
+ rhel_semi_binary_build:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
+ with:
+ ros_distro: ${{ matrix.ROS_DISTRO }}
+ upstream_workspace: realtime_tools.${{ matrix.ROS_DISTRO }}.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml
deleted file mode 100644
index 3911434a..00000000
--- a/.github/workflows/rolling-abi-compatibility.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-name: Rolling - ABI Compatibility Check
-on:
- workflow_dispatch:
- branches:
- - master
- pull_request:
- branches:
- - master
-
-jobs:
- abi_check:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: ros-industrial/industrial_ci@master
- env:
- ROS_DISTRO: rolling
- ROS_REPO: main
- ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
- NOT_TEST_BUILD: true
diff --git a/.github/workflows/rolling-binary-build-main.yml b/.github/workflows/rolling-binary-build-main.yml
deleted file mode 100644
index fddf6235..00000000
--- a/.github/workflows/rolling-binary-build-main.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-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
- 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: main
- upstream_workspace: realtime_tools-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
deleted file mode 100644
index f81f3f83..00000000
--- a/.github/workflows/rolling-binary-build-testing.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-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: realtime_tools-not-released.rolling.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-debian-build.yml b/.github/workflows/rolling-debian-build.yml
deleted file mode 100644
index 8094a29d..00000000
--- a/.github/workflows/rolling-debian-build.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: Debian Rolling Build
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - master
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '33 2 * * *'
-
-
-jobs:
- rolling_debian:
- name: Rolling debian build
- runs-on: ubuntu-latest
- env:
- ROS_DISTRO: rolling
- container: ghcr.io/ros-controls/ros:rolling-debian
- steps:
- - uses: actions/checkout@v4
- with:
- path: src/realtime_tools
- - name: Build and test
- shell: bash
- run: |
- source /opt/ros2_ws/install/setup.bash
- vcs import src < src/realtime_tools/realtime_tools.${{ env.ROS_DISTRO }}.repos
- colcon build
- colcon test
- colcon test-result --verbose
diff --git a/.github/workflows/rolling-rhel-binary-build.yml b/.github/workflows/rolling-rhel-binary-build.yml
deleted file mode 100644
index 9aba99ea..00000000
--- a/.github/workflows/rolling-rhel-binary-build.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-name: RHEL Rolling Binary Build
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - master
- schedule:
- # Run every day to detect flakiness and broken dependencies
- - cron: '03 3 * * *'
-
-
-jobs:
- rolling_rhel_binary:
- name: Rolling RHEL binary build
- runs-on: ubuntu-latest
- env:
- ROS_DISTRO: rolling
- container: ghcr.io/ros-controls/ros:rolling-rhel
- steps:
- - uses: actions/checkout@v4
- with:
- path: src/realtime_tools
- - name: Install dependencies
- run: |
- rosdep update
- rosdep install -iyr --from-path src/realtime_tools || true
- - name: Build and test
- run: |
- source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
- colcon build
- colcon test
- colcon test-result --verbose
diff --git a/.github/workflows/rolling-semi-binary-build-main.yml b/.github/workflows/rolling-semi-binary-build-main.yml
deleted file mode 100644
index 59d44f39..00000000
--- a/.github/workflows/rolling-semi-binary-build-main.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-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
- 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: main
- upstream_workspace: realtime_tools.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
deleted file mode 100644
index bbe24d78..00000000
--- a/.github/workflows/rolling-semi-binary-build-testing.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-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: realtime_tools.rolling.repos
- ref_for_scheduled_build: master
diff --git a/.github/workflows/rolling-source-build.yml b/.github/workflows/rolling-source-build.yml
deleted file mode 100644
index 40abcd1b..00000000
--- a/.github/workflows/rolling-source-build.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Rolling Source Build
-on:
- workflow_dispatch:
- branches:
- - master
- push:
- branches:
- - master
- 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: rolling
- ref: master
- ros2_repo_branch: rolling
diff --git a/.github/workflows/semi-binary-build.yml b/.github/workflows/semi-binary-build.yml
new file mode 100644
index 00000000..532ff9e2
--- /dev/null
+++ b/.github/workflows/semi-binary-build.yml
@@ -0,0 +1,28 @@
+name: Semi-Binary Build
+# description: 'Build & test that compiles the main dependencies from source.'
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every morning to detect flakiness and broken dependencies
+ - cron: '33 1 * * *'
+
+jobs:
+ semi_binary:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
+ ROS_REPO: [main, testing]
+ with:
+ ros_distro: ${{ matrix.ROS_DISTRO }}
+ ros_repo: ${{ matrix.ROS_REPO }}
+ upstream_workspace: realtime_tools.${{ matrix.ROS_DISTRO }}.repos
+ ref_for_scheduled_build: master
diff --git a/.github/workflows/source-build.yml b/.github/workflows/source-build.yml
new file mode 100644
index 00000000..d228992a
--- /dev/null
+++ b/.github/workflows/source-build.yml
@@ -0,0 +1,21 @@
+name: Source Build
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - master
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 3 * * *'
+
+jobs:
+ source:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, iron, humble]
+ with:
+ ros_distro: ${{ matrix.ROS_DISTRO }}
+ ref: master
+ ros2_repo_branch: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/update-pre-commit.yml b/.github/workflows/update-pre-commit.yml
new file mode 100644
index 00000000..8b9545df
--- /dev/null
+++ b/.github/workflows/update-pre-commit.yml
@@ -0,0 +1,12 @@
+name: Auto Update pre-commit
+# Update pre-commit config and create PR if changes are detected
+# author: Christoph Fröhlich
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 0 * * 0' # Run every Sunday at midnight
+
+jobs:
+ auto_update_and_create_pr:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-update-pre-commit.yml@master
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 9e166c26..d86df27f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,3 +1,4 @@
+
# To use:
#
# pre-commit run -a
@@ -15,7 +16,7 @@
repos:
# Standard hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.4.0
+ rev: v4.5.0
hooks:
- id: check-added-large-files
- id: check-ast
@@ -29,69 +30,58 @@ repos:
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
+ exclude_types: [rst]
- id: fix-byte-order-marker
+
# Python hooks
- repo: https://github.com/asottile/pyupgrade
- rev: v3.3.1
+ rev: v3.15.1
hooks:
- id: pyupgrade
args: [--py36-plus]
- - repo: https://github.com/psf/black
- rev: 22.12.0
- hooks:
- - id: black
- args: ["--line-length=99"]
-
# PyDocStyle
- repo: https://github.com/PyCQA/pydocstyle
- rev: 6.2.2
+ rev: 6.3.0
hooks:
- id: pydocstyle
args: ["--ignore=D100,D101,D102,D103,D104,D105,D106,D107,D203,D212,D404"]
+ - repo: https://github.com/psf/black
+ rev: 24.2.0
+ hooks:
+ - id: black
+ args: ["--line-length=99"]
+
- repo: https://github.com/pycqa/flake8
- rev: 6.0.0
+ rev: 7.0.0
hooks:
- id: flake8
- args: ["--ignore=E501"]
+ args: ["--extend-ignore=E501"]
# CPP hooks
- - repo: local
+ - repo: https://github.com/pre-commit/mirrors-clang-format
+ rev: v17.0.6
hooks:
- id: clang-format
- name: clang-format
- description: Format files with ClangFormat.
- entry: clang-format-14
- 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']
- # 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:
- id: ament_cppcheck
name: ament_cppcheck
description: Static code analysis of C/C++ files.
- stages: [commit]
- entry: ament_cppcheck
+ entry: env AMENT_CPPCHECK_ALLOW_SLOW_VERSIONS=1 ament_cppcheck
language: system
files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$
args: ['--language=c++']
- # Maybe use https://github.com/cpplint/cpplint instead
- repo: local
hooks:
- id: ament_cpplint
name: ament_cpplint
description: Static code analysis of C/C++ files.
- stages: [commit]
entry: ament_cpplint
language: system
files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$
@@ -103,7 +93,6 @@ repos:
- id: ament_lint_cmake
name: ament_lint_cmake
description: Check format of CMakeLists.txt files.
- stages: [commit]
entry: ament_lint_cmake
language: system
files: CMakeLists\.txt$
@@ -114,7 +103,6 @@ repos:
- id: ament_copyright
name: ament_copyright
description: Check if copyright notice is available in all files.
- stages: [commit]
entry: ament_copyright
language: system
@@ -127,7 +115,7 @@ repos:
exclude: CHANGELOG\.rst$
- repo: https://github.com/pre-commit/pygrep-hooks
- rev: v1.9.0
+ rev: v1.10.0
hooks:
- id: rst-backticks
exclude: CHANGELOG\.rst$
@@ -137,8 +125,18 @@ repos:
# Spellcheck in comments and docs
# skipping of *.svg files is not working...
- repo: https://github.com/codespell-project/codespell
- rev: v2.2.2
+ rev: v2.2.6
hooks:
- id: codespell
args: ['--write-changes']
- exclude: CHANGELOG\.rst|\.(svg|pyc|drawio)$
+ exclude: CHANGELOG\.rst|\.(svg|pyc)$
+
+ - repo: https://github.com/python-jsonschema/check-jsonschema
+ rev: 0.28.0
+ hooks:
+ - id: check-github-workflows
+ args: ["--verbose"]
+ - id: check-github-actions
+ args: ["--verbose"]
+ - id: check-dependabot
+ args: ["--verbose"]
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a1410739..d5670e05 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -52,3 +52,12 @@ Looking at the existing issues is a great way to find something to contribute on
As this project, by default, uses the default GitHub issue labels
(enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'][help-wanted] issues
is a great place to start.
+
+## Licensing
+Any contribution that you make to this repository will
+be under the 3-Clause BSD License, as dictated by that
+[license](https://opensource.org/licenses/BSD-3-Clause).
+
+[issues]: https://github.com/ros-controls/realtime_tools/issues
+[closed-issues]: https://github.com/ros-controls/realtime_tools/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20
+[help-wanted]: https://github.com/ros-controls/realtime_tools/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22
diff --git a/README.md b/README.md
index 55523bd7..6564534b 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,15 @@
realtime_tools
===========
+[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![codecov](https://codecov.io/gh/ros-controls/realtime_tools/branch/master/graph/badge.svg?token=Osge1FOaAh)](https://app.codecov.io/gh/ros-controls/realtime_tools/tree/master)
-See [control.ros.org](http://control.ros.org) and [realtime_tools](http://wiki.ros.org/realtime_tools) documentation on ros.org
-
## Build status
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
-**Rolling** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build-main.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-semi-binary-build-main.yml?branch=master) | | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
-**Iron** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Iron Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/iron-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/iron-binary-build-main.yml?branch=master)
[![Iron Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/iron-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/iron-semi-binary-build-main.yml?branch=master) | | [realtime_tools](https://index.ros.org/p/realtime_tools/#iron)
-**Humble** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Humble Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build-main.yml?branch=master)
[![Humble Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-semi-binary-build-main.yml?branch=master) | | [realtime_tools](https://index.ros.org/p/realtime_tools/#humble)
+**Rolling** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Rolling Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/binary-build.yml?branch=master)
[![Rolling Semi-Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/semi-binary-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling)
+**Iron** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | see above | [API](http://docs.ros.org/en/iron/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#iron)
+**Humble** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | see above | [API](http://docs.ros.org/en/humble/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#humble)
### Explanation of different build types
diff --git a/test/realtime_server_goal_handle_tests.cpp b/test/realtime_server_goal_handle_tests.cpp
index 93d3eee2..69631d35 100644
--- a/test/realtime_server_goal_handle_tests.cpp
+++ b/test/realtime_server_goal_handle_tests.cpp
@@ -124,7 +124,7 @@ struct ActionClientCallbacks
std::shared_ptr send_goal(
rclcpp::Node::SharedPtr node, std::shared_ptr> ac,
- const std::string & server_name, ActionClientCallbacks & client_callbacks)
+ const std::string & /*server_name*/, ActionClientCallbacks & client_callbacks)
{
for (size_t i = 0; i < ATTEMPTS && !ac->action_server_is_ready(); ++i) {
rclcpp::spin_some(node);