Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
There have been many issues raised over the content of
version.go
- The file where we get the Task version used for the--version
flag and.TASK_VERSION
variable.--version
doesn't work #1947--version
says "Task version: unknown" (pacman) #2150Currently, we use a mixture of
debug.ReadBuildInfo
and-ldflags
to set the version variable. The issue with this is that build info is only available when built with a Git checkout and-ldflags
requires the maintainer of the release mechanism to maintain the version string/checksum correctly. Thins leads to inconsistencies between various builds.This PR overhauls the whole thing to make some permanent improvements:
version.txt
file will be generated containing the version numberversion.txt
file is then embedded into the binary at build time using//go:embed
-ldflags
so we aren't breaking any existing overridesdebug.ReadBuildInfo
is queried and the commit/dirty status appended to the version if the information is available and is a development build (not tagged)Task version:
prefix so that the output is easier to parseExamples: