A simple program to handle GitHub releases for Go repositories.
go install github.com/nwillc/gorelease@latest
Your repository should contain the following:
.version
LICENSE.md (Optional)
The .version
file should contain the semantic version tag you want to use, for example v0.1.0
.
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.
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.
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.
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.