Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Welsh <simon@simon.geek.nz>2016-06-23 13:09:54 +0300
committerSimon Welsh <simon@simon.geek.nz>2016-06-25 04:38:06 +0300
commit0550f2a5e7d8a7ed65632190b8febe2a9e01d6a0 (patch)
tree114d3ce610fdc1bdd4a4fec7d68d1b8eab14be29
parent2fc91c48659b84375173b038b4e7957e56294aa4 (diff)
Add support for "skip ci" too
-rw-r--r--CHANGELOG2
-rw-r--r--app/models/ci/pipeline.rb2
-rw-r--r--doc/ci/yaml/README.md4
-rw-r--r--spec/services/create_commit_builds_service_spec.rb33
4 files changed, 36 insertions, 5 deletions
diff --git a/CHANGELOG b/CHANGELOG
index eb94f963982..e257f2cf3a2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -11,7 +11,7 @@ v 8.10.0 (unreleased)
- Fix changing issue state columns in milestone view
- Fix user creation with stronger minimum password requirements !4054 (nathan-pmt)
- Add API endpoint for a group issues !4520 (mahcsig)
- - Allow [ci skip] to be in any case. !4785 (simon_w)
+ - Allow [ci skip] to be in any case and allow [skip ci]. !4785 (simon_w)
v 8.9.1
- Fix merge requests project settings help link anchor
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index 89434abca05..10324bf2257 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -163,7 +163,7 @@ module Ci
end
def skip_ci?
- git_commit_message =~ /(\[ci skip\])/i if git_commit_message
+ git_commit_message =~ /\[(ci skip|skip ci)\]/i if git_commit_message
end
def environments
diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md
index ca3bf37f8ad..d2d1b04f893 100644
--- a/doc/ci/yaml/README.md
+++ b/doc/ci/yaml/README.md
@@ -1034,8 +1034,8 @@ You can find the link under `/ci/lint` of your gitlab instance.
## Skipping builds
-If your commit message contains `[ci skip]`, using any capitalization, the
-commit will be created but the builds will be skipped.
+If your commit message contains `[ci skip]` or `[skip ci]`, using any
+capitalization, the commit will be created but the builds will be skipped.
## Examples
diff --git a/spec/services/create_commit_builds_service_spec.rb b/spec/services/create_commit_builds_service_spec.rb
index 2255945a1ad..309213bd44c 100644
--- a/spec/services/create_commit_builds_service_spec.rb
+++ b/spec/services/create_commit_builds_service_spec.rb
@@ -83,7 +83,9 @@ describe CreateCommitBuildsService, services: true do
context 'when commit contains a [ci skip] directive' do
let(:message) { "some message[ci skip]" }
+ let(:messageFlip) { "some message[skip ci]" }
let(:capMessage) { "some message[CI SKIP]" }
+ let(:capMessageFlip) { "some message[SKIP CI]" }
before do
allow_any_instance_of(Ci::Pipeline).to receive(:git_commit_message) { message }
@@ -97,6 +99,21 @@ describe CreateCommitBuildsService, services: true do
after: '31das312',
commits: commits
)
+
+ expect(pipeline).to be_persisted
+ expect(pipeline.builds.any?).to be false
+ expect(pipeline.status).to eq("skipped")
+ end
+
+ it "skips builds creation if there is [skip ci] tag in commit message" do
+ commits = [{ message: messageFlip }]
+ pipeline = service.execute(project, user,
+ ref: 'refs/tags/0_1',
+ before: '00000000',
+ after: '31das312',
+ commits: commits
+ )
+
expect(pipeline).to be_persisted
expect(pipeline.builds.any?).to be false
expect(pipeline.status).to eq("skipped")
@@ -116,7 +133,21 @@ describe CreateCommitBuildsService, services: true do
expect(pipeline.status).to eq("skipped")
end
- it "does not skips builds creation if there is no [ci skip] tag in commit message" do
+ it "skips builds creation if there is [SKIP CI] tag in commit message" do
+ commits = [{ message: capMessageFlip }]
+ pipeline = service.execute(project, user,
+ ref: 'refs/tags/0_1',
+ before: '00000000',
+ after: '31das312',
+ commits: commits
+ )
+
+ expect(pipeline).to be_persisted
+ expect(pipeline.builds.any?).to be false
+ expect(pipeline.status).to eq("skipped")
+ end
+
+ it "does not skips builds creation if there is no [ci skip] or [skip ci] tag in commit message" do
allow_any_instance_of(Ci::Pipeline).to receive(:git_commit_message) { "some message" }
commits = [{ message: "some message" }]