diff options
author | John Cai <jcai@gitlab.com> | 2019-02-15 20:05:45 +0300 |
---|---|---|
committer | John Cai <jcai@gitlab.com> | 2019-02-15 20:05:45 +0300 |
commit | d71ee85b03cc65314c9baa3a776c907e6dcc9b1d (patch) | |
tree | 400e62437751b8a6f8c4fe97a0f3a44653853ec4 | |
parent | b9c89add404cc106906f9e9ce5cec58224ae40bc (diff) | |
parent | 4ba68ba50bdf2858783d1eec0f0dbc411fbdf74f (diff) |
Merge branch '1365-version-fallback-file' into 'master'
Use VERSION file to detect version as fallback
Closes #1365
See merge request gitlab-org/gitaly!1056
-rw-r--r-- | _support/makegen.go | 35 | ||||
-rw-r--r-- | changelogs/unreleased/1365-version-fallback-file.yml | 5 |
2 files changed, 34 insertions, 6 deletions
diff --git a/_support/makegen.go b/_support/makegen.go index d5555acdd..71cc2c747 100644 --- a/_support/makegen.go +++ b/_support/makegen.go @@ -145,21 +145,44 @@ func (gm *gitalyMake) GoLdFlags() string { return fmt.Sprintf("-ldflags '-X %s/internal/version.version=%s -X %s/internal/version.buildtime=%s'", gm.Pkg(), gm.Version(), gm.Pkg(), gm.BuildTime()) } -func (gm *gitalyMake) VersionPrefixed() string { - if len(gm.versionPrefixed) > 0 { - return gm.versionPrefixed +func (gm *gitalyMake) VersionFromFile() string { + data, err := ioutil.ReadFile("../VERSION") + if err != nil { + log.Printf("error obtaining version from file: %v", err) + return "" } + return fmt.Sprintf("v%s", strings.TrimSpace(string(data))) +} + +func (gm *gitalyMake) VersionFromGit() string { cmd := exec.Command("git", "describe") cmd.Stderr = os.Stderr out, err := cmd.Output() if err != nil { - log.Printf("%s: %v", strings.Join(cmd.Args, " "), err) - gm.versionPrefixed = "unknown" + log.Printf("error obtaining version from git: %s: %v", strings.Join(cmd.Args, " "), err) + return "" + } + + return strings.TrimSpace(string(out)) +} + +func (gm *gitalyMake) VersionPrefixed() string { + if len(gm.versionPrefixed) > 0 { return gm.versionPrefixed } - gm.versionPrefixed = strings.TrimSpace(string(out)) + version := gm.VersionFromGit() + if version == "" { + log.Printf("Attempting to get the version from file") + version = gm.VersionFromFile() + } + + if version == "" { + version = "unknown" + } + + gm.versionPrefixed = version return gm.versionPrefixed } diff --git a/changelogs/unreleased/1365-version-fallback-file.yml b/changelogs/unreleased/1365-version-fallback-file.yml new file mode 100644 index 000000000..644a3af56 --- /dev/null +++ b/changelogs/unreleased/1365-version-fallback-file.yml @@ -0,0 +1,5 @@ +--- +title: Use VERSION file to detect version as fallback +merge_request: 1056 +author: +type: fixed |