name: check-code-format on: workflow_dispatch: pull_request: types: [opened, reopened, synchronize] push: branches: [main, master] jobs: clang-format: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Install clang-format run: sudo apt-get install -y clang-format-14 - name: Check style run: | FILES=$(find ./src -type f \( -name "*.h" -o -name "*.c" -o -name "*.cpp" \) \ ! -path "*/spatialmedia/*" \ ! -name "defaultlayouts.h" \ ! -path "*_autogen*") if [ -z "$FILES" ]; then echo "No source files found to check" exit 0 fi echo "Checking $(echo "$FILES" | wc -l) files..." clang-format-14 --dry-run --Werror -style=file $FILES if [ $? -eq 0 ]; then echo "SUCCESS: All files are formatted correctly" else echo "FAILURE: Some files are formatted incorrectly" echo "Run 'clang-format-14 -i ' locally to fix" exit 1 fi # Trigger CI