Skip to content

Feat/python sdk

Feat/python sdk #5

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:-}"
if [ -z "$TAG" ]; then
TAG="$(git describe --tags --abbrev=0 || echo 0.0.0)"
fi
echo "Using version: $TAG"
VERSION="$TAG" ~/.local/bin/uv run --project packages/sdk/python python - <<'PY'
import os, re, pathlib

Check failure on line 48 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 48
root = pathlib.Path('packages/sdk/python')
pt = (root / 'pyproject.toml').read_text()
version = os.environ.get('VERSION','0.0.0').lstrip('v')
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