name: Lint - Python Scripts

on:
  push:
    paths:
      - "**.py"

jobs:
  black:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: "3.x"
          architecture: x64

      - run: pip install black
      - run: black --check .

  flake8:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: "3.x"
          architecture: x64

      - run: pip install flake8

      # E203: https://www.flake8rules.com/rules/E203.html - Whitespace before ':'
      # E501: https://www.flake8rules.com/rules/E501.html - Line too long
      # W503: https://www.flake8rules.com/rules/W503.html - Line break occurred before a binary operator
      # W605: https://www.flake8rules.com/rules/W605.html - Invalid escape sequence
      # E722: https://www.flake8rules.com/rules/E722.html - Do not use bare except, specify exception instead
      - run: flake8 --max-line-length 88 --ignore E203,E501,W503,W605,E722