name: test / unit / python-sdk on: push: branches: [main] paths: - "sdk-python/**" - ".github/workflows/test_unit-python-sdk.yml" pull_request: branches: [main] paths: - "sdk-python/**" - ".github/workflows/test_unit-python-sdk.yml" # Least-privilege by default. Individual jobs/steps can widen when needed. # id-token: write is required for Depot OIDC auth (runs-on: depot-ubuntu-*). permissions: contents: read id-token: write concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: runs-on: depot-ubuntu-24.04-4 timeout-minutes: 10 strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Poetry uses: snok/install-poetry@v1 with: version: latest virtualenvs-create: true virtualenvs-in-project: true - name: Install dependencies working-directory: sdk-python run: poetry lock && poetry install --with dev - name: Run tests working-directory: sdk-python run: poetry run python -m pytest tests/ -v