
Installation
Install Rust and then run:
shell
cargo install releaser
Rust workspace release procedure
- Read existing version from crate's toml file
- Increment version in all workspace's crate's toml files and it's dependencies
- Commit all version changes
- Create new git tag
- Run cargo publish --manifest-path …
- Wait some time (20 seconds by default) before publish next crate so as to use new version
- Push git tag
Rust crate release procedure
- Read existing version from crate's toml file
- Increment version in the toml file
- Commit all version changes
- Create new git tag
- Run cargo publish --manifest-path …
- Push git tag
Command line syntax:
```
Rust releasing workspace tool
USAGE:
releaser.exe [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
b Create brew package manager Formula (package definition file) to publish it into a tap (MacOS and Linux
only)
c Release single crate specified by path
help Prints this message or the help of the given subcommand(s)
w Release workspace specified by path
Releasing workspace
Release workspace specified by path
USAGE:
releaser w [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-d, --delay Delay in seconds between publish next workflow's crate [default: 20]
ARGS:
Version increment. One of the following: major, minor or patch
Sets workspace root path
Releasing simple crate
Release single crate specified by path
USAGE:
releaser c
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
ARGS:
Version increment. One of the following: major, minor or patch
Sets crate's root path
Creating brew package manager Formula (package definition file) to publish it into a tap (MacOS and Linux
only)
Create brew package manager Formula (package definition file) to publish it into a tap (MacOS and Linux only)
USAGE:
releaser b [OPTIONS] --base --crate
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-b, --base Base URI of downloaded artifacts
-c, --crate Sets crate's path where Cargo.toml located
-l, --linux Sets Linux package directory path
-m, --macos Sets Mac OS package directory path
-u, --output
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-b, --base Base URI of downloaded artifacts
-i, --binary Sets 64-bit binary package directory path
-c, --crate Sets crate's path where Cargo.toml located
-e, --exe Sets Windows executable name
-u, --output