Read about our upcoming Code of Conduct on this issue

Commit 3ee00653 authored by Douwe Maan's avatar Douwe Maan
Browse files

Merge branch 'ce-fj-create-webide-terminal-service' into 'master'

CE port of Add new service to create the web ide terminal

See merge request gitlab-org/gitlab-ce!23514
......@@ -171,6 +171,8 @@ class Pipeline < ActiveRecord::Base
scope :internal, -> { where(source: internal_sources) }
scope :for_user, -> (user) { where(user: user) }
# Returns the pipelines in descending order (= newest first), optionally
# limited to a number of references.
#
......@@ -496,6 +498,8 @@ def config_processor
end
def ci_yaml_file_path
return unless repository_source? || unknown_source?
if project.ci_config_path.blank?
'.gitlab-ci.yml'
else
......@@ -664,6 +668,7 @@ def default_branch?
def ci_yaml_from_repo
return unless project
return unless sha
return unless ci_yaml_file_path
project.repository.gitlab_ci_yml_for(sha, ci_yaml_file_path)
rescue GRPC::NotFound, GRPC::Internal
......
......@@ -1249,22 +1249,40 @@ def create_pipeline(status, ref, sha, project)
describe '#ci_yaml_file_path' do
subject { pipeline.ci_yaml_file_path }
it 'returns the path from project' do
allow(pipeline.project).to receive(:ci_config_path) { 'custom/path' }
%i[unknown_source repository_source].each do |source|
context source.to_s do
before do
pipeline.config_source = described_class.config_sources.fetch(source)
end
is_expected.to eq('custom/path')
end
it 'returns the path from project' do
allow(pipeline.project).to receive(:ci_config_path) { 'custom/path' }
it 'returns default when custom path is nil' do
allow(pipeline.project).to receive(:ci_config_path) { nil }
is_expected.to eq('custom/path')
end
it 'returns default when custom path is nil' do
allow(pipeline.project).to receive(:ci_config_path) { nil }
is_expected.to eq('.gitlab-ci.yml')
end
is_expected.to eq('.gitlab-ci.yml')
it 'returns default when custom path is empty' do
allow(pipeline.project).to receive(:ci_config_path) { '' }
is_expected.to eq('.gitlab-ci.yml')
end
end
end
it 'returns default when custom path is empty' do
allow(pipeline.project).to receive(:ci_config_path) { '' }
context 'when pipeline is for auto-devops' do
before do
pipeline.config_source = 'auto_devops_source'
end
is_expected.to eq('.gitlab-ci.yml')
it 'does not return config file' do
is_expected.to be_nil
end
end
end
......
......@@ -11,6 +11,7 @@
end
before do
stub_application_setting(auto_devops_enabled: false)
stub_ci_pipeline_to_return_yaml_file
pipeline_schedule.update_column(:next_run_at, 1.day.ago)
......
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