add release instructions

This commit is contained in:
James Andariese 2023-11-01 20:15:47 -05:00
parent 6d509eaba9
commit 309db80c2f

32
RELEASING.md Normal file
View File

@ -0,0 +1,32 @@
# Releasing
Releasing involves upgrading dependencies, bumping versions,
tagging in git, and publishing to crates.io.
### Upgrading dependencies
Using VS Code and [the crates extension](https://marketplace.visualstudio.com/items?itemName=serayuzgur.crates), upgrade any outdated dependencies.
Commit this change to current release branch.
### Release new version
```
cargo set-version --bump patch
VERSION="$(tomlq -r .package.version Cargo.toml)"
git add Cargo.toml Cargo.lock
git commit -m "release $VERSION"
git merge main
git checkout main
git merge dev
git tag "$VERSION"
git checkout dev
cargo set-version --bump alpha
NEW_VERSION="$(tomlq -r .package.version Cargo.toml)"
git add Cargo.toml Cargo.lock
git commit -m "a new version appears: $NEW_VERSION
```
### Publish to crates.io
cargo publish