X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8a3fb7961809da1a2aeca4bfd26c012f794379e3..cf7cdeb32bc3596f644ab0871924972abf972290:/services/api/lib/app_version.rb diff --git a/services/api/lib/app_version.rb b/services/api/lib/app_version.rb index 2f235d1eab..335608b2b6 100644 --- a/services/api/lib/app_version.rb +++ b/services/api/lib/app_version.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + # If you change this file, you'll probably also want to make the same # changes in apps/workbench/lib/app_version.rb. @@ -11,6 +15,7 @@ class AppVersion def self.forget @hash = nil + @package_version = nil end # Return abbrev commit hash for current code version: "abc1234", or @@ -30,7 +35,7 @@ class AppVersion if @hash.nil? or @hash.empty? begin local_modified = false - git("status", "-s") do |git_pipe| + git("status", "--porcelain") do |git_pipe| git_pipe.each_line do |_| local_modified = true # Continue reading the pipe so git doesn't get SIGPIPE. @@ -49,4 +54,18 @@ class AppVersion @hash || "unknown" end + + def self.package_version + if (cached = Rails.configuration.package_version || @package_version) + return cached + end + + begin + @package_version = IO.read(Rails.root.join("package-build.version")).strip + rescue Errno::ENOENT + @package_version = "unknown" + end + + @package_version + end end