Skip to content

feat(packages): add Python and Rust releases#9

Draft
connorcarpenter15 wants to merge 2 commits into
mainfrom
feat/package-releases
Draft

feat(packages): add Python and Rust releases#9
connorcarpenter15 wants to merge 2 commits into
mainfrom
feat/package-releases

Conversation

@connorcarpenter15

Copy link
Copy Markdown
Member

Summary

  • add publishable openengine-proto packages for Python and Rust with checked-in generated bindings
  • add pinned, reproducible Python and Rust generation plus generated-code drift checks
  • add package, MSRV, descriptor-set, and bidirectional Python/Rust wire compatibility tests
  • add tag-driven PyPI, crates.io, and GitHub release automation
  • document installation, compatibility, contribution, changelog, and release procedures

Why

Clients should be able to install OpenEngine bindings without cloning the schema repository or running Buf/protoc. A single release tag now coordinates both language packages and the canonical schema artifacts.

User and developer impact

  • Python clients can use pip install openengine-proto
  • Rust clients and engine implementations can use cargo add openengine-proto
  • consumer builds do not invoke protoc
  • schema changes must regenerate both checked-in packages
  • releases require the external PyPI/crates.io ownership, Trusted Publisher, GitHub environment, and crates.io token setup documented in RELEASING.md

Validation

  • Buf 1.71.0 lint and build
  • generated binding drift check from a clean commit
  • Python 3.10 wheel/sdist build, Twine metadata check, clean wheel install, and unit tests
  • Rust tests on stable and the declared Rust 1.88 MSRV
  • cargo package staged-archive rebuild
  • bidirectional Python-to-Rust and Rust-to-Python serialization fixture
  • Cargo fmt and Clippy with warnings denied
  • actionlint 1.7.12
  • Markdown lint and Lychee link checking

Signed-off-by: Connor Carpenter <connorc@nvidia.com>
Signed-off-by: Connor Carpenter <connorc@nvidia.com>
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.

1 participant