Skip to content

Commit

Permalink
Use ccws to run scan build on ws packages
Browse files Browse the repository at this point in the history
  • Loading branch information
asherikov committed Jul 21, 2024
1 parent 6e1501b commit 370265b
Show file tree
Hide file tree
Showing 4 changed files with 190 additions and 162 deletions.
347 changes: 186 additions & 161 deletions .github/workflows/head_2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,169 +8,194 @@ env:
CATKIN_OPTIONS: $GITHUB_WORKSPACE/catkin.options

jobs:
jammy_deb_packages:
# jammy_deb_packages:
# runs-on: ubuntu-22.04
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-deps
# - run: $APT fakeroot devscripts build-essential
# - run: |
# make deb-build DEB_TARGET=jammy
# make deb-install DEB_TARGET=jammy
# # make cmake_dependency # requires ROS
#
#
# focal_deb_packages:
# runs-on: ubuntu-20.04
#
# env:
# ROS_DISTRO: noetic
# ROS_HOSTNAME: localhost
# ROS_CI_DESKTOP: focal
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
# - run: sudo make install-deps
# - run: $APT fakeroot devscripts build-essential
# - run: |
# source /opt/ros/$ROS_DISTRO/setup.bash
# make deb-build DEB_TARGET=focal
# make deb-install DEB_TARGET=focal
# make cmake_dependency
#
#
# clang_noros:
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# - run: sudo apt update
# - run: sudo make install-deps
# - run: make build-tests TYPE=Debug OPTIONS=noros TARGETS="all" TC=clang ARGS=-V
#
#
# jammy_gcc_noros:
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# - run: sudo apt update
# - run: sudo make install-deps
# - run: make build-tests TYPE=Debug OPTIONS=noros TARGETS="all" TC=gcc ARGS=-V
#
# jammy_gcc_ros:
# runs-on: ubuntu-22.04
#
# env:
# ROS_DISTRO: humble
# ROS_CI_DESKTOP: jammy
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
# - run: sudo make install-deps
# - run: |
# source /opt/ros/$ROS_DISTRO/setup.bash
# make build-tests TYPE=Debug OPTIONS=ros2 TARGETS="all" TC=gcc ARGS=-V
#
#
# focal_gcc_noros:
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v4
# - run: sudo apt update
# - run: sudo make install-deps
# - run: make build-tests TYPE=Debug OPTIONS=noros TARGETS="all" TC=gcc ARGS=-V
#
#
# focal_clang_ros:
# runs-on: ubuntu-20.04
#
# env:
# ROS_DISTRO: noetic
# ROS_HOSTNAME: localhost
# ROS_CI_DESKTOP: focal
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
# - run: sudo make install-deps
# - run: |
# source /opt/ros/$ROS_DISTRO/setup.bash
# make build-tests TYPE=Debug OPTIONS=ros TARGETS="all" TC=clang ARGS=-V
#
#
# focal_gcc_ros:
# runs-on: ubuntu-20.04
#
# env:
# ROS_DISTRO: noetic
# ROS_HOSTNAME: localhost
# ROS_CI_DESKTOP: focal
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
# - run: sudo make install-deps
# - run: |
# source /opt/ros/$ROS_DISTRO/setup.bash
# make build-tests TYPE=Debug OPTIONS=ros TARGETS="all" TC=gcc ARGS=-V
#
#
# jammy_static_checks:
# runs-on: ubuntu-22.04
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo apt update
# - run: $APT cppcheck
# - run: $APT python3-pip python3-setuptools
# - run: sudo pip3 install scspell3k
# - run: make cppcheck
# - run: make spell
#
#
# focal_gcc_ros_scanbuild:
# runs-on: ubuntu-20.04
#
# env:
# ROS_DISTRO: noetic
# ROS_HOSTNAME: localhost
# ROS_CI_DESKTOP: focal
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
# - run: sudo make install-deps
# - run: $APT clang-tools-12 clang-tidy-12
# - run: |
# source /opt/ros/$ROS_DISTRO/setup.bash
# make clangcheck SCANBUILD=scan-build-12 OPTIONS=ros_tidy TC=gcc
#
#
# jammy_gcc_ros_scanbuild:
# runs-on: ubuntu-22.04
#
# env:
# ROS_DISTRO: humble
# ROS_CI_DESKTOP: jammy
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
# - run: sudo make install-deps
# - run: $APT clang-tools-15 clang-tidy-15
# - run: |
# source /opt/ros/$ROS_DISTRO/setup.bash
# make clangcheck SCANBUILD=scan-build-15 OPTIONS=ros2_tidy TC=gcc
#
#
# jammy_gcc_noros_scanbuild:
# runs-on: ubuntu-22.04
#
# steps:
# - uses: actions/checkout@v4
# - run: sudo apt update
# - run: sudo make install-deps
# - run: $APT clang-tools-15 clang-tidy-15
# - run: make clangcheck SCANBUILD=scan-build-15 OPTIONS=noros_tidy TC=gcc
#
jammy_ccws:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
- run: sudo make install-deps
- run: $APT fakeroot devscripts build-essential
- run: |
make deb-build DEB_TARGET=jammy
make deb-install DEB_TARGET=jammy
# make cmake_dependency # requires ROS
focal_deb_packages:
runs-on: ubuntu-20.04

