This repo publishes the stagehand Python package to PyPI when a GitHub Release is published. The release is currently initiated manually via the release-please CLI.
- Run
pnpx release-please release-pr(local machine).- Opens/updates a Release PR to
mainwith version +CHANGELOG.mdupdates.
- Opens/updates a Release PR to
- Merge the Release PR into
main. - Run
pnpx release-please github-release(local machine).- Publishes the GitHub Release + git tag.
- Wait for GitHub Actions to publish to PyPI (automatic).
- Trigger: GitHub Release
publishedevent runs.github/workflows/publish-pypi.yml. - Builds platform wheels that embed the Stagehand server binary (downloaded from the latest
stagehand-server-v3/v*GitHub Release inbrowserbase/stagehand), then publishes to PyPI.
- Trigger: GitHub Release
- Server binary bundling into wheels
.github/workflows/publish-pypi.ymldownloads the prebuilt Stagehand server SEA binary from the lateststagehand-server-v3/v*GitHub Release inbrowserbase/stagehand, then places it intosrc/stagehand/_sea/*before runninguv build --wheel.
- Stagehand server version selection (current behavior)
publish-pypi.ymlresolves the latest GitHub Release tag matchingstagehand-server-v3/v*frombrowserbase/stagehandand downloads the matchingstagehand-server-v3-<platform>release asset for each wheel build.
- Secrets
- PyPI publish uses
secrets.STAGEHAND_PYPI_TOKEN || secrets.PYPI_TOKEN. .github/workflows/release-doctor.ymlrunsbin/check-release-environmenton qualifying PRs and fails ifPYPI_TOKENis missing.
- PyPI publish uses