diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml index 6fa3261..09fdb17 100644 --- a/.github/workflows/humble-binary-build.yml +++ b/.github/workflows/humble-binary-build.yml @@ -4,6 +4,11 @@ name: Humble Stack Build on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/humble-binary-build.yml' + - '.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.humble.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.github/workflows/iron-binary-build.yml b/.github/workflows/iron-binary-build.yml index dfc3f90..2ba939f 100644 --- a/.github/workflows/iron-binary-build.yml +++ b/.github/workflows/iron-binary-build.yml @@ -4,6 +4,11 @@ name: Iron Stack Build on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/iron-binary-build.yml' + - '.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.iron.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.github/workflows/jazzy-binary-build.yml b/.github/workflows/jazzy-binary-build.yml index 5d67897..50a5595 100644 --- a/.github/workflows/jazzy-binary-build.yml +++ b/.github/workflows/jazzy-binary-build.yml @@ -4,6 +4,11 @@ name: Jazzy Stack Build on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/jazzy-binary-build.yml' + - '.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.jazzy.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.github/workflows/reusable-build-coverage.yml b/.github/workflows/reusable-build-coverage.yml index fc269ad..bb09926 100644 --- a/.github/workflows/reusable-build-coverage.yml +++ b/.github/workflows/reusable-build-coverage.yml @@ -34,7 +34,7 @@ jobs: echo ~/.local/opt/node/bin >> $GITHUB_PATH # needed only if a non-ros image is used - - uses: ros-tooling/setup-ros@0.7.4 + - uses: ros-tooling/setup-ros@0.7.7 if: ${{ steps.prereq.outputs.need_ros2 == '1' }} with: use-ros2-testing: true @@ -55,7 +55,7 @@ jobs: echo "No local repos file found" echo "repo_file=" >> $GITHUB_OUTPUT fi - - uses: ros-tooling/action-ros-ci@0.3.11 + - uses: ros-tooling/action-ros-ci@0.3.14 with: target-ros2-distro: ${{ inputs.ros_distro }} import-token: ${{ secrets.GITHUB_TOKEN }} @@ -76,7 +76,7 @@ jobs: flags: unittests name: codecov-umbrella token: ${{ secrets.CODECOV_TOKEN }} - - uses: actions/upload-artifact@v4.3.3 + - uses: actions/upload-artifact@v4.3.4 with: name: colcon-logs-coverage-${{ inputs.ros_distro }} path: ros_ws/log diff --git a/.github/workflows/reusable-pre-commit.yml b/.github/workflows/reusable-pre-commit.yml index 279f759..bff0f28 100644 --- a/.github/workflows/reusable-pre-commit.yml +++ b/.github/workflows/reusable-pre-commit.yml @@ -39,7 +39,7 @@ jobs: echo ~/.local/opt/node/bin >> $GITHUB_PATH # needed only if a non-ros image is used - - uses: ros-tooling/setup-ros@0.7.4 + - uses: ros-tooling/setup-ros@0.7.7 if: ${{ steps.prereq.outputs.need_ros2 == '1' }} with: use-ros2-testing: true diff --git a/.github/workflows/reusable-ros-tooling-source-build.yml b/.github/workflows/reusable-ros-tooling-source-build.yml index 3639f3b..b5885f2 100644 --- a/.github/workflows/reusable-ros-tooling-source-build.yml +++ b/.github/workflows/reusable-ros-tooling-source-build.yml @@ -58,7 +58,7 @@ jobs: echo ~/.local/opt/node/bin >> $GITHUB_PATH # needed only if a non-ros image is used - - uses: ros-tooling/setup-ros@0.7.4 + - uses: ros-tooling/setup-ros@0.7.7 with: use-ros2-testing: true - uses: actions/checkout@v4 @@ -69,14 +69,24 @@ jobs: uses: ros-controls/ros2_control_ci/.github/actions/set-package-list@master with: path: ${{ env.path }} - - uses: ros-tooling/action-ros-ci@0.3.11 + - name: Check for local repos file + id: check_local_repos + run: | + if [ -f ${{ env.path }}/${{ steps.package_list_action.outputs.repo_name }}.${{ inputs.ros_distro }}.repos ]; then + echo "Local repos file found" + echo "repo_file=${{ env.path }}/${{ steps.package_list_action.outputs.repo_name }}.${{ inputs.ros_distro }}.repos" >> $GITHUB_OUTPUT + else + echo "No local repos file found" + echo "repo_file=" >> $GITHUB_OUTPUT + fi + - uses: ros-tooling/action-ros-ci@0.3.14 with: target-ros2-distro: ${{ inputs.ros_distro }} ref: ${{ inputs.ref }} package-name: ${{ steps.package_list_action.outputs.package_list }} vcs-repo-file-url: | https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ros2_repo_branch }}/ros2.repos - ${{ env.path }}/${{ steps.package_list_action.outputs.repo_name }}.${{ inputs.ros_distro }}.repos + ${{ steps.check_local_repos.outputs.repo_file }} colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml id: action-ros - name: Download issue template for target failure # Has to be a local file @@ -94,7 +104,7 @@ jobs: with: update_existing: true filename: .github/issue_template_failed_ci.md - - uses: actions/upload-artifact@v4.3.3 + - uses: actions/upload-artifact@v4.3.4 with: name: colcon-logs-${{ inputs.os_name }}-${{ inputs.ros_distro }} path: ros_ws/log diff --git a/.github/workflows/reusable-rosdoc2.yml b/.github/workflows/reusable-rosdoc2.yml index 3aaee89..00c78f4 100644 --- a/.github/workflows/reusable-rosdoc2.yml +++ b/.github/workflows/reusable-rosdoc2.yml @@ -11,15 +11,14 @@ jobs: # this will be src/{repo-owner}/{repo-name} path: src/${{ github.repository }} steps: - - uses: ros-tooling/setup-ros@0.7.4 + - uses: ros-tooling/setup-ros@0.7.7 - name: Install rosdoc2 and deps run: | sudo apt-get update sudo apt install -y python3-pip git doxygen graphviz python3 -m venv .venv source .venv/bin/activate - # TODO(anyone) remove if https://github.com/sphinx-doc/sphinx/pull/12298/files is merged - pip install Sphinx==7.2.6 + pip install Sphinx git clone https://github.com/ros-infrastructure/rosdoc2.git pip install --upgrade rosdoc2/ - uses: actions/checkout@v4 diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml index daf434d..1febf4b 100644 --- a/.github/workflows/rolling-binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -4,6 +4,11 @@ name: Rolling Stack Build on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-binary-build.yml' + - './.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.rolling.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.github/workflows/rolling-compatibility-humble-binary-build.yml b/.github/workflows/rolling-compatibility-humble-binary-build.yml index a5a4d8a..2871118 100644 --- a/.github/workflows/rolling-compatibility-humble-binary-build.yml +++ b/.github/workflows/rolling-compatibility-humble-binary-build.yml @@ -4,6 +4,11 @@ name: Check Rolling Compatibility on Humble on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-compatibility-humble-binary-build.yml' + - '.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.rolling-on-humble.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.github/workflows/rolling-compatibility-iron-binary-build.yml b/.github/workflows/rolling-compatibility-iron-binary-build.yml index 04f39bb..ef58113 100644 --- a/.github/workflows/rolling-compatibility-iron-binary-build.yml +++ b/.github/workflows/rolling-compatibility-iron-binary-build.yml @@ -4,6 +4,11 @@ name: Check Rolling Compatibility on Iron on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-compatibility-iron-binary-build.yml' + - '.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.rolling-on-iron.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.github/workflows/rolling-compatibility-jazzy-binary-build.yml b/.github/workflows/rolling-compatibility-jazzy-binary-build.yml index c3d0d19..29ce625 100644 --- a/.github/workflows/rolling-compatibility-jazzy-binary-build.yml +++ b/.github/workflows/rolling-compatibility-jazzy-binary-build.yml @@ -4,6 +4,11 @@ name: Check Rolling Compatibility on Jazzy on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-compatibility-jazzy-binary-build.yml' + - '.github/workflows/reusable-industrial-ci-with-cache.yml' + - 'ros_controls.rolling-on-jazzy.repos' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5f78265..86bc7bb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,7 @@ repos: # Python hooks - repo: https://github.com/asottile/pyupgrade - rev: v3.15.2 + rev: v3.16.0 hooks: - id: pyupgrade args: [--py36-plus] @@ -55,14 +55,14 @@ repos: args: ["--line-length=99"] - repo: https://github.com/pycqa/flake8 - rev: 7.0.0 + rev: 7.1.0 hooks: - id: flake8 args: ["--extend-ignore=E501"] # CPP hooks - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v18.1.4 + rev: v18.1.8 hooks: - id: clang-format args: ['-fallback-style=none', '-i'] @@ -124,14 +124,14 @@ repos: # Spellcheck in comments and docs # skipping of *.svg files is not working... - repo: https://github.com/codespell-project/codespell - rev: v2.2.6 + rev: v2.3.0 hooks: - id: codespell args: ['--write-changes'] exclude: CHANGELOG\.rst|\.(svg|pyc)$ - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.28.2 + rev: 0.28.6 hooks: - id: check-github-workflows args: ["--verbose"] diff --git a/README.md b/README.md index 9c7e20d..74f411d 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,18 @@ It also builds the full ros2_control stack once per day. ## Released versions [![Rolling Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml) + [![Jazzy Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml) + [![Iron Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/iron-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/iron-binary-build.yml) + [![Humble Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml) ## Compatibility versions We thrive to make the rolling development version of the ros2_control stack compatible with earlier releases of ROS2. This is done by building the rolling version of the stack from source with the earlier releases of ROS2. -[![Check Rolling Compatibility on Iron with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml) [![Check Rolling Compatibility on Jazzy with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-jazzy-binary-build.yml) + +[![Check Rolling Compatibility on Iron with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml) + [![Check Rolling Compatibility on Humble with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-humble-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-humble-binary-build.yml) diff --git a/ros_controls.rolling-on-jazzy.repos b/ros_controls.rolling-on-jazzy.repos index 84d7402..97cc475 100644 --- a/ros_controls.rolling-on-jazzy.repos +++ b/ros_controls.rolling-on-jazzy.repos @@ -7,10 +7,10 @@ repositories: type: git url: https://github.com/ros-controls/control_toolbox.git version: ros2-master - # ros-controls/gz_ros2_control: - # type: git - # url: https://github.com/ros-controls/gz_ros2_control.git - # version: master + ros-controls/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: master ros-controls/kinematics_interface: type: git url: https://github.com/ros-controls/kinematics_interface.git