We've suffered misalignment in versioning and toolchain usage due to the shell invocations downstream of ./version/tailscale-version.sh, but also the whole version data scheme in the Makefile was quite complicated, and required synchronization in the build.grade. - Makfile no longer needs to be version aware itself. - A Makefile target tailscale.version refreshes a local cached output from tailscale.com/cmd/mkversion which is updated when go.mod / go.sum change. - build.gradle loads tailscale.version to get the version string. - ldflags are produced from tailscale.version via version-ldflags.sh Updates tailscale/tailscale#13850 Signed-off-by: James Tucker <james@tailscale.com>
11 lines
401 B
Bash
Executable File
11 lines
401 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
source tailscale.version || echo >&2 "no tailscale.version file found"
|
|
if [[ -z "${VERSION_LONG}" ]]; then
|
|
exit 1
|
|
fi
|
|
echo "-X tailscale.com/version.longStamp=${VERSION_LONG}"
|
|
echo "-X tailscale.com/version.shortStamp=${VERSION_SHORT}"
|
|
echo "-X tailscale.com/version.gitCommitStamp=${VERSION_GIT_HASH}"
|
|
echo "-X tailscale.com/version.extraGitCommitStamp=${VERSION_EXTRA_HASH}"
|