---
# https://github.com/nalgeon/podsearch-py/tree/main/.github/workflows
name: build

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']

    env:
      USING_COVERAGE: '3.10'

    steps:
      - name: Checkout sources
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pytest \
            pytest-cov \
            pytest-asyncio \
            coverage \
            ruff \
            requests \
            httpx \
            asgi_lifespan \
            psutil \
            uvicorn \
            starlette \
            fastapi \
            tenacity \
            portend \
            testcontainers \
            async-timeout

      - name: Run tests
        run: |
          make test-unit