env:
ROS_DISTRO: noetic
ROS_HOSTNAME: localhost
ROS_CI_DESKTOP: focal

steps:
- uses: actions/checkout@v4
- run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
- run: sudo make install-deps
- run: $APT fakeroot devscripts build-essential
- run: |
source /opt/ros/$ROS_DISTRO/setup.bash
make deb-build DEB_TARGET=focal
make deb-install DEB_TARGET=focal
make cmake_dependency
clang_noros:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- run: sudo apt update
- run: sudo make install-deps
- run: make build-tests TYPE=Debug OPTIONS=noros TARGETS="all" TC=clang ARGS=-V


jammy_gcc_noros:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- run: sudo apt update
- run: sudo make install-deps
- run: make build-tests TYPE=Debug OPTIONS=noros TARGETS="all" TC=gcc ARGS=-V

jammy_gcc_ros:
runs-on: ubuntu-22.04

env:
ROS_DISTRO: humble
ROS_CI_DESKTOP: jammy

steps:
- uses: actions/checkout@v4
- run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
- run: sudo make install-deps
- run: |
source /opt/ros/$ROS_DISTRO/setup.bash
make build-tests TYPE=Debug OPTIONS=ros2 TARGETS="all" TC=gcc ARGS=-V
focal_gcc_noros:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- run: sudo apt update
- run: sudo make install-deps
- run: make build-tests TYPE=Debug OPTIONS=noros TARGETS="all" TC=gcc ARGS=-V


focal_clang_ros:
runs-on: ubuntu-20.04

env:
ROS_DISTRO: noetic
ROS_HOSTNAME: localhost
ROS_CI_DESKTOP: focal

steps:
- uses: actions/checkout@v4
- run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
- run: sudo make install-deps
- run: |
source /opt/ros/$ROS_DISTRO/setup.bash
make build-tests TYPE=Debug OPTIONS=ros TARGETS="all" TC=clang ARGS=-V
focal_gcc_ros:
runs-on: ubuntu-20.04

env:
ROS_DISTRO: noetic
ROS_HOSTNAME: localhost
ROS_CI_DESKTOP: focal

steps:
- uses: actions/checkout@v4
- run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
- run: sudo make install-deps
- run: |
source /opt/ros/$ROS_DISTRO/setup.bash
make build-tests TYPE=Debug OPTIONS=ros TARGETS="all" TC=gcc ARGS=-V
jammy_static_checks:
runs-on: ubuntu-22.04

steps:
with:
repository: asherikov/ccws
- uses: actions/checkout@v4
- run: sudo apt update
- run: $APT cppcheck
- run: $APT python3-pip python3-setuptools
- run: sudo pip3 install scspell3k
- run: make cppcheck
- run: make spell


