name: lint on: workflow_dispatch: push: branches: - main pull_request: branches: - "**" paths-ignore: - "docs/**" concurrency: group: build-lint-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: autopep8: name: "Formatting lints" runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Setup virtual environment run: | python -m venv .venv - name: Install development Python dependencies run: | source .venv/bin/activate python -m pip install --upgrade pip pip install -r dev-requirements.txt - name: autopep8 id: autopep8 run: | source .venv/bin/activate autopep8 --max-line-length 100 --exit-code -r -d --exclude "*_pb2.py" -a -a src/ - name: Fail if autopep8 requires changes if: steps.autopep8.outputs.exit-code == 2 run: exit 1