name: Tests on: push: branches: [main, master] pull_request: branches: [main, master] jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.13'] steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements_test.txt - name: Run pytest run: | python -m pytest tests/ -v --tb=short - name: Validate manifest run: | python -c "import json; json.load(open('custom_components/adguard_control_hub/manifest.json'))" lint: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install black isort flake8 mypy - name: Run black run: | black --check --diff custom_components/ - name: Run isort run: | isort --check-only --diff custom_components/ - name: Run flake8 run: | flake8 custom_components/ --max-line-length=88 --extend-ignore=E203,W503 - name: Run mypy run: | mypy custom_components/ continue-on-error: true hacs: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: HACS validation uses: hacs/action@main with: category: integration