class Gitlab::QA::Component::Staging::Version
def api_get!
def api_get! @response_body ||= # rubocop:disable Naming/MemoizedInstanceVariableName begin response = Support::GetRequest.new(uri, Runtime::Env.qa_access_token).execute! JSON.parse(response.body) end end
def initialize(address)
def initialize(address) @uri = URI.join(address, '/api/v4/version') Runtime::Env.require_qa_access_token! end
def official?
def official? QA::Release::DEV_OFFICIAL_TAG_REGEX.match?(version) end
def revision
def revision api_get!.fetch('revision') end
def tag
def tag if official? # Because RCs are considered to be pre-releases, that come before # regular releases we can't check if version < 15.6.0, hence # using this weird not-gonna-happen-patch-release hack. Gem::Version.new(version) > Gem::Version.new('15.5.99') ? version : "v#{version}" else revision end end
def version
def version api_get!.fetch('version') end