summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-09-21 07:49:18 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-09-21 07:49:18 +0000
commit8bb3215d543db5a7905c1322cf584276a4f58145 (patch)
tree70f85ecbc621ca7bb898dd7657d8eb1002a420af
parent46173ec8ce167c6ecb6ae9bf3b41bb3d3968f948 (diff)
parent8671343b65810b983d2c8ea37b3123abd620c093 (diff)
downloadgitlab-ce-8bb3215d543db5a7905c1322cf584276a4f58145.tar.gz
Merge branch 'fail-ci-builds-without-yml' into 'master'
Fail ci builds without yml Fix for https://gitlab.com/gitlab-org/gitlab-ce/issues/2551 See merge request !1349
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/ci/commit.rb2
-rw-r--r--spec/services/ci/create_commit_service_spec.rb13
3 files changed, 15 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index cb3794f7cb6..94ce0f50d35 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -43,6 +43,7 @@ v 8.0.0 (unreleased)
- Retrieving oauth token with LDAP credentials
- Load Application settings from running database unless env var USE_DB=false
- Added Drone CI integration (Kirill Zaitsev)
+ - Fail builds if no .gitlab-ci.yml is found
- Refactored service API and added automatically service docs generator (Kirill Zaitsev)
- Added web_url key project hook_attrs (Kirill Zaitsev)
- Add ability to get user information by ID of an SSH key via the API
diff --git a/app/models/ci/commit.rb b/app/models/ci/commit.rb
index 23cd47dfe37..f102d0a7679 100644
--- a/app/models/ci/commit.rb
+++ b/app/models/ci/commit.rb
@@ -236,7 +236,7 @@ module Ci
end
def config_processor
- @config_processor ||= Ci::GitlabCiYamlProcessor.new(push_data[:ci_yaml_file] || project.generated_yaml_config)
+ @config_processor ||= Ci::GitlabCiYamlProcessor.new(push_data[:ci_yaml_file])
rescue Ci::GitlabCiYamlProcessor::ValidationError => e
save_yaml_error(e.message)
nil
diff --git a/spec/services/ci/create_commit_service_spec.rb b/spec/services/ci/create_commit_service_spec.rb
index 38d9943765a..84ab0a615dd 100644
--- a/spec/services/ci/create_commit_service_spec.rb
+++ b/spec/services/ci/create_commit_service_spec.rb
@@ -50,6 +50,19 @@ module Ci
end
end
+ it 'fails commits without .gitlab-ci.yml' do
+ result = service.execute(project,
+ ref: 'refs/heads/0_1',
+ before: '00000000',
+ after: '31das312',
+ ci_yaml_file: config,
+ commits: [ { message: 'Message' } ]
+ )
+ expect(result).to be_persisted
+ expect(result.builds.any?).to be_falsey
+ expect(result.status).to eq('failed')
+ end
+
describe :ci_skip? do
it "skips builds creation if there is [ci skip] tag in commit message" do
commits = [{ message: "some message[ci skip]" }]