11# Release
22
3- The release process for the ` omics ` family of crates is intentionally disjoint
4- across the repository. When releasing any new packages:
5-
6- - You should first release each of the component crates (all crates that are not
7- ` omics ` ) in a sequential fashion using the [ component crates] ( #component-crates )
8- section.
9- - Next (if desired), you should release the convenience crate (the ` omics ` crate)
10- by following the [ convenience crate] ( #convenience-crate ) section.
11-
12- Notably, updates to the files listed below should be grouped in a single commit
13- ** per crate** , but updates to these files across crates should not be contained
14- within a single commit.
15-
16- ## Component Crates
17-
183** Note:** in this example, we will be using the ` omics-core ` crate. Please
194substitute the name of the crate that you are working on.
205
@@ -36,19 +21,22 @@ For every component crate that has changes:
3621 section (you'll later release those changes when the downstream crates are
3722 released).
3823
39- ```text
40- ### Crate Updates
24+ ``` text
25+ ### Crate Updates
4126
42- - `omics-core`: bumped to v0.2.0
43- ([release](https://github.com/stjude-rust-labs/omics/releases/tag/omics-core-v0.2.0))
44- ```
27+ - `omics-core`: bumped to v0.2.0
28+ ([release](https://github.com/stjude-rust-labs/omics/releases/tag/omics-core-v0.2.0))
29+ ```
4530
4631- [ ] Update ` CHANGELOG.md ` with version and publication date.
32+
4733 - To get the changes to the crate since the last release, you can use a
4834 command like the following:
35+
4936 ``` bash
5037 git log omics-core-v0.1.0..HEAD --oneline -- omics-core
5138 ```
39+
5240- [ ] Run tests: ` cargo test --all-features` .
5341- [ ] Run tests for examples: ` cargo test --examples --all-features` .
5442- [ ] Run linting: ` cargo clippy --all-features` .
@@ -67,51 +55,3 @@ For every component crate that has changes:
6755- [ ] Publish the component crate: `cargo publish --all-features`.
6856- [ ] Go to the Releases page in Github, create a Release for this tag, and
6957 copy the notes from the `CHANGELOG.md` file.
70-
71- ## Convenience Crate
72-
73- From the root directory:
74-
75- - [ ] Update the version of the top-level crate in the root `Cargo.toml`.
76- - **Note:** changes to the version number will be automatically reflected in
77- `omics/Cargo.toml`, as the version there is specified as `version.workspace =
78- true`.
79- - [ ] Run tests: `cargo test --all-features`.
80- - [ ] Run tests for examples: `cargo test --examples --all-features`.
81- - [ ] Run linting: `cargo clippy --all-features`.
82- - [ ] Run fmt: `cargo fmt --check`.
83- - [ ] Run doc: `cargo doc`.
84- - [ ] Stage changes: `git add Cargo.toml`.
85- - [ ] Create git commit:
86-
87- ```
88- git commit
89- ```
90-
91- The commit message should have a body conforming to this style:
92-
93- ```
94- release: bumps ` omics ` version to v0.1.0
95-
96- Component Crate Updates
97- -----------------------
98-
99- * ` omics-core ` : introduced at v0.1.0 ([ release] ( https://github.com/stjude-rust-labs/omics/releases/tag/omics-core-v0.1.0 ) )
100- * ` 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 ) )
101- ```
102-
103- - [ ] Create git tag: `git tag omics-v0.1.0`.
104- - [ ] Push release: `git push && git push --tags`.
105- - [ ] Publish the new crate: `cargo publish --all-features -p omics`.
106- - [ ] Go to the Releases page in Github, create a Release for this tag, and
107- copy the body from the commit message that describes the package version
108- updates.
109- - Ensure that you change the heading style from
110- ```
111- Component Crate Updates
112- -----------------------
113- ```
114- to
115- ```
116- ## Component Crate Updates
117- ```
0 commit comments