.github/workflows/static-code-analysis.yml: add Python linters

Add flake8, pycodestyle, isort, black and mypy in CI for Python linting.

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
This commit is contained in:
Iker Pedrosa 2025-09-01 19:02:20 +02:00 committed by Iker Pedrosa
parent f385e3d915
commit 2fd29cd841

View File

@ -56,3 +56,49 @@ jobs:
with:
severity: warning
token: ${{ secrets.GITHUB_TOKEN }}
python-linter:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/setup-python@v5
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup virtual environment
working-directory: ./tests/system
run: |
sudo apt-get update
pip3 install virtualenv
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r ./requirements.txt
pip3 install flake8 pycodestyle isort mypy black
- name: flake8
if: always()
working-directory: ./tests/system
run: source .venv/bin/activate && flake8 .
- name: pycodestyle
if: always()
working-directory: ./tests/system
run: source .venv/bin/activate && pycodestyle .
- name: isort
if: always()
working-directory: ./tests/system
run: source .venv/bin/activate && isort --check-only .
- name: black
if: always()
working-directory: ./tests/system
run: source .venv/bin/activate && black --check --diff .
- name: mypy
if: always()
working-directory: ./tests/system
run: source .venv/bin/activate && mypy --install-types --non-interactive tests