From 20e014001e397e2130216a895cd37f248d4ee514 Mon Sep 17 00:00:00 2001 From: Alexander Sherikov Date: Sun, 21 Jul 2024 20:03:52 +0400 Subject: [PATCH] Use ccws to run scan build on ws packages --- .github/workflows/head_2.yml | 347 +++++++++++++++++++---------------- 1 file changed, 186 insertions(+), 161 deletions(-) diff --git a/.github/workflows/head_2.yml b/.github/workflows/head_2.yml index e8e4d296..5602c7c2 100644 --- a/.github/workflows/head_2.yml +++ b/.github/workflows/head_2.yml @@ -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