Go program designed to automate versioning of Git repository by analyzing their formatted commit history and tagging them with the right semver number.
This project was built to create a lightweight and simple tool to seamlessly automate the semantic versioning on your Git repository in a language and CI agnostic way.
Following the UNIX philosophy of "make each program do one thing well", it only handles publishing semver tags to your Git repository, no package publishing or any other features.
All you need have is an initialized Git repository, a release branch (e.g., main
) and a formatted commit history on
that branch following the Conventional Commit specification. Many IDEs
support plugins to help in formatting your commit messages (e.g., VSCode, IntelliJ).
Important
go-semver-release
can only read annotated Git tags. If at some point you need to manually add a semver tag your
repository, make sure it is annotated, otherwise the program will not be able to detect it.
If Go is installed on your machine, you can install from source:
$ go install github.com/s0ders/go-semver-release@latest
$ go-semver-release --help
For cross-platform compatibility, you can use the generated Docker image:
$ docker pull soders/go-semver-release:latest
$ docker run --rm soders/go-semver-release --help
Documentation about the CLI usage can be found here.
This tool is voluntarily agnostic of which CI tool is used with it. Examples of workflows with various CI tools can be found here.