--- name: Pylint Quality control on: push: pull_request: workflow_call: jobs: python_quality_testing: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.12","3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install ruff mypy bandit pip install -r requirements.txt - name: Run Ruff (Lint) (Replacement for flake8, isort) run: ruff check netbox_zabbix_sync.py modules/* tests/* - name: Run Ruff (Format Check - no changes) (Replacement for black) run: ruff format --check . - name: Run Mypy run: mypy netbox_zabbix_sync.py modules/* - name: Run Bandit run: bandit -r . -c pyproject.toml # Or relevant config