Commit 80c3c3ba authored by Sean McGivern's avatar Sean McGivern

Merge branch 'bvl-show-pre-release-sha-ee' into 'master'

Show the commit-sha for pre-release versions

See merge request gitlab-org/gitlab-ee!7726
parents 6c001de6 53ba2f11
# frozen_string_literal: true
module VersionCheckHelper
prepend EE::VersionCheckHelper
def version_status_badge
return unless Rails.env.production?
return unless Gitlab::CurrentSettings.version_check_enabled
......@@ -9,4 +11,17 @@ module VersionCheckHelper
image_url = VersionCheck.new.url
image_tag image_url, class: 'js-version-status-badge'
end
def link_to_version
if Gitlab.pre_release?
commit_link = link_to(Gitlab.revision, Gitlab::COM_URL + namespace_project_commits_path('gitlab-org', source_code_project, Gitlab.revision))
[Gitlab::VERSION, content_tag(:small, commit_link)].join(' ').html_safe
else
link_to Gitlab::VERSION, Gitlab::COM_URL + namespace_project_tag_path('gitlab-org', source_code_project, "v#{Gitlab::VERSION}")
end
end
def source_code_project
'gitlab-ce'
end
end
......@@ -7,7 +7,7 @@
GitLab
Enterprise Edition
- if user_signed_in?
%span= link_to Gitlab::VERSION, Gitlab::COM_URL + namespace_project_tag_path('gitlab-org', 'gitlab-ee', "v#{Gitlab::VERSION}")
%span= link_to_version
= version_status_badge
%hr
......
# frozen_string_literal: true
module EE
module VersionCheckHelper
def source_code_project
'gitlab-ee'
end
end
end
# frozen_string_literal: true
require 'spec_helper'
describe EE::VersionCheckHelper do
include StubVersion
describe '#link_to_version' do
context 'for a pre-release' do
before do
stub_version('8.0.2-pre', 'deadbeef')
end
it 'links to an ee-commit' do
expect(helper.link_to_version).to include('https://gitlab.com/gitlab-org/gitlab-ee/commits/deadbeef')
end
end
context 'for a normal release' do
before do
stub_version('8.0.2-ee', 'deadbeef')
end
it 'links to an ee-tag' do
expect(helper.link_to_version).to include('https://gitlab.com/gitlab-org/gitlab-ee/tags/v8.0.2-ee')
end
end
end
end
......@@ -47,4 +47,8 @@ module Gitlab
def self.dev_env_or_com?
Rails.env.development? || org? || com?
end
def self.pre_release?
VERSION.include?('pre')
end
end
# frozen_string_literal: true
module StubVersion
def stub_version(version, revision)
stub_const('Gitlab::VERSION', version)
allow(Gitlab).to receive(:revision).and_return(revision)
end
end
# frozen_string_literal: true
require 'rails_helper'
describe 'help/index' do
include StubVersion
describe 'version information' do
before do
stub_helpers
end
it 'is hidden from guests' do
stub_user(nil)
stub_version('8.0.2', 'abcdefg')
stub_helpers
render
......@@ -13,15 +20,28 @@ describe 'help/index' do
expect(rendered).not_to match 'abcdefg'
end
it 'is shown to users' do
stub_user
stub_version('8.0.2', 'abcdefg')
stub_helpers
context 'when logged in' do
before do
stub_user
end
render
it 'shows a link to the tag to users' do
stub_version('8.0.2', 'abcdefg')
render
expect(rendered).to match '8.0.2'
expect(rendered).to have_link('8.0.2', href: %r{https://gitlab.com/gitlab-org/gitlab-(ce|ee)/tags/v8.0.2})
end
it 'shows a link to the commit for pre-releases' do
stub_version('8.0.2-pre', 'abcdefg')
expect(rendered).to match '8.0.2'
expect(rendered).to have_link('8.0.2', href: 'https://gitlab.com/gitlab-org/gitlab-ee/tags/v8.0.2')
render
expect(rendered).to match '8.0.2'
expect(rendered).to have_link('abcdefg', href: %r{https://gitlab.com/gitlab-org/gitlab-(ce|ee)/commits/abcdefg})
end
end
end
......@@ -37,11 +57,6 @@ describe 'help/index' do
allow(view).to receive(:user_signed_in?).and_return(user)
end
def stub_version(version, revision)
stub_const('Gitlab::VERSION', version)
allow(Gitlab).to receive(:revision).and_return(revision)
end
def stub_helpers
allow(view).to receive(:markdown).and_return('')
allow(view).to receive(:version_status_badge).and_return('')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment