name: PyLint
on:
- push
- pull_request
- workflow_call

jobs:
  python-3:
    name: PyLint
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

    steps:
    - name: Checkout
      uses: actions/checkout@v4
      with:
        fetch-depth: 0

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install pylint
      run: |
        python -m pip install --upgrade pip
        pip install pylint

    - name: Analysing the code with pylint
      run: |
        find . -name '*.py' -exec pylint {} \;

  python-2-7:
    name: PyLint
    runs-on: ubuntu-latest
    container:
      image: python:2.7.18-buster
    strategy:
      fail-fast: false
      matrix:
        python-version: ["2.7"]

    steps:
    - name: Checkout
      uses: actions/checkout@v4
      with:
        fetch-depth: 0

    - name: Install pylint
      run: |
        python -m pip install --upgrade pip
        pip install pylint

    - name: Analysing the code with pylint
      run: |
        find . -name '*.py' -exec pylint {} \;
