name: 'SDK Python' on: pull_request: branches: - 'main' - 'release/**' paths: - 'packages/sdk-python/**' - 'docs/developers/sdk-python.md' - 'docs/developers/_meta.ts' - 'README.md' - 'package.json' - '.github/workflows/sdk-python.yml' push: branches: - 'main' - 'release/**' paths: - 'packages/sdk-python/**' - 'docs/developers/sdk-python.md' - 'docs/developers/_meta.ts' - 'README.md' - 'package.json' - '.github/workflows/sdk-python.yml' jobs: sdk-python: name: 'SDK Python (${{ matrix.python-version }})' runs-on: 'ubuntu-latest' strategy: fail-fast: false matrix: python-version: ['3.10', '3.11', '3.12'] steps: - name: 'Checkout' uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' # ratchet:actions/checkout@v5 - name: 'Set up Python' uses: 'actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065' # ratchet:actions/setup-python@v5 with: python-version: '${{ matrix.python-version }}' - name: 'Install SDK test dependencies' run: | python -m pip install --upgrade pip python -m pip install -e 'packages/sdk-python[dev]' - name: 'Run Ruff' run: 'python -m ruff check --config packages/sdk-python/pyproject.toml packages/sdk-python' - name: 'Run Ruff Format' run: 'python -m ruff format --check --config packages/sdk-python/pyproject.toml packages/sdk-python' - name: 'Run Mypy' run: 'python -m mypy --config-file packages/sdk-python/pyproject.toml packages/sdk-python/src' - name: 'Run Pytest' run: 'python -m pytest -c packages/sdk-python/pyproject.toml packages/sdk-python/tests -q'