name: Publish Python SDK on: push: tags: - 'sdk-py-v*' jobs: publish: name: Publish to PyPI runs-on: ubuntu-latest defaults: run: working-directory: sdks/python steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install build tools run: pip install build twine - name: Extract version from tag id: version run: | VERSION=${GITHUB_REF_NAME#sdk-py-v} echo "version=$VERSION" >> $GITHUB_OUTPUT - name: Update version in pyproject.toml run: | sed -i "s/^version = .*/version = \"${{ steps.version.outputs.version }}\"/" pyproject.toml - name: Build package run: python -m build - name: Publish to PyPI run: twine upload dist/* env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}