# This workflow will: # # * install Python dependencies # * lint with a single version of Python # # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: Push-Checks on: push: branches: [ develop ] jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 with: python-version-file: '.python-version' - name: Install dependencies run: | python -m pip install --upgrade pip pip install wheel flake8 pytest if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi - name: Setup flake8 annotations uses: rbialon/flake8-annotations@v1 - name: Lint with flake8 env: ROOT_SHA: ${{github.base_ref}} run: | DATA=$(jq --raw-output .before $GITHUB_EVENT_PATH) echo "DATA: ${DATA}" ####################################################################### # stop the build if there are Python syntax errors or undefined names, ignore existing ####################################################################### # We need to get just the *filenames* of only *python* files changed. # Using various -z/-Z/-0 to utilise NUL-terminated strings. git diff --name-only --diff-filter=d -z "$DATA" | \ grep -E -z -Z '\.py$' | \ xargs -0 flake8 --count --select=E9,F63,F7,F82 --show-source --statistics ####################################################################### ####################################################################### # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide ####################################################################### git diff --name-only --diff-filter=d -z "$DATA" | \ grep -E -z -Z '\.py$' | \ xargs -0 flake8 . --count --statistics #######################################################################