b09e40624b
The pre-release tags are set at the beginning of a release, so it would be impossible to figure out which version was running if we're running nightlies. In that case it's better to still link to the SHA. These versions don't get deployed to .com.
54 lines
1.3 KiB
Ruby
54 lines
1.3 KiB
Ruby
require_dependency 'gitlab/popen'
|
|
|
|
module Gitlab
|
|
def self.root
|
|
Pathname.new(File.expand_path('..', __dir__))
|
|
end
|
|
|
|
def self.config
|
|
Settings
|
|
end
|
|
|
|
def self.revision
|
|
@_revision ||= begin
|
|
if File.exist?(root.join("REVISION"))
|
|
File.read(root.join("REVISION")).strip.freeze
|
|
else
|
|
result = Gitlab::Popen.popen_with_detail(%W[#{config.git.bin_path} log --pretty=format:%h -n 1])
|
|
|
|
if result.status.success?
|
|
result.stdout.chomp.freeze
|
|
else
|
|
"Unknown".freeze
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
COM_URL = 'https://gitlab.com'.freeze
|
|
APP_DIRS_PATTERN = %r{^/?(app|config|ee|lib|spec|\(\w*\))}
|
|
SUBDOMAIN_REGEX = %r{\Ahttps://[a-z0-9]+\.gitlab\.com\z}
|
|
VERSION = File.read(root.join("VERSION")).strip.freeze
|
|
INSTALLATION_TYPE = File.read(root.join("INSTALLATION_TYPE")).strip.freeze
|
|
|
|
def self.com?
|
|
# Check `gl_subdomain?` as well to keep parity with gitlab.com
|
|
Gitlab.config.gitlab.url == COM_URL || gl_subdomain?
|
|
end
|
|
|
|
def self.org?
|
|
Gitlab.config.gitlab.url == 'https://dev.gitlab.org'
|
|
end
|
|
|
|
def self.gl_subdomain?
|
|
SUBDOMAIN_REGEX === Gitlab.config.gitlab.url
|
|
end
|
|
|
|
def self.dev_env_or_com?
|
|
Rails.env.development? || org? || com?
|
|
end
|
|
|
|
def self.pre_release?
|
|
VERSION.include?('pre')
|
|
end
|
|
end
|