check / check (push) Waiting to run
A plain `docker build .` stamped `unknown` into the page footer: .dockerignore left out .git, and the Dockerfile built without the -X flags. The context now carries .git without .git/config, which can hold a credential. The build stage takes the VERSION build argument when one is given, otherwise `git describe --tags --always`, fails the build if .git is present and no version comes out, and stamps it together with the full commit the footer links to. `make build` now uses `git describe` as well, and script/docker is the current shared copy. Model: opus-5-5
36 lines
947 B
Go
36 lines
947 B
Go
// Package version provides build version information
|
|
package version
|
|
|
|
// Build-time variables set via ldflags
|
|
//
|
|
//nolint:gochecknoglobals // These must be variables to allow ldflags injection at build time
|
|
var (
|
|
// GitRevision is the git commit hash
|
|
GitRevision = "unknown"
|
|
// GitRevisionShort is the version the page footer shows: the tag or
|
|
// short commit hash from `git describe --tags --always`
|
|
GitRevisionShort = "unknown"
|
|
)
|
|
|
|
const (
|
|
// Name is the program name
|
|
Name = "routewatch"
|
|
// Author is the program author
|
|
Author = "@sneak"
|
|
// AuthorURL is the author's website
|
|
AuthorURL = "https://sneak.berlin"
|
|
// License is the program license
|
|
License = "WTFPL"
|
|
// RepoURL is the git repository URL
|
|
RepoURL = "https://git.eeqj.de/sneak/routewatch"
|
|
)
|
|
|
|
// CommitURL returns the URL to view the current commit
|
|
func CommitURL() string {
|
|
if GitRevision == "unknown" {
|
|
return RepoURL
|
|
}
|
|
|
|
return RepoURL + "/commit/" + GitRevision
|
|
}
|