From: Iker Pedrosa Date: Mon, 1 Sep 2025 17:02:20 +0000 (+0200) Subject: .github/workflows/static-code-analysis.yml: add Python linters X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2fd29cd8411af7c0e6fae6201137871bf31cd568;p=thirdparty%2Fshadow.git .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 --- 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