name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: test: runs-on: ubuntu-latest timeout-minutes: 45 env: # google-genai Client needs a non-empty key at import time; these tests do not call the live API. API_KEY: ci-placeholder-not-for-production GEMINI_API_KEY: ci-placeholder-not-for-production GOOGLE_API_KEY: ci-placeholder-not-for-production HF_HOME: ${{ github.workspace }}/.hf_cache steps: - uses: actions/checkout@v4 - name: Install OS libraries (PortAudio for sounddevice) run: | sudo apt-get update -y sudo apt-get install -y libportaudio2 - uses: actions/cache@v4 with: path: .hf_cache key: huggingface-${{ runner.os }}-v1-${{ hashFiles('requirements.txt') }} - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" cache: pip cache-dependency-path: requirements.txt - name: Install dependencies run: | python -m pip install --upgrade pip setuptools wheel python -m pip install -r requirements.txt pytest pytest-asyncio python -m pip install --no-deps -e . - name: Run tests env: PYTHONPATH: ${{ github.workspace }} run: python -m pytest -q tests/