name: CI
on:
  push:
    branches: ["feature/**", "bugfix/**", "hotfix/**", "fix/**", "ci/**"]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        run: |
          set -euo pipefail
          python3 -m pip install --user --upgrade pip
          python3 -m pip install --user -r requirements.txt
      - name: Test
        env:
          PYTHONPATH: ${{ github.workspace }}
        run: |
          # ORCH-39: fail the job on ANY failure. Run the WHOLE suite from the
          # repo root. --strict-markers + pytest-asyncio (asyncio_mode=auto, see
          # pytest.ini) make async tests actually run instead of silently
          # skipping (the hole that hid red tests behind a green CI).
          set -euo pipefail
          export PATH="$HOME/.local/bin:$PATH"
          python3 -m pytest tests/ -q -p no:cacheprovider --strict-markers
