# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Cpp Code Format Check on: pull_request: paths: - '.github/workflows/code_format.yml' - '.github/workflows/**/*.py' - 'tools/**/*.py' - 'dev/**/*.py' - 'cpp/**' concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} cancel-in-progress: true jobs: format-check: runs-on: ubuntu-latest container: ubuntu:22.04 steps: - name: Install tools run: | apt update -y apt install git python3-pip -y apt install --no-install-recommends -y clang-format-15 pip3 install cmake_format black pyyaml regex update-alternatives --install /usr/bin/clang-format clang-format "$(command -v clang-format-15)" 15 - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Check run: | git config --global --add safe.directory $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE/ python3 dev/check.py format main --fix if ! git diff --quiet; then diff=`git --no-pager diff` echo "${{ matrix.command.message }} in the following files:" git --no-pager diff --name-only echo "Check the Job summary for a copy-pasteable patch." echo "> [!IMPORTANT]" >> $GITHUB_STEP_SUMMARY echo "${{ matrix.config.message }}" >> $GITHUB_STEP_SUMMARY echo "> Please apply fix using:" >> $GITHUB_STEP_SUMMARY echo "\`\`\`sh" >> $GITHUB_STEP_SUMMARY echo "patch -p1 <> $GITHUB_STEP_SUMMARY echo "$diff" >> $GITHUB_STEP_SUMMARY echo "EOF" >> $GITHUB_STEP_SUMMARY echo "\`\`\`" >> $GITHUB_STEP_SUMMARY exit 1 fi