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.y
branch - 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/main
This section is a work in progress. So far the following steps should be manually verified:
- Ensure that the
workspace.metadata.libtiledb.version
key is correct inCargo.toml
- Something something, check MSVR maybe?
The following command will perform four major actions:
- Use
git cliff
to 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.z
Preparing 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