From 81d02cf6fb164a9c20bd6e0207f47a076874d607 Mon Sep 17 00:00:00 2001 From: Clay McLeod Date: Fri, 3 Jan 2025 12:13:05 -0600 Subject: [PATCH] chore: unifies the `RELEASE.md` process for all crates --- RELEASE.md | 76 ++++++------------------------------------------------ 1 file changed, 8 insertions(+), 68 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index cd992b9..d277f79 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,20 +1,5 @@ # Release -The release process for the `omics` family of crates is intentionally disjoint -across the repository. When releasing any new packages: - -- You should first release each of the component crates (all crates that are not - `omics`) in a sequential fashion using the [component crates](#component-crates) - section. -- Next (if desired), you should release the convenience crate (the `omics` crate) - by following the [convenience crate](#convenience-crate) section. - -Notably, updates to the files listed below should be grouped in a single commit -**per crate**, but updates to these files across crates should not be contained -within a single commit. - -## Component Crates - **Note:** in this example, we will be using the `omics-core` crate. Please substitute the name of the crate that you are working on. @@ -36,19 +21,22 @@ For every component crate that has changes: section (you'll later release those changes when the downstream crates are released). - ```text - ### Crate Updates + ```text + ### Crate Updates - - `omics-core`: bumped to v0.2.0 - ([release](https://github.com/stjude-rust-labs/omics/releases/tag/omics-core-v0.2.0)) - ``` + - `omics-core`: bumped to v0.2.0 + ([release](https://github.com/stjude-rust-labs/omics/releases/tag/omics-core-v0.2.0)) + ``` - [ ] Update `CHANGELOG.md` with version and publication date. + - To get the changes to the crate since the last release, you can use a command like the following: + ```bash git log omics-core-v0.1.0..HEAD --oneline -- omics-core ``` + - [ ] Run tests: `cargo test --all-features`. - [ ] Run tests for examples: `cargo test --examples --all-features`. - [ ] Run linting: `cargo clippy --all-features`. @@ -67,51 +55,3 @@ For every component crate that has changes: - [ ] Publish the component crate: `cargo publish --all-features`. - [ ] Go to the Releases page in Github, create a Release for this tag, and copy the notes from the `CHANGELOG.md` file. - -## Convenience Crate - -From the root directory: - -- [ ] Update the version of the top-level crate in the root `Cargo.toml`. - - **Note:** changes to the version number will be automatically reflected in - `omics/Cargo.toml`, as the version there is specified as `version.workspace = -true`. -- [ ] Run tests: `cargo test --all-features`. -- [ ] Run tests for examples: `cargo test --examples --all-features`. -- [ ] Run linting: `cargo clippy --all-features`. -- [ ] Run fmt: `cargo fmt --check`. -- [ ] Run doc: `cargo doc`. -- [ ] Stage changes: `git add Cargo.toml`. -- [ ] Create git commit: - - ``` - git commit - ``` - - The commit message should have a body conforming to this style: - - ``` - release: bumps `omics` version to v0.1.0 - - Component Crate Updates - ----------------------- - - * `omics-core`: introduced at v0.1.0 ([release](https://github.com/stjude-rust-labs/omics/releases/tag/omics-core-v0.1.0)) - * `omics-fictitous`: bumped from v0.1.0 to v0.2.0 ([release](https://github.com/stjude-rust-labs/omics/releases/tag/omics-fictitous-v0.2.0)) - ``` - -- [ ] Create git tag: `git tag omics-v0.1.0`. -- [ ] Push release: `git push && git push --tags`. -- [ ] Publish the new crate: `cargo publish --all-features -p omics`. -- [ ] Go to the Releases page in Github, create a Release for this tag, and - copy the body from the commit message that describes the package version - updates. - - Ensure that you change the heading style from - ``` - Component Crate Updates - ----------------------- - ``` - to - ``` - ## Component Crate Updates - ```