|
| 1 | +# How To Release tm db |
| 2 | + |
| 3 | +This document provides a step-by-step guide for creating a release of tm-db. |
| 4 | + |
| 5 | +## 1. Update the changelog |
| 6 | + |
| 7 | +Open the `CHANGELOG.md` at the root of the repository. |
| 8 | +Amend the top of this file with a section for the latest version (0.6.x etc). |
| 9 | +Be sure to include any bug fixes, improvements, dependency upgrades, and breaking changes included in this version. |
| 10 | +(It's OK to exclude changes to tooling dependencies, like updates to Github Actions.) |
| 11 | +Finally, create a pull request for the changelog update. |
| 12 | +Once the tests pass and the pull request is approved, merge the change into master. |
| 13 | + |
| 14 | +## 2. Tag the latest commit with the latest version |
| 15 | + |
| 16 | +tm-db is provided as a golang [module](https://blog.golang.org/publishing-go-modules), which rely on git tags for versioning information. |
| 17 | + |
| 18 | +Tag the changelog commit in master created in step 1 with the latest version. |
| 19 | +Be sure to prefix the version tag with `v`. For example, `v0.6.5` for version 0.6.5. |
| 20 | +This tagging can be done [using github](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags#creating-a-tag) or [using git](https://git-scm.com/book/en/v2/Git-Basics-Tagging) on the command line. |
| 21 | + |
| 22 | +Note that the golang modules tooling expects tags to be immutable. |
| 23 | +If you make a mistake after pushing a tag, make a new tag and start over rather than fix and re-push the old tag. |
| 24 | +## 3. Create a github release |
| 25 | + |
| 26 | +Finally, create a github release. |
| 27 | +To create a github release, follow the steps in the [github release documentation](https://docs.github.com/en/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release). |
| 28 | + |
| 29 | +When creating the github release, select the `Tag version` created in step 2. |
| 30 | +Use the version tag as the release title and paste in the changelog information for this release in the `Describe this release` section. |
0 commit comments