Skip to content

Feat/python sdk

Feat/python sdk #4

name: publish-python-sdk
on:
release:
types: [published]
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: 1.2.21
- name: Install dependencies (JS/Bun)
run: bun install
- name: Install uv
shell: bash
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Generate Python SDK from OpenAPI (CLI)
shell: bash
run: |
~/.local/bin/uv run --project packages/sdk/python python packages/sdk/python/scripts/generate.py --source cli
- name: Sync Python dependencies
shell: bash
run: |
~/.local/bin/uv sync --dev --project packages/sdk/python
- name: Set version from release tag
shell: bash
run: |
TAG="${GITHUB_REF_NAME}"
echo "Using version: $TAG"
# Update pyproject.toml version
python - <<'PY'
import re, pathlib, os

Check failure on line 46 in .github/workflows/publish-python-sdk.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/publish-python-sdk.yml

Invalid workflow file

You have an error in your yaml syntax on line 46
root = pathlib.Path('packages/sdk/python')
pt = (root / 'pyproject.toml').read_text()
version = os.environ['GITHUB_REF_NAME']
pt = re.sub(r'(?m)^(version\s*=\s*")[^"]+("\s*)$', f"\\1{version}\\2", pt)
(root / 'pyproject.toml').write_text(pt)
# Also update generator config override for consistency
cfgp = root / 'openapi-python-client.yaml'
if cfgp.exists():
cfg = cfgp.read_text()
cfg = re.sub(r'(?m)^(package_version_override:\s*)\S+$', f"\\1{version}", cfg)
cfgp.write_text(cfg)
PY
- name: Build and publish to PyPI
env:
PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
shell: bash
run: |
~/.local/bin/uv run --project packages/sdk/python python packages/sdk/python/scripts/publish.py