Skip to content

Flake8 Problem Matcher / Annotations for Github Checks

License

Notifications You must be signed in to change notification settings

Screenly/flake8-annotations

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flake8 Problem Matcher/Annotations

Adds error and warning problem matchers for flake8 checks on Python projects. This action only generates Github Annotations from flake8 output, it does not run flake8.

Inputs

No inputs needed.

Outputs

Only Github Annotations are generated from the Checks output, no other output is generated.

Screenshot

Example annotations for file violations.py

Example usage

Add the following section to your Github workflow YAML in the step running flake8 before executing flake8:

    - name: Setup flake8 annotations
      uses: rbialon/flake8-annotations@v1

Example usage with Github's Python starter workflow:

name: Python application

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v1
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Setup flake8 annotations
      uses: rbialon/flake8-annotations@v1
    - name: Lint with flake8
      run: |
        pip install flake8
        # stop the build if there are Python syntax errors or undefined names
        flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
        # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
        flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
    - name: Test with pytest
      run: |
        pip install pytest
        pytest

About

Flake8 Problem Matcher / Annotations for Github Checks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 67.3%
  • JavaScript 32.7%