shithub: choc

ref: 17a135005a9737b9851155d2758489ad5dc27551
dir: /.github/workflows/cpp-linter.yml/

View raw version
# Workflow syntax:
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
name: cpp-linter

on:
  pull_request:
    types: [opened, reopened, synchronize]
  push:
    branches:
      - master

jobs:
  cpp-linter:
    strategy:
      matrix:
        compiler: [clang]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install dependencies
        run: sudo apt-get update && sudo apt-get install libpng-dev libsamplerate0-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev ninja-build
      - name: Run cmake to generate compilation database
        run: cmake -S . -B . -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=1
      - uses: cpp-linter/cpp-linter-action@v2
        id: linter
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          style: file
          lines-changed-only: true
          version: 14
          tidy-checks: >-
            boost-*
            ,bugprone-*
            ,performance-*
            ,readability-*
            ,portability-*
            ,modernize-*
            ,clang-analyzer-*
            ,cppcoreguidelines-*
            ,-cppcoreguidelines-avoid-magic-numbers
            ,-readability-magic-numbers

      - name: Fail fast?!
        if: steps.linter.outputs.checks-failed > 0
        run: |
          echo "Some files failed the linting checks! Fail fast disabled until false posivite issue is fixed"

      - name: Check no extern used in .c files
        run: |
          ./check-extern.sh