]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
.github/workflows/static-code-analysis.yml: add Python linters
authorIker Pedrosa <ipedrosa@redhat.com>
Mon, 1 Sep 2025 17:02:20 +0000 (19:02 +0200)
committerIker Pedrosa <ikerpedrosam@gmail.com>
Wed, 10 Sep 2025 07:56:36 +0000 (09:56 +0200)
Add flake8, pycodestyle, isort, black and mypy in CI for Python linting.

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
.github/workflows/static-code-analysis.yml

index 59e4a16d98843da94569469db6e5a5b13883d8dc..856d9453bc32941c1100941f8b92996396a3ecda 100644 (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