Awesome
Go Release!
A simple program to handle GitHub releases for Go repositories.
Get
go install github.com/nwillc/gorelease@latest
Setup
Your repository should contain the following:
.version
LICENSE.md (Optional)
Your Semantic Version
The .version
file should contain the semantic version tag you want to use, for example v0.1.0
.
Your Code License
This file (LICENSE.md
or LICENSE
) is optional, if present the text it contains will be used as a comment in
the version.go
files generated.
Use
Assuming you've set up as above.
- Commit your code in preparation for release.
- Update the
.version
file with a new version number. - Run
gorelease
This will:
- generate a new
gen/version/version.go
- Create a tag with the version in
.version
- push the tag
- push the repository
If the push fails due to credential issues it will inform you how to do the push manually.
Using the version in your code
This program will generate a gen/version/version.go
file like the one in this repo.
You can reference version.Version
in your code to access the version tag of the current release.
Options
Usage of gorelease:
-dirty
Allow dirty repository with uncommitted files.
-dry-run
Perform a dry run, no files changed or tags/files pushed.
-output string
Where to put the output version.go file (default "gen/version/version.go")
-version
Display version.