name: Unit Tests on: pull_request: branches: [ main ] workflow_dispatch: jobs: unit-tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python: - "3.10" - "3.11" - "3.12" - "3.13" steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - uses: astral-sh/setup-uv@v5 with: python-version: ${{ matrix.python }} enable-cache: false - name: Run unit tests run: | uv run --python ${{ matrix.python }} --with-editable . --with-editable ".[dev]" --with-editable ".[unit]" pytest --cov=llama_stack -s -v tests/unit/ --junitxml=pytest-report-${{ matrix.python }}.xml - name: Upload test results if: always() uses: actions/upload-artifact@v4 with: name: test-results-${{ matrix.python }} path: | .pytest_cache/ pytest-report-${{ matrix.python }}.xml retention-days: 7