Make sure documentation is updated:
- Review docs:
cargo doc --open --no-deps
- Capture new screenshots if needed
- Record new gifs if needed, using Peek
- Disable shell overrides, e.g.
starship
- Use a plain shell prompt:
export PS1="\$ "
- Set shell size to 100x24
- Set peek size to 1000x457
- Put resulting gifs in
assets/
- Disable shell overrides, e.g.
- Update text content, particularly
lib.rs
rustdocs
To make a release:
- Create a new branch off
main
, e.g.release/0.2
- (Optional) update dependencies:
cargo update && git commit -m "Update deps"
- NOTE: We vendor openssl (for musl builds), so make sure to keep it up-to-date for security
- Increment version in
Cargo.toml
- Create a new commit, e.g.
git commit -m "0.2.0"
- Create a new tag, e.g.
git tag -a -m "0.2.0" release/0.2.0
- Push everything:
git push -u origin --follow-tags HEAD
- Build a binary release:
cargo build --release
- Build a musl binary release:
cargo build --release --target x86_64-unknown-linux-musl
- You must have added the target first:
rustup target add x86_64-unknown-linux-musl
- To build openssl source:
sudo apt install musl-tools
- You must have added the target first:
- Strip binaries to reduce size:
strip path/to/binary
- Tar and gzip binaries, e.g.
tar -czvf bolster.x86_64-unknown-linux-gnu.tar.gz bolster
- Create a new release: https://gitlab.com/tangram-vision/oss/bolster/-/releases
- Select the tag (e.g.
0.2.0
) - Set the title
- Add release notes
- Attach binary files
- Add a link to documentation
- Select the tag (e.g.
- Test installing by following documentation instructions