name: Tests

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  workflow_dispatch:

jobs:
  check-rule-format:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout the repository
        uses: actions/checkout@v4

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pytest pytest-asyncio pytest-dependency zeroconf paho.mqtt psutil cryptography

      - name: Check rule format with pytest
        run: |
          pytest -v -s -m github ./test/check_rule_format.py

      - name: Unit test with pytest
        run: |
          pytest -v -s -m github ./test/