danger-samsao 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -10
- data/Gemfile.lock +1 -1
- data/lib/samsao/actions.rb +3 -3
- data/lib/samsao/gem_version.rb +1 -1
- data/lib/samsao/helpers.rb +8 -5
- data/spec/samsao_acceptance_criteria_spec.rb +1 -1
- data/spec/samsao_branch_helper_spec.rb +18 -0
- data/spec/samsao_feature_jira_issue_number_spec.rb +1 -1
- data/spec/samsao_fix_jira_issue_number_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00e3c0540e9e427e75712e8754234cff10b9e55f
|
4
|
+
data.tar.gz: 9a4e3b0a4d167ac47b152332766bfd03d47fe067
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37811b9f3e6bef3802e7d2cc31bfc6348a8a410aff106f9278b6aca8785dccfc59136e0157500b47a481c88248dfc4615531ef0391dd12e70eef540ea9a7a42d
|
7
|
+
data.tar.gz: f0b3dae8c0544cf5ba28c3199b3fa9ba1d96d6727e38fd142585a71f4c8bd9929e04196db915cde5669497c29adf6db26f1860e2fef685ad15f72d6baa72cdda
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## 0.3.1 (August 30, 2017)
|
2
|
+
|
3
|
+
#### Features
|
4
|
+
|
5
|
+
* Changed the following helpers to support `2.0.0/feature/a` and `other-app/feature/a` branch models:
|
6
|
+
* `feature_branch?`
|
7
|
+
* `fix_branch?`
|
8
|
+
* `release_branch?`
|
9
|
+
* `support_branch?`
|
10
|
+
|
11
|
+
* Added details to error messages to clarify them.
|
12
|
+
|
1
13
|
## 0.3.0 (August 23, 2017)
|
2
14
|
|
3
15
|
### Breaking Changes
|
@@ -32,16 +44,6 @@
|
|
32
44
|
|
33
45
|
* Added `truncate` helper.
|
34
46
|
|
35
|
-
*
|
36
|
-
|
37
|
-
*
|
38
|
-
|
39
|
-
*
|
40
|
-
|
41
|
-
*
|
42
|
-
|
43
|
-
*
|
44
|
-
|
45
47
|
#### Support
|
46
48
|
|
47
49
|
* Fixed grammatical errors in the `README.md`.
|
data/Gemfile.lock
CHANGED
data/lib/samsao/actions.rb
CHANGED
@@ -72,7 +72,7 @@ module Samsao
|
|
72
72
|
return if samsao.trivial_change? || !samsao.feature_branch?
|
73
73
|
return report(:fail, 'Your Danger config is missing a `jira_project_key` value.') unless jira_project_key?
|
74
74
|
|
75
|
-
message = 'The PR must starts with JIRA issue number between square brackets'\
|
75
|
+
message = 'The PR title must starts with JIRA issue number between square brackets'\
|
76
76
|
" (i.e. [#{config.jira_project_key}-XXX])."
|
77
77
|
|
78
78
|
report(level, message) unless contains_jira_issue_number?(github.pr_title)
|
@@ -102,7 +102,7 @@ module Samsao
|
|
102
102
|
def check_acceptance_criteria(level = :warn)
|
103
103
|
return unless samsao.feature_branch?
|
104
104
|
|
105
|
-
message = 'The PR should have the acceptance criteria in the body.'
|
105
|
+
message = 'The PR description should have the acceptance criteria in the body.'
|
106
106
|
|
107
107
|
report(level, message) if (/acceptance criteria/i =~ github.pr_body).nil?
|
108
108
|
end
|
@@ -156,7 +156,7 @@ module Samsao
|
|
156
156
|
def check_commit_contains_jira_issue_number(commit, type)
|
157
157
|
commit_id = "#{shorten_sha(commit.sha)} ('#{truncate(commit.message)}')"
|
158
158
|
jira_project_key = config.jira_project_key
|
159
|
-
message = "The commit #{commit_id} should contain JIRA issue number" \
|
159
|
+
message = "The commit message #{commit_id} should contain JIRA issue number" \
|
160
160
|
" between square brackets (i.e. [#{jira_project_key}-XXX]), multiple allowed" \
|
161
161
|
" (i.e. [#{jira_project_key}-XXX, #{jira_project_key}-YYY, #{jira_project_key}-ZZZ])"
|
162
162
|
|
data/lib/samsao/gem_version.rb
CHANGED
data/lib/samsao/helpers.rb
CHANGED
@@ -20,15 +20,16 @@ module Samsao
|
|
20
20
|
# @return [Bool]
|
21
21
|
#
|
22
22
|
def feature_branch?
|
23
|
-
git_branch.
|
23
|
+
!(%r{^#{GIT_BRANCH_PREFIX}feature/\w} =~ git_branch).nil?
|
24
24
|
end
|
25
25
|
|
26
|
-
# Return true if the current PR branch is a bug fix branch.
|
26
|
+
# Return true if the current PR branch is a bug fix branch. Accepts `fix`,
|
27
|
+
# `bugfix`, `hotfix`, `coldfix` and `warmfix`.
|
27
28
|
#
|
28
29
|
# @return [Bool]
|
29
30
|
#
|
30
31
|
def fix_branch?
|
31
|
-
!(%r{
|
32
|
+
!(%r{^#{GIT_BRANCH_PREFIX}(bug|cold|warm|hot)?fix/\w} =~ git_branch).nil?
|
32
33
|
end
|
33
34
|
|
34
35
|
# Return true if the current PR branch is a release branch.
|
@@ -36,7 +37,7 @@ module Samsao
|
|
36
37
|
# @return [Bool]
|
37
38
|
#
|
38
39
|
def release_branch?
|
39
|
-
git_branch.
|
40
|
+
!(%r{^#{GIT_BRANCH_PREFIX}release/\w} =~ git_branch).nil?
|
40
41
|
end
|
41
42
|
|
42
43
|
# Return true if the current PR branch is a support branch.
|
@@ -44,7 +45,7 @@ module Samsao
|
|
44
45
|
# @return [Bool]
|
45
46
|
#
|
46
47
|
def support_branch?
|
47
|
-
git_branch.
|
48
|
+
!(%r{^#{GIT_BRANCH_PREFIX}support/\w} =~ git_branch).nil?
|
48
49
|
end
|
49
50
|
|
50
51
|
# Return true if the current PR is a trivial change, i.e. if PR title contains #trivial or #typo markers.
|
@@ -113,6 +114,8 @@ module Samsao
|
|
113
114
|
|
114
115
|
private
|
115
116
|
|
117
|
+
GIT_BRANCH_PREFIX = '([-a-z0-9._]+/)?'.freeze
|
118
|
+
|
116
119
|
def git_branch
|
117
120
|
github.branch_for_head
|
118
121
|
end
|
@@ -6,7 +6,7 @@ module Danger
|
|
6
6
|
before do
|
7
7
|
@dangerfile = testing_dangerfile
|
8
8
|
@plugin = @dangerfile.samsao
|
9
|
-
@message = 'The PR should have the acceptance criteria in the body.'
|
9
|
+
@message = 'The PR description should have the acceptance criteria in the body.'
|
10
10
|
end
|
11
11
|
|
12
12
|
describe 'check acceptance criteria' do
|
@@ -12,7 +12,11 @@ module Danger
|
|
12
12
|
it 'supports feature_branch? correctly' do
|
13
13
|
data_set = [
|
14
14
|
{ branch: 'feature/a', expected: true },
|
15
|
+
{ branch: '2.0.0/feature/a', expected: true },
|
16
|
+
{ branch: 'other_app-name/feature/a', expected: true },
|
17
|
+
{ branch: 'something/something-else/feature/a', expected: false },
|
15
18
|
{ branch: 'fix/a', expected: false },
|
19
|
+
{ branch: 'feature/', expected: false },
|
16
20
|
{ branch: 'random', expected: false },
|
17
21
|
]
|
18
22
|
|
@@ -28,7 +32,13 @@ module Danger
|
|
28
32
|
{ branch: 'fix/a', expected: true },
|
29
33
|
{ branch: 'bugfix/a', expected: true },
|
30
34
|
{ branch: 'hotfix/a', expected: true },
|
35
|
+
{ branch: 'warmfix/a', expected: true },
|
36
|
+
{ branch: 'coldfix/a', expected: true },
|
37
|
+
{ branch: '2.0.0/fix/a', expected: true },
|
38
|
+
{ branch: 'other_app-name/fix/a', expected: true },
|
39
|
+
{ branch: 'something/something-else/fix/a', expected: false },
|
31
40
|
{ branch: 'otherfix/a', expected: false },
|
41
|
+
{ branch: 'fix/', expected: false },
|
32
42
|
{ branch: 'random', expected: false },
|
33
43
|
]
|
34
44
|
|
@@ -41,7 +51,11 @@ module Danger
|
|
41
51
|
it 'supports release_branch? correctly' do
|
42
52
|
data_set = [
|
43
53
|
{ branch: 'release/a', expected: true },
|
54
|
+
{ branch: '2.0.0/release/a', expected: true },
|
55
|
+
{ branch: 'other_app-name/release/a', expected: true },
|
56
|
+
{ branch: 'something/something-else/release/a', expected: false },
|
44
57
|
{ branch: 'fix/a', expected: false },
|
58
|
+
{ branch: 'release/', expected: false },
|
45
59
|
{ branch: 'random', expected: false },
|
46
60
|
]
|
47
61
|
|
@@ -54,7 +68,11 @@ module Danger
|
|
54
68
|
it 'supports support_branch? correctly' do
|
55
69
|
data_set = [
|
56
70
|
{ branch: 'support/a', expected: true },
|
71
|
+
{ branch: '2.0.0/support/a', expected: true },
|
72
|
+
{ branch: 'other_app-name/support/a', expected: true },
|
73
|
+
{ branch: 'something/something-else/support/a', expected: false },
|
57
74
|
{ branch: 'fix/a', expected: false },
|
75
|
+
{ branch: 'support/', expected: false },
|
58
76
|
{ branch: 'random', expected: false },
|
59
77
|
]
|
60
78
|
|
@@ -52,7 +52,7 @@ module Danger
|
|
52
52
|
|
53
53
|
it 'fails on branch with no issue number' do
|
54
54
|
jira_project_key = 'VER'
|
55
|
-
message = 'The PR must starts with JIRA issue number between square brackets'\
|
55
|
+
message = 'The PR title must starts with JIRA issue number between square brackets'\
|
56
56
|
" (i.e. [#{jira_project_key}-XXX])."
|
57
57
|
|
58
58
|
@plugin.config do
|
@@ -51,7 +51,7 @@ module Danger
|
|
51
51
|
|
52
52
|
@plugin.check_fix_jira_issue_number
|
53
53
|
|
54
|
-
message = "The commit #{commit_id} should contain JIRA issue number between square brackets"\
|
54
|
+
message = "The commit message #{commit_id} should contain JIRA issue number between square brackets"\
|
55
55
|
" (i.e. [#{jira_project_key}-XXX]), multiple allowed (i.e. [#{jira_project_key}-XXX,"\
|
56
56
|
" #{jira_project_key}-YYY, #{jira_project_key}-ZZZ])"
|
57
57
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-samsao
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samsao Development Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: danger-plugin-api
|