name: formatting on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: python: runs-on: ubuntu-20.04 strategy: matrix: python-version: [3.8] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install black if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: black format run: | black --diff --check . cmake: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y python3-pip python3 -m pip install cmake-format - name: cmake-format run: | set +e cmake-format -i $(find . -type f | egrep 'CMakeLists.txt|\.cmake$') if [ $(git diff | wc -l) -gt 0 ]; then echo -e "\nError! CMake code not formatted. Run cmake-format...\n" echo -e "\nFiles:\n" git diff --name-only echo -e "\nFull diff:\n" git diff exit 1 fi source: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Install dependencies run: | DISTRIB_CODENAME=$(cat /etc/lsb-release | grep DISTRIB_CODENAME | awk -F '=' '{print $NF}') sudo apt-get update sudo apt-get install -y software-properties-common wget curl wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - echo "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main" | sudo tee -a /etc/apt/sources.list.d/llvm-toolchain.list echo "deb-src http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main" | sudo tee -a /etc/apt/sources.list.d/llvm-toolchain.list sudo apt-get update sudo apt-get install -y clang-format-11 - name: clang-format run: | set +e FILES=$(find include src examples -type f | egrep '\.hpp$|\.cpp$|\.cpp\.in$') FORMAT_OUT=$(clang-format-11 -output-replacements-xml ${FILES}) RET=$(echo ${FORMAT_OUT} | grep -c '