diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index a3c5966e..4c6e9950 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -60,8 +60,12 @@ jobs: --exclude "getstream/feeds/feeds.py" \ --exclude "getstream/stream.py" - test: - name: Test "${{ inputs.marker }}" + # ── Non-video tests (chat, feeds, etc.) ──────────────────────────── + # Uses STREAM_CHAT_* credentials which do NOT have video enabled. + # If you add a new video-related test file, add it to the ignore + # list below AND to the test-video job. + test-non-video: + name: Non-video tests (${{ matrix.python-version }}) environment: name: ci runs-on: ubuntu-latest @@ -77,32 +81,59 @@ jobs: uses: ./.github/actions/python-uv-setup with: python-version: ${{ matrix.python-version }} - - name: Run non-video tests + - name: Run tests env: STREAM_API_KEY: ${{ vars.STREAM_CHAT_API_KEY }} STREAM_API_SECRET: ${{ secrets.STREAM_CHAT_API_SECRET }} STREAM_BASE_URL: ${{ vars.STREAM_CHAT_BASE_URL }} run: | uv run pytest -m "${{ inputs.marker }}" tests/ getstream/ \ + --ignore=getstream/video \ --ignore=tests/rtc \ + --ignore=tests/test_audio_stream_track.py \ + --ignore=tests/test_connection_manager.py \ + --ignore=tests/test_connection_utils.py \ + --ignore=tests/test_signaling.py \ + --ignore=tests/test_tracing_jaeger_manual.py \ --ignore=tests/test_video_examples.py \ --ignore=tests/test_video_integration.py \ --ignore=tests/test_video_openai.py \ - --ignore=tests/test_signaling.py \ - --ignore=tests/test_audio_stream_track.py \ - --ignore=getstream/video - - name: Run video tests + --ignore=tests/test_webrtc_generation.py + + # ── Video tests (video-enabled credentials) ───────────────────── + # Uses STREAM_* credentials which have video enabled. + test-video: + name: Video tests (${{ matrix.python-version }}) + environment: + name: ci + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13"] + timeout-minutes: 30 + steps: + - name: Checkout + uses: actions/checkout@v5 + - name: Install dependencies + uses: ./.github/actions/python-uv-setup + with: + python-version: ${{ matrix.python-version }} + - name: Run tests env: STREAM_API_KEY: ${{ vars.STREAM_API_KEY }} STREAM_API_SECRET: ${{ secrets.STREAM_API_SECRET }} STREAM_BASE_URL: ${{ vars.STREAM_BASE_URL }} run: | uv run pytest -m "${{ inputs.marker }}" \ + getstream/video \ tests/rtc \ + tests/test_audio_stream_track.py \ + tests/test_connection_manager.py \ + tests/test_connection_utils.py \ + tests/test_signaling.py \ tests/test_video_examples.py \ tests/test_video_integration.py \ tests/test_video_openai.py \ - tests/test_signaling.py \ - tests/test_audio_stream_track.py \ - getstream/video + tests/test_webrtc_generation.py