diff --git a/.github/workflows/cpp-linter.yaml b/.github/workflows/cpp-linter.yaml new file mode 100644 index 0000000..2260d15 --- /dev/null +++ b/.github/workflows/cpp-linter.yaml @@ -0,0 +1,47 @@ +on: + push: + pull_request: + +jobs: + cpp-linter: + permissions: + pull-requests: write + contents: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + - name: Generate compile-commands + uses: threeal/cmake-action@main + with: + build-dir: 'build' + run-build: false + options: 'CMAKE_EXPORT_COMPILE_COMMANDS=1' + - uses: actions/upload-artifact@v4 + with: + name: compile_commands + path: /home/runner/work/Engine/Engine/build + - uses: cpp-linter/cpp-linter-action@main + id: linter + continue-on-error: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + style: 'file' + tidy-checks: '' + version: 18 + files-changed-only: false + ignore: 'docs | build' + thread-comments: ${{ github.event_name == 'pull_request' && 'update' }} + database: 'build' + extra-args: '-xc++' + tidy-review: true + format-review: true + + - name: Fail fast?! + if: steps.linter.outputs.checks-failed > 0 + run: | + echo "some linter checks failed. ${{ steps.linter.outputs.checks-failed }}" + # for actual deployment + # run: exit 1 \ No newline at end of file