GitHub Action for running cpplint commands
Each time new code is pushed into your repo, you can have a cpplint command automatically run.
Example workflow:
- Put the following text into a file named
.github/workflows/cpplint.ymlin your repo):
name: cpplint on: [push, pull_request] jobs: cpplint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: pipx run cpplint --recursive .
Customize the final line to match your requirements.
Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit]
[--filter=-x,+y,...]
[--counting=total|toplevel|detailed] [--repository=path]
[--root=subdir] [--linelength=digits] [--recursive]
[--exclude=path]
[--headers=ext1,ext2]
[--extensions=hpp,cpp,...]
<file> [file] ...
cpplint_modified_files.yml
cpplint_modified_files.yml is an alternative, standalone GitHub Action that enables a repo to achieve gradual compliance with cpplint by linting (and compiling) only those files that have been added or modified (vs. origin/master).
- runs cpplint only on those files that have been modified vs. origin/master.
- compiles with g++ only those files that have been modified vs. origin/master.
- other optional filepath verifications may be commented out at the end of this file.