Skip to content

GH Actions: Fix code formatter action #17

GH Actions: Fix code formatter action

GH Actions: Fix code formatter action #17

Workflow file for this run

name: Clang format
on: [pull_request]
jobs:
clang-format:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Run clang-format on changed files
run: |
set -x
sudo apt install clang-format
git config --global --add safe.directory '*'
git fetch origin ${{ github.event.pull_request.base.ref }}
git fetch origin pull/${{ github.event.pull_request.number }}/head:${{ github.event.pull_request.head.ref }}
BASE_COMMIT=$(git rev-parse ${{ github.event.pull_request.base.sha }})
COMMIT_FILES=$(git diff --name-only "${BASE_COMMIT}" | grep -i -v LinkDef)
RESULT_OUTPUT=$(git clang-format --commit "${BASE_COMMIT}" --diff --binary "$(which clang-format)" -- "${COMMIT_FILES}")
if [ "$RESULT_OUTPUT" == "no modified files to format" ] || [ "$RESULT_OUTPUT" == "clang-format did not modify any files" ]; then
exit 0
else
git clang-format --commit "$BASE_COMMIT" --diff --binary "$(which clang-format)"
echo "$RESULT_OUTPUT"
exit 1
fi