Commit 0674bf23 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Look for .gitlab-ci.yml only if checkout_sha is present

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent fe51fa26
...@@ -40,10 +40,14 @@ class GitlabCiService < CiService ...@@ -40,10 +40,14 @@ class GitlabCiService < CiService
def execute(data) def execute(data)
return unless supported_events.include?(data[:object_kind]) return unless supported_events.include?(data[:object_kind])
ci_yaml_file = ci_yaml_file(data) sha = data[:checkout_sha]
if ci_yaml_file if sha.present?
data.merge!(ci_yaml_file: ci_yaml_file) file = ci_yaml_file(sha)
if file && file.data
data.merge!(ci_yaml_file: file.data)
end
end end
service_hook.execute(data) service_hook.execute(data)
...@@ -129,15 +133,15 @@ class GitlabCiService < CiService ...@@ -129,15 +133,15 @@ class GitlabCiService < CiService
private private
def ci_yaml_file(data) def ci_yaml_file(sha)
ref = data[:checkout_sha] repository.blob_at(sha, '.gitlab-ci.yml')
repo = project.repository
commit = repo.commit(ref)
blob = Gitlab::Git::Blob.find(repo, commit.id, ".gitlab-ci.yml")
blob && blob.data
end end
def fork_registration_path def fork_registration_path
project_url.sub(/projects\/\d*/, "#{API_PREFIX}/forks") project_url.sub(/projects\/\d*/, "#{API_PREFIX}/forks")
end end
def repository
project.repository
end
end end
...@@ -58,7 +58,7 @@ describe GitlabCiService do ...@@ -58,7 +58,7 @@ describe GitlabCiService do
service_hook = double service_hook = double
service_hook.should_receive(:execute) service_hook.should_receive(:execute)
@service.should_receive(:service_hook).and_return(service_hook) @service.should_receive(:service_hook).and_return(service_hook)
@service.should_receive(:ci_yaml_file).with(push_sample_data) @service.should_receive(:ci_yaml_file).with(push_sample_data[:checkout_sha])
@service.execute(push_sample_data) @service.execute(push_sample_data)
end end
......
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