Merge branch 'ci-setup-info' into 'master'
Add links to CI setup documentation from project settings and builds pages For #14483 Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> See merge request !3384
This commit is contained in:
commit
2fdf928afa
5 changed files with 44 additions and 1 deletions
|
@ -4,6 +4,7 @@ v 8.7.0 (unreleased)
|
|||
- Preserve time notes/comments have been updated at when moving issue
|
||||
- Make HTTP(s) label consistent on clone bar (Stan Hu)
|
||||
- Fix avatar stretching by providing a cropping feature
|
||||
- Add links to CI setup documentation from project settings and builds pages
|
||||
|
||||
v 8.6.2 (unreleased)
|
||||
- Comments on confidential issues don't show up in activity feed to non-members
|
||||
|
|
|
@ -467,6 +467,18 @@ class Repository
|
|||
end
|
||||
end
|
||||
|
||||
def gitlab_ci_yml
|
||||
return nil if !exists? || empty?
|
||||
|
||||
@gitlab_ci_yml ||= tree(:head).blobs.find do |file|
|
||||
file.name == '.gitlab-ci.yml'
|
||||
end
|
||||
rescue Rugged::ReferenceError
|
||||
# For unknow reason spinach scenario "Scenario: I change project path"
|
||||
# lead to "Reference 'HEAD' not found" exception from Repository#empty?
|
||||
nil
|
||||
end
|
||||
|
||||
def head_commit
|
||||
@head_commit ||= commit(self.root_ref)
|
||||
end
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
%fieldset.builds-feature
|
||||
%legend
|
||||
Builds:
|
||||
|
||||
- unless @repository.gitlab_ci_yml
|
||||
.form-group
|
||||
.col-sm-offset-2.col-sm-10
|
||||
%p Builds need to be configured before you can begin using Continuous Integration.
|
||||
= link_to 'Get started with Builds', help_page_path('ci/quick_start', 'README'), class: 'btn btn-info'
|
||||
%hr
|
||||
|
||||
.form-group
|
||||
.col-sm-offset-2.col-sm-10
|
||||
%p Get recent application code using the following command:
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
= link_to 'Cancel running', cancel_all_namespace_project_builds_path(@project.namespace, @project),
|
||||
data: { confirm: 'Are you sure?' }, class: 'btn btn-danger', method: :post
|
||||
|
||||
- unless @repository.gitlab_ci_yml
|
||||
= link_to 'Get started with Builds', help_page_path('ci/quick_start', 'README'), class: 'btn btn-info'
|
||||
|
||||
= link_to ci_lint_path, class: 'btn btn-default' do
|
||||
= icon('wrench')
|
||||
%span CI Lint
|
||||
|
|
|
@ -2,6 +2,7 @@ require 'spec_helper'
|
|||
|
||||
describe Repository, models: true do
|
||||
include RepoHelpers
|
||||
TestBlob = Struct.new(:name)
|
||||
|
||||
let(:repository) { create(:project).repository }
|
||||
let(:user) { create(:user) }
|
||||
|
@ -131,7 +132,6 @@ describe Repository, models: true do
|
|||
describe "#license" do
|
||||
before do
|
||||
repository.send(:cache).expire(:license)
|
||||
TestBlob = Struct.new(:name)
|
||||
end
|
||||
|
||||
it 'test selection preference' do
|
||||
|
@ -148,6 +148,25 @@ describe Repository, models: true do
|
|||
end
|
||||
end
|
||||
|
||||
describe "#gitlab_ci_yml" do
|
||||
it 'returns valid file' do
|
||||
files = [TestBlob.new('file'), TestBlob.new('.gitlab-ci.yml'), TestBlob.new('copying')]
|
||||
expect(repository.tree).to receive(:blobs).and_return(files)
|
||||
|
||||
expect(repository.gitlab_ci_yml.name).to eq('.gitlab-ci.yml')
|
||||
end
|
||||
|
||||
it 'returns nil if not exists' do
|
||||
expect(repository.tree).to receive(:blobs).and_return([])
|
||||
expect(repository.gitlab_ci_yml).to be_nil
|
||||
end
|
||||
|
||||
it 'returns nil for empty repository' do
|
||||
expect(repository).to receive(:empty?).and_return(true)
|
||||
expect(repository.gitlab_ci_yml).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe :add_branch do
|
||||
context 'when pre hooks were successful' do
|
||||
it 'should run without errors' do
|
||||
|
|
Loading…
Reference in a new issue