in lib/gitlab/build/info/git.rb [66:101]
def latest_stable_tag(level: 1)
unless (fact_from_file = Gitlab::Util.fetch_fact_from_file(__method__)).nil?
return fact_from_file
end
stable_tags = sorted_tags_for_edition.reject { |t| t.include?('rc') }
return if stable_tags.empty?
branch_for_version = Build::Info::CI.mr_target_branch_name || branch_name
version = branch_for_version.delete_suffix('-stable').tr('-', '.') if Build::Check.on_stable_branch? || Build::Check.mr_targetting_stable_branch?
results = stable_tags.select { |t| t.start_with?("#{version}.") } if version
output = if results.nil? || results.empty?
stable_tags
else
results
end
if level >= output.length
output.last
else
output[level - 1]
end
end