Skip to content

Commit a3f2e44

Browse files
committed
Document how to do a release
- Add preamble explaining who this section is for - Add steps to do a release - Add an epilogue explaining how to know if successful
1 parent 963bf1d commit a3f2e44

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,3 +580,43 @@ A library for storing and _searching_ encrypted data in DynamoDB.
580580
- [ ] Sort keys are not currently hashed (but this may change in the future)
581581

582582

583+
## Releasing
584+
585+
> [!IMPORTANT]
586+
> This is only relevant to cipherstash-dynamodb maintainers.
587+
588+
To publish a new release to crates.io and GitHub:
589+
590+
1. Create a branch for your changes:
591+
```bash
592+
git checkout -b bump-version-to-x.x.x
593+
```
594+
1. Increment the version number in [`Cargo.toml`](./Cargo.toml), remembering to follow [Semantic Versioning](https://semver.org/)
595+
1. Update the lock file:
596+
```bash
597+
cargo update -w
598+
```
599+
1. Commit the changes:
600+
```bash
601+
git add Cargo.toml Cargo.lock
602+
git commit -m "Bump version to x.x.x"
603+
```
604+
1. Push the branch to GitHub:
605+
```bash
606+
git push
607+
1. Create a pull request on GitHub, get it reviewed, and get it merged
608+
1. Pull the latest changes:
609+
```bash
610+
git checkout main
611+
git pull
612+
```
613+
1. Release to crates.io and tag on GitHub:
614+
```bash
615+
# Dry run to test everything looks good
616+
cargo release
617+
618+
# Do the release
619+
cargo release --execute --no-confirm
620+
```
621+
622+
The new release should be [visible on crates.io](https://crates.io/crates/cipherstash-dynamodb/versions), and the [new tag published on GitHub](https://github.com/cipherstash/cipherstash-dynamodb/tags).

0 commit comments

Comments
 (0)