Skip to content

ci: automate nightly and stable wheel releases - #465

Open
yinlin09 wants to merge 1 commit into
mainfrom
yinlin/nightly-release-workflows
Open

ci: automate nightly and stable wheel releases#465
yinlin09 wants to merge 1 commit into
mainfrom
yinlin/nightly-release-workflows

Conversation

@yinlin09

Copy link
Copy Markdown
Collaborator

Sets up the release workflow for raiden.

  • Nightly Wheels (daily 08:00 UTC): builds the tpu_raiden_jax and tpu_raiden_torch wheels plus bare .so files in the ml-build container, versioned <base>.devYYYYMMDDHHMMSS, publishes them as run artifacts, and uploads scheduled builds to the raiden Artifact Registry (pip install --pre).
  • Release Wheels (on vX.Y.Z tag): verifies the tag matches pyproject.toml and sits on main, rebuilds the wheels with the bare X.Y.Z version, uploads to Artifact Registry, and attaches wheels + .so files to a GitHub Release. workflow_dispatch is a build-only dry run.
  • Each build records its provenance: the torch_tpu commit (torch_tpu.version pin for releases, torch_tpu_commit.txt in artifacts) and the jax/jaxlib/libtpu pins (jax_pins.txt).
  • The in-container build steps move from the docker heredoc in ci/build_wheel.sh into ci/build_wheel_impl.sh so workflow jobs already running in the ml-build container can invoke them without docker-in-docker; the docker wrapper behaves as before.
  • RELEASING.md documents the process.

Testing

  • Both wheels build via ci/build_wheel_impl.sh in the ml-build container locally; twine check passes and the torch wheel's .so carries the injected NEEDED libpywrap_torch_tpu_common.so.
  • The nightly workflow ran on this branch (via a since-removed temporary push trigger): the jax leg passed end-to-end on linux-x86-n2-32 including artifact uploads; the registry upload was correctly skipped for the push event.

Remaining setup before the workflows are fully live

  • TORCH_TPU_DEPLOY_KEY secret (read-only deploy key for google-pytorch/torch_tpu) — until then the torch leg fails at checkout.
  • Artifact Registry write access for the runner service account (or set the RAIDEN_REGISTRY_URL repo variable to a writable registry).

@yinlin09
yinlin09 force-pushed the yinlin/nightly-release-workflows branch 4 times, most recently from 8f0c440 to c5dd233 Compare July 28, 2026 18:04
Sets up the release workflow for raiden: a nightly build publishes dev
wheels for jax and torch to Artifact Registry (pip install --pre), and
pushing a vX.Y.Z tag cuts a stable release (plain pip install, plus a
GitHub Release). RELEASING.md describes the process.
@yinlin09
yinlin09 force-pushed the yinlin/nightly-release-workflows branch from c5dd233 to 1ede5e1 Compare July 29, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants