Read about our upcoming Code of Conduct on this issue

Commit 3200c6b3 authored by Francisco Javier López's avatar Francisco Javier López Committed by Douwe Maan
Browse files

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

parent a3bf71c182f4
......@@ -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