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--versionflag and.TASK_VERSIONvariable.--versiondoesn't work #1947--versionsays "Task version: unknown" (pacman) #2150Currently, we use a mixture of
debug.ReadBuildInfoand-ldflagsto set the version variable. The issue with this is that build info is only available when built with a Git checkout and-ldflagsrequires 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.txtfile will be generated containing the version numberversion.txtfile is then embedded into the binary at build time using//go:embed-ldflagsso we aren't breaking any existing overridesdebug.ReadBuildInfois 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: