name: Notification Module Tests on: push: branches: - main - develop - 'feature/*' pull_request: branches: - main - develop jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11'] steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y python3-dev libpq-dev - name: Install Python dependencies run: | python -m pip install --upgrade pip pip install poetry poetry config virtualenvs.create false poetry install --no-interaction --no-ansi - name: Run type checking run: | pip install mypy mypy orm/notification.py - name: Run tests run: | pip install pytest pytest tests/test_notification.py -v - name: Lint with ruff run: | pip install ruff ruff check orm/notification.py ruff format --check orm/notification.py - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: files: ./coverage.xml flags: unittests env_vars: OS,PYTHON name: codecov-umbrella fail_ci_if_error: true