--- # This action is centrally managed in https://github.com//.github/ # Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in # the above-mentioned repo. name: C++ Lint on: pull_request: branches: [master, nightly] types: [opened, synchronize, reopened] jobs: check_src: name: Check src runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Check id: check run: | if [ -d "./src" ] then FOUND=true else FOUND=false fi echo "src=${FOUND}" >> $GITHUB_OUTPUT outputs: src: ${{ steps.check.outputs.src }} clang-format: name: Clang Format Lint needs: [check_src] if: ${{ needs.check_src.outputs.src == 'true' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Clang format lint uses: DoozyX/clang-format-lint-action@v0.15 with: source: './src' extensions: 'cpp,h,m,mm' clangFormatVersion: 13 style: file inplace: false - name: Upload Artifacts if: failure() uses: actions/upload-artifact@v3 with: name: clang-format-fixes path: src/ cmake-lint: name: CMake Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip setuptools cmakelang - name: Find cmake files id: cmake_files run: | cmake_files=$(find . -type f -iname "CMakeLists.txt" -o -iname "*.cmake") echo "found cmake files: ${cmake_files}" # do not quote to keep this as a single line echo cmake_files=${cmake_files} >> $GITHUB_OUTPUT - name: Test with cmake-lint run: | cmake-lint --line-width 120 --tab-size 4 ${{ steps.cmake_files.outputs.cmake_files }}