Skip to content

Commit

Permalink
[CI] Code coverage + pre-commit (#1057)
Browse files Browse the repository at this point in the history
(cherry picked from commit 00172ab)

# Conflicts:
#	.github/workflows/ci-coverage-build-humble.yml
#	.github/workflows/ci-coverage-build-iron.yml
#	.github/workflows/ci-coverage-build.yml
#	.github/workflows/ci-ros-lint.yml
  • Loading branch information
christophfroehlich authored and mergify[bot] committed Feb 27, 2024
1 parent b10fec9 commit 269b6c8
Show file tree
Hide file tree
Showing 12 changed files with 153 additions and 47 deletions.
22 changes: 0 additions & 22 deletions .github/workflows/ci-format.yml

This file was deleted.

17 changes: 17 additions & 0 deletions .github/workflows/humble-coverage-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Coverage Build - Humble
on:
workflow_dispatch:
push:
branches:
- humble
pull_request:
branches:
- humble

jobs:
coverage_humble:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master
secrets: inherit
with:
ros_distro: humble
os_name: ubuntu-22.04
14 changes: 14 additions & 0 deletions .github/workflows/humble-pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Pre-Commit - Humble

on:
workflow_dispatch:
pull_request:
branches:
- humble

jobs:
pre-commit:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
with:
ros_distro: humble
os_name: ubuntu-22.04
17 changes: 17 additions & 0 deletions .github/workflows/iron-coverage-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Coverage Build - Iron
on:
workflow_dispatch:
push:
branches:
- iron
pull_request:
branches:
- iron

jobs:
coverage_iron:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master
secrets: inherit
with:
ros_distro: iron
os_name: ubuntu-22.04
14 changes: 14 additions & 0 deletions .github/workflows/iron-pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Pre-Commit - Iron

on:
workflow_dispatch:
pull_request:
branches:
- iron

jobs:
pre-commit:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
with:
ros_distro: iron
os_name: ubuntu-22.04
17 changes: 17 additions & 0 deletions .github/workflows/rolling-coverage-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Coverage Build - Rolling
on:
workflow_dispatch:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
coverage_rolling:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master
secrets: inherit
with:
ros_distro: rolling
os_name: ubuntu-22.04
14 changes: 14 additions & 0 deletions .github/workflows/rolling-pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Pre-Commit - Rolling

on:
workflow_dispatch:
pull_request:
branches:
- master

jobs:
pre-commit:
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
with:
ros_distro: rolling
os_name: ubuntu-22.04
12 changes: 12 additions & 0 deletions .github/workflows/update-pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Auto Update pre-commit
# Update pre-commit config and create PR if changes are detected
# author: Christoph Fröhlich <[email protected]>

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
49 changes: 29 additions & 20 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# To use:
#
# pre-commit run -a
Expand All @@ -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
Expand All @@ -29,57 +30,57 @@ 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: https://github.com/pre-commit/mirrors-clang-format
rev: v14.0.6
rev: v17.0.6
hooks:
- id: clang-format
args: ['-fallback-style=none', '-i']

- 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)$

# 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)$
Expand All @@ -91,7 +92,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$
Expand All @@ -102,7 +102,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

Expand All @@ -125,8 +124,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', '--uri-ignore-words-list=ist']
args: ['--write-changes', '--uri-ignore-words-list=ist', '-L manuel']
exclude: CHANGELOG\.rst|\.(svg|pyc|drawio)$

- 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"]
Original file line number Diff line number Diff line change
Expand Up @@ -214,9 +214,9 @@ def restore_settings(self, plugin_settings, instance_settings):
try:
idx = jtc_list.index(jtc_name)
jtc_combo.setCurrentIndex(idx)
except (ValueError):
except ValueError:
pass
except (ValueError):
except ValueError:
pass

# def trigger_configuration(self):
Expand Down Expand Up @@ -427,7 +427,7 @@ def _update_cmd_cb(self):
cmd = pos
try:
cmd = self._joint_pos[name]["command"]
except (KeyError):
except KeyError:
pass
max_vel = self._robot_joint_limits[name]["max_velocity"]
dur.append(max(abs(cmd - pos) / max_vel, self._min_traj_dur))
Expand All @@ -445,7 +445,7 @@ def _update_joint_widgets(self):
try:
joint_pos = self._joint_pos[joint_name]["position"]
joint_widgets[id].setValue(joint_pos)
except (KeyError):
except KeyError:
pass # Can happen when first connected to controller

def _joint_widgets(self): # TODO: Cache instead of compute every time?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def update_combo(combo, new_vals):
selected_id = -1
try:
selected_id = new_vals.index(selected_val)
except (ValueError):
except ValueError:
combo.setCurrentIndex(-1)

# Re-populate items
Expand Down
14 changes: 14 additions & 0 deletions rqt_joint_trajectory_controller/setup.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
#!/usr/bin/env python

# Copyright 2024 Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from setuptools import setup
from glob import glob

Expand Down

0 comments on commit 269b6c8

Please sign in to comment.