Skip to content

Latest commit

 

History

History
54 lines (41 loc) · 2 KB

HOW_TO_RELEASE.md

File metadata and controls

54 lines (41 loc) · 2 KB

Preparing a Release


Since this is a new project with few users, we're starting simple with a tag-based release process that leverages semantic versioning to control and version releases.

The intention is for maintainers of this repository to prepare for a release using these steps. If it becomes burdensome, it can be further automated.


Step 1: Evaluate changes since the prior release

Review a diff between the prior release tag and the current commit. The purpose of this review is to observe if there would be any breaking changes introduced between releases if a release was made. Based on your findings, select a new version number in accordance with standard semver practices.

Step 2 (optional): Perform a test query

If the scope of the changes is large, build and install the driver and run some local tests to ensure it works as designed. This local testing may need to include both the 32 and 64 bit versions of the driver. Whether or not testing is required (or testing of different bitnesses) is left to the discretion of the maintainer performing the release.

Step 3: Push a tag to trigger the release

Select the semantic version of your release, then push a tag of the form vX.Y.Z, based on the version number you selected in step 1. Observe the github action workflow for the release process to ensure it completes successfully.

Step 4: Review the Release Changelog

Observe that a draft (non-public) release has appeared at the top of the repositories release list. This release is visible only to maintainers of the repository. Modify the autogenerated changelog to make it more readable or provide a summary of changes if required. This is also an opportunity to inspect or test the installers built by the github workflow for the release process (if desired).

Step 5: Complete the Release

Once you have reviewed the draft (non-public) release and found it to be ready for the user community, mark the release as ready (public). This completes the release process.