Skip to content

Commit

Permalink
chore: adds initial version of RELEASE.md
Browse files Browse the repository at this point in the history
  • Loading branch information
claymcleod committed Nov 22, 2023
1 parent e48747c commit 0ca7823
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Release

The release process for the `wdl` 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
`wdl`) in a sequential fashion using the [component crates](#component-crates)
section.
* Next (if desired), you should release the convenience crate (the `wdl` 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 `wdl-grammar` crate. Please
substitute the name of the crate that you are working on.

For every component crate that has changes:

* [ ] Update version in `Cargo.toml`.
* [ ] Update `CHANGELOG.md` with version and publication date.
* [ ] Run tests: `cargo test --all-features`.
* [ ] Run linting: `cargo clippy --all-features`.
* [ ] Run fmt: `cargo fmt --check`.
* [ ] Run docs: `cargo doc`.
* [ ] Stage changes: `git add Cargo.lock Cargo.toml CHANGELOG.md`.
* [ ] Create git commit:
```
git commit -m "release: bumps `wdl-grammar` version to v0.1.0"
```
* [ ] Create git tag:
```
git tag wdl-grammar-v0.1.0
```
* [ ] Push release: `git push && git push --tags`.
* [ ] 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

For the convenience crate (`wdl`):

* [ ] Update the version of all component crates in `Cargo.toml`.

From the root directory:

* [ ] Run tests: `cargo test --all-features`.
* [ ] Run linting: `cargo clippy --all-features`.
* [ ] Run fmt: `cargo fmt --check`.
* [ ] Run docs: `cargo doc`.
* [ ] Stage changes: `git add wdl/Cargo.lock wdl/Cargo.toml`.
* [ ] Create git commit:
```
git commit
```

The commit message should have a body conforming to this style:

```
release: bumps `wdl` version to v0.1.0
## Component Crate Updates
* `wdl-grammar`: bumped from v0.1.0 to v0.2.0
```
* [ ] Create git tag: `git tag wdl-v0.1.0`.
* [ ] Push release: `git push && git push --tags`.
* [ ] Publish the new crate: `cargo publish --all-features`.
* [ ] 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.

0 comments on commit 0ca7823

Please sign in to comment.