Files
bvandeusenandClaude Opus 5.5 c1305a547d
release / govulncheck (push) Successful in 17s
release / web (push) Successful in 1m35s
release / go (push) Successful in 2m0s
release / integration (push) Successful in 5m40s
release / android (push) Successful in 6m15s
release / Build signed APK (releases and dev) (push) Successful in 6m30s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 25s
release / Verify release artifacts (tag releases only) (push) Skipped
feat: the admin Overview shows who is listening, downloads, the library and its disk, and the server's version, uptime and recent errors; a download waiting on you, a client not answering or a full disk count in its verdict (M504 #5627 #5628 #5629 #5630)
The version moves to internal/buildinfo, so /rest/ping reports the build
instead of "dev".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:51:41 -04:00

34 lines
1.4 KiB
Go

// Package buildinfo says which build is running and since when. It is the
// one place the version lives, so /healthz, the Subsonic envelope and the
// admin Overview cannot disagree about it.
package buildinfo
import "time"
// Version is the build's own version name — YYYY.MM.DD.HHMM, derived from
// the commit it was built from by ci/version.sh. Defaults to "dev" for local
// builds; overridden at link time via:
//
// -ldflags="-X 'git.fabledsword.com/bvandeusen/minstrel/internal/buildinfo.Version=2026.09.10.1449'"
//
// release.yml passes it through the MINSTREL_VERSION build-arg → Dockerfile
// ldflag.
//
// This carried the literal strings "main" and "dev" until 2026-09-10, which
// made every image on a channel report the same thing forever. It stopped
// being cosmetic when :vYYYY.MM.DD.HHMM image tags were retired (family rule
// 145): this is now the ONLY thing that says which build is running.
var Version = "dev"
// Channel is which line this build came off — "stable" or "dev", or "local"
// for a plain `docker build`.
//
// A SIBLING FIELD, never a suffix inside Version (family rule 149). The same
// commit built on both lanes reports the same version and differs only here;
// folding the two together is what makes a version string stop being
// comparable.
var Channel = "local"
// Started is when this process started, for the Overview's uptime (M504).
var Started = time.Now()