name: Integration Tests

on:
    push:
        branches: [main, develop]
    pull_request:
        branches: [main, develop]

jobs:
    integration-tests:
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v4

            - name: Set up Python
              uses: actions/setup-python@v5
              with:
                  python-version: "3.11"
                  cache: "pip"

            - name: Install dependencies
              run: |
                  python -m pip install --upgrade pip
                  pip install -e ".[dev]"

            - name: Install Playwright browsers
              run: playwright install chromium

            - name: Run integration tests
              run: pytest tests/integration -v
              env:
                  OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

            - name: Upload failure artifacts
              if: failure()
              uses: actions/upload-artifact@v4
              with:
                  name: failure-artifacts
                  path: outputs/
                  retention-days: 7
