Add CI workflows for releasing Python and JavaScript packages#19
Merged
colonelpanic8 merged 1 commit intorlrml:masterfrom Mar 4, 2026
Merged
Conversation
This PR adds automated release workflows for PyPI and npm publishing. ## What's included - `.github/workflows/release-python.yml` - Builds manylinux wheels for Linux, Windows, and macOS, then publishes to PyPI - `.github/workflows/release-js.yml` - Builds WASM and publishes to npm - `RELEASING.md` - Documentation for the release process ## Why this is needed Currently only source distributions are published to PyPI, which means users on Linux (including AWS Lambda, Docker containers, etc.) must have Rust installed to use subtr-actor-py. Pre-built wheels eliminate this requirement. ## Setup required Before the workflows will work, the repo owner needs to configure: 1. **PyPI**: Set up trusted publishing or add `PYPI_TOKEN` secret 2. **npm**: Add `NPM_TOKEN` secret See RELEASING.md for detailed setup instructions. ## How to release After setup, releasing is simple: 1. Bump versions in Cargo.toml, python/pyproject.toml, js/package.json 2. Commit, tag with `v*`, and push Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
|
but wont this not work in ci because we havent set up the tokens in the github context? |
Contributor
Author
|
Yeah I haven't worked with github ci before, I usually use circleCI. I assumed there was a way to input tokens as secrets |
Contributor
|
there is, but i would need to generate them right, since i own the packages? |
Contributor
Author
|
Yes I think you would need to since you own it. Once it get setup it should publish to all the envs automatically and not need to be touched again |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds automated release workflows for publishing to PyPI and npm when a version tag is pushed.
What's included
.github/workflows/release-python.yml- Builds manylinux wheels for:.github/workflows/release-js.yml- Builds WASM and publishes to npmRELEASING.md- Documentation for the release processWhy this is needed
Currently only source distributions are published to PyPI. This means users on Linux (AWS Lambda, Docker, CI systems) must have Rust installed to compile subtr-actor-py. Pre-built manylinux wheels eliminate this requirement and make installation much faster.
Setup required (one-time)
Before the workflows will work, you'll need to configure secrets:
PyPI (choose one):
rlrml/subtr-actor, workflowrelease-python.yml, environmentpypiPYPI_TOKENas a GitHub secretnpm: Add
NPM_TOKENas a GitHub secretHow to release (after setup)
The workflows trigger automatically on
v*tags.🤖 Generated with Claude Code