32 lines
811 B
Markdown
32 lines
811 B
Markdown
|
# 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
|