+name: static analysis
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ static_analysis:
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ max-parallel: 1
+ fail-fast: false
+ matrix:
+ python-version: ['3.12']
+
+ steps:
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Get the source code
+ uses: actions/checkout@v4
+
+ - name: Check static typing with mypy
+ run: |
+ pip install mypy
+ mypy kernel_hardening_checker/ --show-error-context --pretty --no-incremental --check-untyped-defs --disallow-untyped-defs --strict-equality
+
+ - name: Check code with pylint
+ run: |
+ pip install pylint
+ pip install setuptools
+ pylint --recursive=y kernel_hardening_checker setup.py