From 45b5a608b31f98f3c3561311c710f3506e76804c Mon Sep 17 00:00:00 2001 From: Kirill Reshke Date: Tue, 4 Aug 2026 23:00:46 +0500 Subject: [PATCH] Add cpp check --- .github/workflows/yezzey-ci.yaml | 14 ++++++++++++++ Makefile.cppcheck | 23 +++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 Makefile.cppcheck diff --git a/.github/workflows/yezzey-ci.yaml b/.github/workflows/yezzey-ci.yaml index a93322c..e13db0e 100644 --- a/.github/workflows/yezzey-ci.yaml +++ b/.github/workflows/yezzey-ci.yaml @@ -59,6 +59,20 @@ jobs: run: | make -f Makefile.tidy tidy-check + cppcheck: + name: cppcheck (static analysis) + runs-on: ubuntu-latest + container: + image: neszl/cppcheck:latest + steps: + - name: Checkout Yezzey source + uses: actions/checkout@v4 + + - name: Run cppcheck + shell: bash + run: | + make -f Makefile.cppcheck cppcheck-check + unit-tests: name: Unit Tests (googletest) runs-on: ubuntu-latest diff --git a/Makefile.cppcheck b/Makefile.cppcheck new file mode 100644 index 0000000..0493f2a --- /dev/null +++ b/Makefile.cppcheck @@ -0,0 +1,23 @@ +CPPCHECK ?= cppcheck +CPPCHECK_IMAGE ?= neszl/cppcheck:latest + +CPPCHECK_FILES := $(wildcard src/*.cpp) $(wildcard *.c) $(wildcard include/*.h) + +CPPCHECK_FLAGS := -std=c++11 -I include -I lib -DGPBUILD -D_GNU_SOURCE --enable=warning,style,performance \ + --suppress=missingIncludeSystem --inline-suppr --error-exitcode=1 + +.PHONY: cppcheck cppcheck-check cppcheck-docker cppcheck-check-docker + +cppcheck: + @$(CPPCHECK) $(CPPCHECK_FLAGS) $(CPPCHECK_FILES) 2>&1 || true + +cppcheck-check: + @$(CPPCHECK) $(CPPCHECK_FLAGS) $(CPPCHECK_FILES) + +cppcheck-docker: + docker run --rm -v "$(CURDIR)":/src -w /src $(CPPCHECK_IMAGE) \ + sh -c 'make -f Makefile.cppcheck cppcheck' + +cppcheck-check-docker: + docker run --rm -v "$(CURDIR)":/src -w /src $(CPPCHECK_IMAGE) \ + sh -c 'make -f Makefile.cppcheck cppcheck-check'