Skip to content

Latest commit

 

History

History
27 lines (15 loc) · 1.19 KB

RELEASE.md

File metadata and controls

27 lines (15 loc) · 1.19 KB

Overview

Release to PyPI and crates.io (publish workflow) is triggered automatically when a GitHub release is created.

Python and Rust depend on package version in Cargo.toml which is dynamically updated to match release tag.

Python

publish workflow relies on build_wheels reusable workflow with auto_bump flag enabled. It then activates bump_version custom action to ensure that version in Cargo.toml was automatically updated to match the release tag before building the wheels with maturin backend. And maturin propagates this version to the wheels.

Rust

The same bump_version action is used to update the version for building and publishing Rust.

Dry-run

Before cutting a release, make sure that the dry_run_publish workflow on main was finished successfully.

It uses build_wheels reusable workflow without auto_bump flag to build wheels (thus wheels produced with 0.0.0 version) and doesn't use bump_version action for Rust's publishing dry-run.

Notes

Ensure that the required secrets: PYPI_SECRET, CARGO_REGISTRY_TOKEN are set up.

If something went wrong publish workflow could be triggered manually via workflow_dispatch with a specified release tag.