Merge fix/commit-date-format
All checks were successful
check / check (push) Successful in 2m1s

This commit is contained in:
2026-06-17 05:39:11 +02:00
6 changed files with 21 additions and 9 deletions

View File

@@ -22,7 +22,7 @@ builds:
- -s -w - -s -w
- -X 'sneak.berlin/go/vaultik/internal/globals.Version={{ .Version }}' - -X 'sneak.berlin/go/vaultik/internal/globals.Version={{ .Version }}'
- -X 'sneak.berlin/go/vaultik/internal/globals.Commit={{ .Commit }}' - -X 'sneak.berlin/go/vaultik/internal/globals.Commit={{ .Commit }}'
- -X 'sneak.berlin/go/vaultik/internal/globals.CommitDate={{ .CommitDate }}' - -X 'sneak.berlin/go/vaultik/internal/globals.CommitDate={{ slice .CommitDate 0 10 }}'
archives: archives:
- id: default - id: default

View File

@@ -42,7 +42,7 @@ COPY . .
RUN make test RUN make test
# Build (pure Go, no CGO required since we use modernc.org/sqlite) # Build (pure Go, no CGO required since we use modernc.org/sqlite)
RUN CGO_ENABLED=0 go build -ldflags "-X 'sneak.berlin/go/vaultik/internal/globals.Version=${VERSION}' -X 'sneak.berlin/go/vaultik/internal/globals.Commit=$(git rev-parse HEAD 2>/dev/null || echo unknown)' -X 'sneak.berlin/go/vaultik/internal/globals.CommitDate=$(git show -s --format=%cI HEAD 2>/dev/null || echo unknown)'" -o /vaultik ./cmd/vaultik RUN CGO_ENABLED=0 go build -ldflags "-X 'sneak.berlin/go/vaultik/internal/globals.Version=${VERSION}' -X 'sneak.berlin/go/vaultik/internal/globals.Commit=$(git rev-parse HEAD 2>/dev/null || echo unknown)' -X 'sneak.berlin/go/vaultik/internal/globals.CommitDate=$(git show -s --format=%cs HEAD 2>/dev/null || echo unknown)'" -o /vaultik ./cmd/vaultik
# Runtime stage # Runtime stage
# alpine:3.21, 2026-02-25 # alpine:3.21, 2026-02-25

View File

@@ -5,7 +5,7 @@ VERSION := 1.0.0-rc.1
# Build variables # Build variables
GIT_REVISION := $(shell git rev-parse HEAD 2>/dev/null || echo "unknown") GIT_REVISION := $(shell git rev-parse HEAD 2>/dev/null || echo "unknown")
GIT_COMMIT_DATE := $(shell git show -s --format=%cI HEAD 2>/dev/null || echo "unknown") GIT_COMMIT_DATE := $(shell git show -s --format=%cs HEAD 2>/dev/null || echo "unknown")
# Linker flags # Linker flags
LDFLAGS := -X 'sneak.berlin/go/vaultik/internal/globals.Version=$(VERSION)' \ LDFLAGS := -X 'sneak.berlin/go/vaultik/internal/globals.Version=$(VERSION)' \

View File

@@ -46,9 +46,11 @@ func setupGlobals(lc fx.Lifecycle, g *globals.Globals, v *vaultik.Vaultik, opts
// user-facing output is suppressed. // user-facing output is suppressed.
v.UI = ui.NewWithColor(io.Discard, false) v.UI = ui.NewWithColor(io.Discard, false)
} else { } else {
v.UI.Banner("%s %s (commit %s, %s) invoked at %s by %s", v.UI.Banner("%s %s by %s (commit %s, built on %s) starting up at %s.",
g.Appname, g.Version, g.ShortCommit(), g.CommitDate, g.Appname, g.Version, globals.Author,
g.StartTime.Format(time.RFC3339), globals.Author) g.ShortCommit(), g.CommitDate,
g.StartTime.Format(time.RFC3339))
v.UI.Banner("%s", globals.Homepage)
} }
return nil return nil
}, },

View File

@@ -17,9 +17,13 @@ func NewVersionCommand() *cobra.Command {
Args: cobra.NoArgs, Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
fmt.Printf("vaultik %s\n", globals.Version) fmt.Printf("vaultik %s\n", globals.Version)
fmt.Printf(" commit: %s\n", globals.Commit) fmt.Printf(" commit: %s\n", globals.Commit)
fmt.Printf(" go: %s\n", runtime.Version()) fmt.Printf(" build date: %s\n", globals.CommitDate)
fmt.Printf(" os/arch: %s/%s\n", runtime.GOOS, runtime.GOARCH) fmt.Printf(" go: %s\n", runtime.Version())
fmt.Printf(" os/arch: %s/%s\n", runtime.GOOS, runtime.GOARCH)
fmt.Printf(" author: %s\n", globals.Author)
fmt.Printf(" homepage: %s\n", globals.Homepage)
fmt.Printf(" license: %s\n", globals.License)
if globals.Version == "dev" { if globals.Version == "dev" {
fmt.Println() fmt.Println()
fmt.Println("This is a development build (no version information embedded).") fmt.Println("This is a development build (no version information embedded).")

View File

@@ -19,6 +19,12 @@ var CommitDate string = "unknown"
// Author identifies the upstream author of vaultik. // Author identifies the upstream author of vaultik.
const Author = "Jeffrey Paul <sneak@sneak.berlin>" const Author = "Jeffrey Paul <sneak@sneak.berlin>"
// Homepage is the canonical URL for vaultik.
const Homepage = "https://sneak.berlin/go/vaultik"
// License is the SPDX identifier for the project license.
const License = "MIT"
// Globals contains application-wide configuration and metadata. // Globals contains application-wide configuration and metadata.
type Globals struct { type Globals struct {
Appname string Appname string