From 2fd29cd8411af7c0e6fae6201137871bf31cd568 Mon Sep 17 00:00:00 2001 From: Iker Pedrosa Date: Mon, 1 Sep 2025 19:02:20 +0200 Subject: [PATCH] .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 --- .github/workflows/static-code-analysis.yml | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml index 59e4a16d9..856d9453b 100644 --- a/.github/workflows/static-code-analysis.yml +++ b/.github/workflows/static-code-analysis.yml @@ -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 -- 2.47.3