focal_gcc_ros_scanbuild:
runs-on: ubuntu-20.04

env:
ROS_DISTRO: noetic
ROS_HOSTNAME: localhost
ROS_CI_DESKTOP: focal
with:
ref: pkg_ws_2
path: src/ariles_ws
- run: cd src/ariles_ws; make update VERSION=${GITHUB_SHA}; rm -Rf ariles2_rosparam_ws demo
- run: make bp_install_build BUILD_PROFILE=static_checks
- run: make BUILD_PROFILE=static_checks
- run: make bp_install_build BUILD_PROFILE=scan_build
- run: make dep_install PKG=ariles2_core_ws
- run: make dep_install PKG=ariles2_graphviz_ws
- run: make dep_install PKG=ariles2_namevalue2_ws
- run: make dep_install PKG=ariles2_octave_ws
- run: make dep_install PKG=ariles2_pugixml_ws
- run: make dep_install PKG=ariles2_rapidjson_ws
- run: make dep_install PKG=ariles2_ros2param_ws
- run: make dep_install PKG=ariles2_yamlcpp_ws
- run: make _ws BUILD_PROFILE=scan_build

steps:
- uses: actions/checkout@v4
- run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
- run: sudo make install-deps
- run: $APT clang-tools-12 clang-tidy-12
- run: |
source /opt/ros/$ROS_DISTRO/setup.bash
make clangcheck SCANBUILD=scan-build-12 OPTIONS=ros_tidy TC=gcc
jammy_gcc_ros_scanbuild:
runs-on: ubuntu-22.04

env:
ROS_DISTRO: humble
ROS_CI_DESKTOP: jammy

steps:
- uses: actions/checkout@v4
- run: sudo make install-ros ROS_DISTRO=$ROS_DISTRO UBUNTU_DISTRO=$ROS_CI_DESKTOP
- run: sudo make install-deps
- run: $APT clang-tools-15 clang-tidy-15
- run: |
source /opt/ros/$ROS_DISTRO/setup.bash
make clangcheck SCANBUILD=scan-build-15 OPTIONS=ros2_tidy TC=gcc
jammy_gcc_noros_scanbuild:
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
- run: sudo apt update
- run: sudo make install-deps
- run: $APT clang-tools-15 clang-tidy-15
- run: make clangcheck SCANBUILD=scan-build-15 OPTIONS=noros_tidy TC=gcc
2 changes: 2 additions & 0 deletions include/ariles2/visitors/read.h
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ namespace ariles2

CPPUT_ASSERT(this->startMapEntry("data"), "Missing 'data' in a matrix entry.");

// cppcheck suppress unreadVariable
const std::size_t vec_len = this->startVector();
CPPUT_ASSERT(cols * rows == vec_len, "Inconsistent matrix size.");
}
Expand All @@ -330,6 +331,7 @@ namespace ariles2
if (not param.flat_matrices_ and 0 != row_index)
{
this->startArrayElement();
// cppcheck suppress unreadVariable
const std::size_t vec_len = this->startVector();
CPPUT_ASSERT(cols == vec_len, "Inconsistent matrix row length.");
}
Expand Down
3 changes: 2 additions & 1 deletion tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
find_package(Boost REQUIRED unit_test_framework timer random system)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
include_directories(SYSTEM "${CMAKE_CURRENT_LIST_DIR}/common/")
include_directories(SYSTEM "${PROJECT_BINARY_DIR}/tests/3rdparty")
configure_file("${CMAKE_CURRENT_LIST_DIR}/common/better_enum.h.hide" "${PROJECT_BINARY_DIR}/tests/3rdparty/better_enum.h" COPYONLY)


list(APPEND ARILES_TESTING_LIBRARIES "${Boost_LIBRARIES}")
Expand Down
File renamed without changes.

0 comments on commit 370265b

Please sign in to comment.