name: cppcheck on: push: branches: ["master"] paths-ignore: - 'docker-compose/**' - 'docs/**' - 'README.md' pull_request: schedule: - cron: '57 0 * * *' jobs: cppcheck-ubuntu: timeout-minutes: 240 runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: submodules: recursive - name: Checkout cppcheck run: | git clone https://github.com/danmar/cppcheck cppcheck-main cd cppcheck-main git checkout 6d7dc76052ad36128fae93f994d6a2bf57e93103 - name: Build cppcheck run: | cd cppcheck-main make -j$(nproc) cppcheck - name: cmake p2pool run: | mkdir build cd build cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DSTATIC_LIBS=ON -DWITH_GRPC=OFF -DCMAKE_POLICY_VERSION_MINIMUM="3.5" python ../cppcheck/remove_external.py compile_commands.json - name: Run cppcheck run: | cd cppcheck ./run.sh - name: Archive full error list if: '!cancelled()' uses: actions/upload-artifact@v4 with: name: errors_full-linux path: cppcheck/errors_full.txt - name: Archive checkers report if: '!cancelled()' uses: actions/upload-artifact@v4 with: name: checkers_report-linux path: cppcheck/checkers_report.txt cppcheck-windows: timeout-minutes: 60 runs-on: windows-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: submodules: recursive - name: Checkout cppcheck run: | git clone https://github.com/danmar/cppcheck cppcheck-main cd cppcheck-main git checkout 6d7dc76052ad36128fae93f994d6a2bf57e93103 - name: Build cppcheck run: | cd cppcheck-main & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild.exe" -v:m /m /p:Configuration=Release /p:Platform=x64 - name: Setup cmake uses: lukka/get-cmake@latest - name: cmake p2pool run: | mkdir build cd build cmake .. -G "Visual Studio 17 2022" -DSTATIC_LIBS=ON -DCMAKE_POLICY_VERSION_MINIMUM="3.5" - name: Run cppcheck run: | cd cppcheck ./run.cmd - name: Archive full error list if: '!cancelled()' uses: actions/upload-artifact@v4 with: name: errors_full-windows path: cppcheck/errors_full.txt - name: Archive checkers report if: '!cancelled()' uses: actions/upload-artifact@v4 with: name: checkers_report-windows path: cppcheck/checkers_report.txt