name: Checks on: pull_request: jobs: cppcheck: name: Cppcheck runs-on: ubuntu-22.04 steps: - name: Checkout sources uses: actions/checkout@v4 with: path: src/pg_stat_monitor - name: Checkout cppcheck sources uses: actions/checkout@v4 with: repository: "danmar/cppcheck" ref: "2.13.4" path: src/cppcheck - name: Build and install cppcheck working-directory: src/cppcheck run: | mkdir build cd build cmake .. cmake --build . sudo cmake --install . - name: Execute linter check with cppcheck working-directory: src/pg_stat_monitor run: | set -x cppcheck --enable=all --inline-suppr --template='{file}:{line},{severity},{id},{message}' --error-exitcode=1 --suppress=missingIncludeSystem --suppress=missingInclude --suppress=unmatchedSuppression:pg_stat_monitor.c --check-config . format: name: Code format runs-on: ubuntu-22.04 steps: - name: Clone postgres repository uses: actions/checkout@v4 with: repository: 'postgres/postgres' ref: 'REL_16_STABLE' path: 'postgres' - name: Checkout sources uses: actions/checkout@v4 with: path: 'pg_stat_monitor' - name: Configure postgres working-directory: postgres run: ./configure - name: Debug run: | pwd ls -la - name: Install perltidy run: sudo cpan -T SHANCOCK/Perl-Tidy-20230309.tar.gz - name: Install pg_bsd_indent working-directory: postgres/src/tools/pg_bsd_indent run: sudo make install - name: Dubug run: ls /usr/local/pgsql/bin - name: Format sources working-directory: pg_stat_monitor run: | make update-typedefs make indent - name: Check files are formatted and no source code changes run: | git status git diff --exit-code license: name: License runs-on: ubuntu-22.04 steps: - name: Checkout sources uses: actions/checkout@v4 - name: Check license headers uses: apache/skywalking-eyes/header@v0.6.0 with: token: "" # Prevent comments