name: Test Python SDK on: workflow_call: inputs: E2B_DOMAIN: required: false type: string default: '' secrets: E2B_API_KEY: required: true permissions: contents: read jobs: test: defaults: run: working-directory: ./packages/python-sdk shell: bash name: Python SDK - Build and test (${{ matrix.os }}) strategy: fail-fast: false matrix: os: [ubuntu-22.04, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Parse .tool-versions uses: wistia/parse-tool-versions@v2.1.1 with: filename: '.tool-versions' uppercase: 'true' prefix: 'tool_version_' - name: Install uv uses: astral-sh/setup-uv@v6 with: version: '${{ env.TOOL_VERSION_UV }}' python-version: '${{ env.TOOL_VERSION_PYTHON }}' enable-cache: true - name: Install dependencies run: uv sync --locked - name: Test build run: uv build - name: Run tests run: uv run pytest --verbose --numprocesses=4 env: E2B_API_KEY: ${{ secrets.E2B_API_KEY }} E2B_DOMAIN: ${{ inputs.E2B_DOMAIN }}