From 86e476c8d1f6776bf330059efe7cf46ce279592b Mon Sep 17 00:00:00 2001 From: Andrew Lytvynov Date: Wed, 10 Jan 2024 09:03:11 -0800 Subject: [PATCH] version/mkversion: allow version override with $TS_VERSION_OVERRIDE (#10799) This is useful to build local binaries with custom versions to test version-specific logic (like updates). Updates https://github.com/tailscale/corp/issues/16703 Signed-off-by: Andrew Lytvynov --- version/mkversion/mkversion.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/version/mkversion/mkversion.go b/version/mkversion/mkversion.go index a7d60f528..c09473256 100644 --- a/version/mkversion/mkversion.go +++ b/version/mkversion/mkversion.go @@ -199,6 +199,13 @@ func tailscaleModuleRef(modBs []byte) (string, error) { } func mkOutput(v verInfo) (VersionInfo, error) { + if override := os.Getenv("TS_VERSION_OVERRIDE"); override != "" { + var err error + v.major, v.minor, v.patch, err = parseVersion(override) + if err != nil { + return VersionInfo{}, fmt.Errorf("failed to parse TS_VERSION_OVERRIDE: %w", err) + } + } var changeSuffix string if v.minor%2 == 1 { // Odd minor numbers are unstable builds.