My Workflow
A Github Action for linting C/C++ code integrating clang-tidy and clang-format to collect feedback provided in the form of thread comments and/or annotations.
Submission Category:
Maintainer Must-Haves
Yaml File or Link to Code
cpp-linter / cpp-linter-action
A Github Action for linting C/C++ code integrating clang-tidy and clang-format to collect feedback provided in the form of file-annotations, thread-comments, workflow step-summary, and Pull Request reviews.
C/C++ Linter Action | clang-format & clang-tidy
A Github Action for linting C/C++ code integrating clang-tidy and clang-format
to collect feedback provided in the form of
file-annotations
, thread-comments
workflow step-summary
, and Pull Request reviews (with
tidy-review
or format-review
).
Warning
We only support Linux runners using a Debian-based Linux OS (like Ubuntu and many others).
MacOS and Windows runners are supported as well.
Usage
Note
Python 3.10 needs to be installed in the docker image if your workflow is running jobs in a container (see discussion in #185). Our intention is to synchronize with the default Python version included with Ubuntu's latest LTS releases.
Create a new GitHub Actions workflow in your project, e.g. at .github/workflows/cpp-linter.yml
The content of the file should be in the following format.
steps
- uses: actions/checkout@v4
- uses: cpp-linter/cpp-linter-action@v2
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN
…name: cpp-linter
on:
pull_request:
types: [opened, reopened] # let PR-synchronize events be handled by push events
push:
jobs:
cpp-linter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cpp-linter/cpp-linter-action@v2
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: file
- name: Fail fast?!
if: steps.linter.outputs.checks-failed > 0
run: |
echo "Some files failed the linting checks!"
# for actual deployment
# run: exit 1
Additional Resources / Info
https://cpp-linter.github.io/cpp-linter-action/
Example
Annotations
Thread Comment
Top comments (0)