name: Formatting run-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@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 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@v4 - 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-22.04 steps: - uses: actions/checkout@v4 - 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 clang-format-11 - name: clang-format run: | set +e FILES=$(find source examples tests -type f | egrep '\.(h|hpp|c|cpp)(|\.in)$') FORMAT_OUT=$(clang-format-11 -output-replacements-xml ${FILES}) RET=$(echo ${FORMAT_OUT} | grep -c '