summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2015-08-05 09:52:56 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2015-08-05 09:52:56 +0000
commit0ac87af6ce25abf7e12a63a9cec1a2d10c841196 (patch)
treedae8552bf095726e31e0395898fc46107750974d
parent9c0c4fd0af7353f72a4a2bc8b3767c1594cc23f7 (diff)
parent7f81666114e1a108bb57374b0201ea8dda621c3e (diff)
downloadgitlab-ci-0ac87af6ce25abf7e12a63a9cec1a2d10c841196.tar.gz
Merge branch 'skipped_commit' into 'master'
Commits with [ci skip] have special skipped status ![Screen_Shot_2015-07-30_at_14.02.50](https://gitlab.com/gitlab-org/gitlab-ci/uploads/f200af385679b564cd15d730bd4ccd20/Screen_Shot_2015-07-30_at_14.02.50.png) + Commits with [ci skip] are marked as skipped + Commits without builds are marked as skipped Resolution for: + https://dev.gitlab.org/gitlab/gitlab-ci/issues/264 + https://dev.gitlab.org/gitlab/gitlab-ci/issues/266 This requires CE update: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1073 /cc @vsizov @sytses See merge request !216
-rw-r--r--CHANGELOG2
-rw-r--r--app/helpers/commits_helper.rb2
-rw-r--r--app/models/commit.rb4
-rw-r--r--spec/services/create_commit_service_spec.rb1
4 files changed, 9 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index e3db794..2ebe269 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -8,6 +8,8 @@ v7.14.0 (unreleased)
- Refactor GitLab API usage to use either access_token or private_token depending on what was specified during login
- Allow to use access_token for API requests
+ - Added support for CI skipped status
+
v7.13.1
- Fix: user could steal specific runner
- Fix: don't send notifications for jobs with allow_failure set
diff --git a/app/helpers/commits_helper.rb b/app/helpers/commits_helper.rb
index c212e8b..23adade 100644
--- a/app/helpers/commits_helper.rb
+++ b/app/helpers/commits_helper.rb
@@ -7,6 +7,8 @@ module CommitsHelper
'alert-success'
when 'failed', 'canceled'
'alert-danger'
+ when 'skipped'
+ 'alert-disabled'
else
'alert-warning'
end
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 1dc095a..c7e2d8b 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -161,6 +161,10 @@ class Commit < ActiveRecord::Base
end
def status
+ if skip_ci? || builds.none?
+ return 'skipped'
+ end
+
if yaml_errors.present?
return 'failed'
end
diff --git a/spec/services/create_commit_service_spec.rb b/spec/services/create_commit_service_spec.rb
index c8bb6bd..c72ba6b 100644
--- a/spec/services/create_commit_service_spec.rb
+++ b/spec/services/create_commit_service_spec.rb
@@ -60,6 +60,7 @@ describe CreateCommitService do
ci_yaml_file: gitlab_ci_yaml
)
commit.builds.any?.should be_false
+ commit.status.should == "skipped"
end
it "does not skips builds creation if there is no [ci skip] tag in commit message" do