go-gitver/examples/basic
AJ ONeal f104a3155f v1.0.0: get version from git, or fail gracefully 2019-06-20 22:55:24 -06:00
..
tools v1.0.0: get version from git, or fail gracefully 2019-06-20 22:55:24 -06:00
README.md v1.0.0: get version from git, or fail gracefully 2019-06-20 22:55:24 -06:00
go.mod v1.0.0: get version from git, or fail gracefully 2019-06-20 22:55:24 -06:00
main.go v1.0.0: get version from git, or fail gracefully 2019-06-20 22:55:24 -06:00

README.md

Example

Prints the version or a nice message

Build

Typically the developer would perform these steps and then commit the results (go.mod, go.sum, vendor).

However, since this is an example within the project directory, that seemed a little redundant.

go mod tidy
go mod vendor

These are the instructions that someone cloning the repo might use.

go generate -mod=vendor ./...
go build -mod=vendor -o hello *.go

Note: If the source is distributed in a non-git tarball then generated-version.go will not be output, and whatever version info is in package main will remain as-is.

If you would prefer the build process to fail (i.e. in a CI/CD pipeline), you can set the environment variable GITVER_FAIL=true.