This document describes the process for creating a release of tiledb-rs. There are two main workflows: major/minor releases and patch releases. The two are basically identical other than patch releases skip a few extra maintenance steps for the major/minor release types.
Given the semantic version x.y.z, if x or y have changed, you're working
on a major/minor release. If only z has chagned, then its a patch release
which just means you get to skip a few chore steps.
- Create a new
release-x.ybranch - Perform any maintenance actions
- Run
./scripts/make-release.sh - When the Release workflow succeeds, publish the release using the GitHub UI
$ git checkout -b release-0.1 origin/mainThis section is a work in progress. So far the following steps should be manually verified:
- Ensure that
workspace.pacakge.versionmatches the tag about to be created - Ensure that the
workspace.metadata.libtiledb.versionkey is correct inCargo.toml - Something something, check MSVR maybe?
The following command will perform four major actions:
- Use
git cliffto generate the release CHANGELOG - Open your editor to view the change log before creating the tag
- Create and push the tag to Github
- Create the GitHub release using the newly created tag
$ ./scripts/make-release.sh x.y.zPreparing a patch release should just be a matter of running make-release.sh
on the release branch.
$ git checkout release-x.y
$ ./scripts/make-release.sh x.y.z