From 0d12520220e14db09e90f1d2d8c2995c8c24a0bb Mon Sep 17 00:00:00 2001 From: Oleksii Shmalko Date: Tue, 15 Oct 2024 15:07:19 +0300 Subject: [PATCH] docs: add instructions for releasing new versions --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 0a50cf68..f380f10c 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,22 @@ 1. Install [rustup](https://rustup.rs/). 2. Install Ruby using your preferred package manager. + +### Release process + +To release a new version of SDK: +1. Make sure that version strings have been updated: + - Eppo core: [eppo_core/Cargo.toml](eppo_core/Cargo.toml) + - Rust: [rust-sdk/Cargo.toml](rust-sdk/Cargo.toml) + - Python: [python-sdk/Cargo.toml](python-sdk/Cargo.toml) + - Ruby: [ruby-sdk/lib/eppo_client/version.rb](ruby-sdk/lib/eppo_client/version.rb) and [ruby-sdk/ext/eppo_client/Cargo.toml](ruby-sdk/ext/eppo_client/Cargo.toml) +2. If SDK depends on a new version of `eppo_core`, the core should be released first. +3. [Create a new release](https://github.com/Eppo-exp/rust-sdk/releases/new) in GitHub interface. + - For tag, use one of the following formats (choose "create new tag on publish"): + - `eppo_core@x.y.z` + - `rust-sdk@x.y.z` + - `python-sdk@x.y.z` + - `ruby-sdk@x.y.z` + - For generating release notes, select previous tag from the same SDK (e.g., when releasing `python-sdk@4.0.3`, the previous tag should be `python-sdk@4.0.2`). Auto-generate release notes, prune entries that are not relevant for the SDK (e.g., Python SDK release should not list PRs for Ruby). + - Publish release. + - CI will automatically push a new release out to package registries.