github action to auto format source code per cpplint standard

This commit is contained in:
Krishna Vedala 2020-05-29 17:06:37 -04:00
parent 8036cf033f
commit 29705aca4b

39
.github/workflows/clang-format.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: Code Formatting
on: [push]
# push:
# branches: [ master ]
# pull_request:
# branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: requirements
run: |
sudo apt -qq -y update
sudo apt -qq install clang-format
- uses: actions/checkout@master
with:
submodules: true
- name: Formatter
run: |
for fname in $(find . -name '*.cpp' -o -name '*.h')
do
clang-format --verbose -i --style="$line1 $line2 $line3 $line4" "$fname"
done
env:
line1: "{ BasedOnStyle: Google, UseTab: Never,"
line2: "IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman,"
line3: "AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false,"
line4: "ColumnLimit: 80, AccessModifierOffset: -4 }"
- name: Commit files
run: |
cp -rp ./build/html/* . && rm -rf ./build && ls -lah
git config --global user.name github-actions
git config --global user.email '${GITHUB_ACTOR}@users.noreply.github.com'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
git commit -am "formatting source-code for $GITHUB_SHA" || true
git push