mirror of
https://github.com/astral-sh/ruff.git
synced 2026-10-28 10:45:37 +08:00
## Summary Publish Ruff's production Rust crates to crates.io as part of the existing release workflow. This follows uv's setup: workspace dependencies carry registry-compatible version pins, internal crates receive generated READMEs and an explicit versioning policy, CI dry-runs the full workspace publish, and release jobs publish missing crate versions idempotently through crates.io trusted publishing. The publishing set contains 32 packages: Ruff's CLI, WASM package, server, linter, formatter, parser, and the internal Ruff component crates required by them. It also includes `ty_module_resolver`, `ty_site_packages`, and `ty_static`, because those three crates are part of Ruff's normal dependency closure. The publishing set deliberately excludes: - Test-only crates: `mdtest`, `ruff_mdtest`, `ruff_python_ast_integration_tests`, and `ruff_python_trivia_integration_tests`. - Benchmark and development crates: `ruff_benchmark` and `ruff_dev`. - All remaining `ty_*` crates. These packages retain `publish = false`, so bootstrap, version bumping, README generation, CI dry-runs, and release publishing skip them through Cargo metadata instead of a separate hard-coded allowlist. The crates.io job is intentionally independent of release announcement, so a crates.io outage cannot block the existing binary, PyPI, npm, or GitHub release outputs. A bootstrap script reserves new crate names, configures the release workflow as each crate's trusted publisher, enables trusted-publishing-only releases, and records configured crates for idempotent reruns. The full workspace publish dry-run packages and verifies all 32 selected crates. Closes https://github.com/astral-sh/ruff/issues/43.
535 B
535 B
ruff_macros
This crate is an internal component of Ruff. The Rust API exposed here is unstable and will have frequent breaking changes.
This version (0.0.1) is a component of Ruff 0.15.18. The source can be found here.
See Ruff's crate versioning policy for details on versioning.