Add auto-publish workflows for all packages

Add GitHub Actions workflows that auto-publish packages when their
version files change on push to main.

npm packages (trusted publishing with OIDC provenance):
- publish-tools.yml: @supermemory/tools (packages/tools/)
- publish-memory-graph.yml: @supermemory/memory-graph (packages/memory-graph/)

PyPI packages (trusted publishing with OIDC):
- publish-cartesia-sdk-python.yml: supermemory-cartesia (packages/cartesia-sdk-python/)
- publish-pipecat-sdk-python.yml: supermemory-pipecat (packages/pipecat-sdk-python/)
- publish-openai-sdk-python.yml: supermemory-openai-sdk (packages/openai-sdk-python/)
- publish-agent-framework-python.yml: supermemory-agent-framework (packages/agent-framework-python/)

All workflows follow the existing publish-ai-sdk.yml pattern for npm,
and use pypa/gh-action-pypi-publish with OIDC for Python packages.
This commit is contained in:
Vorflux AI 2026-04-17 01:14:38 +00:00
parent 7b65e9a1db
commit 4cd70cf33f
6 changed files with 236 additions and 0 deletions

View file

@ -0,0 +1,37 @@
name: Publish Agent Framework Python
on:
push:
branches:
- main
paths:
- "packages/agent-framework-python/pyproject.toml"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: ./packages/agent-framework-python
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install build dependencies
run: pip install hatchling build
- name: Build package
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: packages/agent-framework-python/dist/

View file

@ -0,0 +1,37 @@
name: Publish Cartesia SDK Python
on:
push:
branches:
- main
paths:
- "packages/cartesia-sdk-python/pyproject.toml"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: ./packages/cartesia-sdk-python
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install build dependencies
run: pip install hatchling build
- name: Build package
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: packages/cartesia-sdk-python/dist/

View file

@ -0,0 +1,44 @@
name: Publish Memory Graph
on:
push:
branches:
- main
paths:
- "packages/memory-graph/package.json"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: ./packages/memory-graph
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
registry-url: 'https://registry.npmjs.org'
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Install dependencies
run: bun install
- name: Build
run: bun run build
- name: Publish
run: pnpm publish --access public --verbose
env:
NPM_CONFIG_PROVENANCE: true
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

View file

@ -0,0 +1,37 @@
name: Publish OpenAI SDK Python
on:
push:
branches:
- main
paths:
- "packages/openai-sdk-python/pyproject.toml"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: ./packages/openai-sdk-python
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install build dependencies
run: pip install hatchling build
- name: Build package
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: packages/openai-sdk-python/dist/

View file

@ -0,0 +1,37 @@
name: Publish Pipecat SDK Python
on:
push:
branches:
- main
paths:
- "packages/pipecat-sdk-python/pyproject.toml"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: ./packages/pipecat-sdk-python
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install build dependencies
run: pip install hatchling build
- name: Build package
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: packages/pipecat-sdk-python/dist/

44
.github/workflows/publish-tools.yml vendored Normal file
View file

@ -0,0 +1,44 @@
name: Publish Tools
on:
push:
branches:
- main
paths:
- "packages/tools/package.json"
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: ./packages/tools
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
registry-url: 'https://registry.npmjs.org'
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Install dependencies
run: bun install
- name: Build
run: bun run build
- name: Publish
run: pnpm publish --access public --verbose
env:
NPM_CONFIG_PROVENANCE: true
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}