name: formatting on: push: branches: [ main, dev ] pull_request: branches: [ main, dev ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: python: runs-on: ubuntu-20.04 strategy: matrix: python-version: [3.8, 3.9] steps: - uses: actions/checkout@v3 # Cancel any previous runs - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.11.0 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install black if [ -f requirements.txt ]; then python -m 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 python-bytecode: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: find-bytecode run: | set +e FILES=$(find . -type f | egrep '__pycache__|\.pyc$') if [ -n "${FILES}" ]; then echo -e "\nError! Python bytecode included in commit\n" echo -e "### FILES: ###" echo -e "${FILES}" echo -e "##############" exit 1 fi