pronto 0.9.0 → 0.11.0
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 +5 -5
- data/.github/CODEOWNERS +3 -0
- data/CHANGELOG.md +144 -56
- data/CONTRIBUTING.md +1 -1
- data/LICENSE +1 -1
- data/README.md +140 -28
- data/lib/pronto.rb +2 -0
- data/lib/pronto/bitbucket.rb +7 -0
- data/lib/pronto/cli.rb +10 -5
- data/lib/pronto/clients/bitbucket_client.rb +52 -13
- data/lib/pronto/clients/bitbucket_server_client.rb +1 -1
- data/lib/pronto/config.rb +17 -1
- data/lib/pronto/config_file.rb +7 -3
- data/lib/pronto/formatter/bitbucket_pull_request_formatter.rb +10 -0
- data/lib/pronto/formatter/checkstyle_formatter.rb +1 -1
- data/lib/pronto/formatter/formatter.rb +2 -0
- data/lib/pronto/formatter/git_formatter.rb +2 -0
- data/lib/pronto/formatter/github_combined_status_formatter.rb +24 -0
- data/lib/pronto/formatter/github_pull_request_review_formatter.rb +1 -1
- data/lib/pronto/formatter/gitlab_merge_request_review_formatter.rb +29 -0
- data/lib/pronto/formatter/json_formatter.rb +1 -1
- data/lib/pronto/formatter/null_formatter.rb +1 -1
- data/lib/pronto/formatter/text_formatter.rb +1 -1
- data/lib/pronto/formatter/text_message_decorator.rb +3 -0
- data/lib/pronto/git/patch.rb +0 -2
- data/lib/pronto/git/repository.rb +15 -4
- data/lib/pronto/github.rb +35 -13
- data/lib/pronto/github_pull.rb +43 -0
- data/lib/pronto/gitlab.rb +58 -1
- data/lib/pronto/runner.rb +8 -1
- data/lib/pronto/version.rb +1 -1
- data/pronto.gemspec +11 -11
- metadata +89 -80
data/lib/pronto/github.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
+
require 'pronto/github_pull'
|
2
|
+
|
1
3
|
module Pronto
|
2
4
|
class Github < Client
|
5
|
+
def initialize(repo)
|
6
|
+
super(repo)
|
7
|
+
@github_pull = Pronto::GithubPull.new(client, slug)
|
8
|
+
end
|
9
|
+
|
3
10
|
def pull_comments(sha)
|
4
11
|
@comment_cache["#{pull_id}/#{sha}"] ||= begin
|
5
12
|
client.pull_comments(slug, pull_id).map do |comment|
|
@@ -38,14 +45,12 @@ module Pronto
|
|
38
45
|
end
|
39
46
|
end
|
40
47
|
|
41
|
-
def
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
}
|
48
|
-
client.create_pull_request_review(slug, pull_id, options)
|
48
|
+
def publish_pull_request_comments(comments)
|
49
|
+
comments_left = comments.clone
|
50
|
+
while comments_left.any?
|
51
|
+
comments_to_publish = comments_left.slice!(0, warnings_per_review)
|
52
|
+
create_pull_request_review(comments_to_publish)
|
53
|
+
end
|
49
54
|
end
|
50
55
|
|
51
56
|
def create_commit_status(status)
|
@@ -58,6 +63,21 @@ module Pronto
|
|
58
63
|
|
59
64
|
private
|
60
65
|
|
66
|
+
def create_pull_request_review(comments)
|
67
|
+
options = {
|
68
|
+
event: @config.github_review_type,
|
69
|
+
accept: 'application/vnd.github.v3.diff+json', # https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review
|
70
|
+
comments: comments.map do |comment|
|
71
|
+
{
|
72
|
+
path: comment.path,
|
73
|
+
position: comment.position,
|
74
|
+
body: comment.body
|
75
|
+
}
|
76
|
+
end
|
77
|
+
}
|
78
|
+
client.create_pull_request_review(slug, pull_id, options)
|
79
|
+
end
|
80
|
+
|
61
81
|
def slug
|
62
82
|
return @config.github_slug if @config.github_slug
|
63
83
|
@slug ||= begin
|
@@ -77,7 +97,7 @@ module Pronto
|
|
77
97
|
end
|
78
98
|
|
79
99
|
def pull_id
|
80
|
-
|
100
|
+
env_pull_id || pull[:number].to_i
|
81
101
|
end
|
82
102
|
|
83
103
|
def pull_sha
|
@@ -86,14 +106,16 @@ module Pronto
|
|
86
106
|
|
87
107
|
def pull
|
88
108
|
@pull ||= if env_pull_id
|
89
|
-
|
109
|
+
@github_pull.pull_by_id(env_pull_id)
|
90
110
|
elsif @repo.branch
|
91
|
-
|
111
|
+
@github_pull.pull_by_branch(@repo.branch)
|
112
|
+
elsif @repo.head_detached?
|
113
|
+
@github_pull.pull_by_commit(@repo.head_commit_sha)
|
92
114
|
end
|
93
115
|
end
|
94
116
|
|
95
|
-
def
|
96
|
-
@
|
117
|
+
def warnings_per_review
|
118
|
+
@warnings_per_review ||= @config.warnings_per_review
|
97
119
|
end
|
98
120
|
end
|
99
121
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Pronto
|
2
|
+
# Provides strategies for finding corresponding PR on GitHub
|
3
|
+
class GithubPull
|
4
|
+
def initialize(client, slug)
|
5
|
+
@client = client
|
6
|
+
@slug = slug
|
7
|
+
end
|
8
|
+
|
9
|
+
def pull_requests
|
10
|
+
@pull_requests ||= @client.pull_requests(@slug)
|
11
|
+
end
|
12
|
+
|
13
|
+
def pull_by_id(pull_id)
|
14
|
+
result = pull_requests.find { |pr| pr[:number].to_i == pull_id }
|
15
|
+
unless result
|
16
|
+
message = "Pull request ##{pull_id} was not found in #{@slug}."
|
17
|
+
raise Pronto::Error, message
|
18
|
+
end
|
19
|
+
result
|
20
|
+
end
|
21
|
+
|
22
|
+
def pull_by_branch(branch)
|
23
|
+
result = pull_requests.find { |pr| pr[:head][:ref] == branch }
|
24
|
+
unless result
|
25
|
+
raise Pronto::Error, "Pull request for branch #{branch} " \
|
26
|
+
"was not found in #{@slug}."
|
27
|
+
end
|
28
|
+
result
|
29
|
+
end
|
30
|
+
|
31
|
+
def pull_by_commit(sha)
|
32
|
+
result = pull_requests.find do |pr|
|
33
|
+
pr[:head][:sha] == sha
|
34
|
+
end
|
35
|
+
unless result
|
36
|
+
message = "Pull request with head #{sha} " \
|
37
|
+
"was not found in #{@slug}."
|
38
|
+
raise Pronto::Error, message
|
39
|
+
end
|
40
|
+
result
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/pronto/gitlab.rb
CHANGED
@@ -2,12 +2,49 @@ module Pronto
|
|
2
2
|
class Gitlab < Client
|
3
3
|
def commit_comments(sha)
|
4
4
|
@comment_cache[sha.to_s] ||= begin
|
5
|
-
client.commit_comments(slug, sha
|
5
|
+
client.commit_comments(slug, sha).auto_paginate.map do |comment|
|
6
6
|
Comment.new(sha, comment.note, comment.path, comment.line)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
+
def pull_comments(sha)
|
12
|
+
@comment_cache["#{slug}/#{pull_id}"] ||= begin
|
13
|
+
arr = []
|
14
|
+
client.merge_request_discussions(slug, pull_id).auto_paginate.each do |comment|
|
15
|
+
comment.notes.each do |note|
|
16
|
+
next unless note['position']
|
17
|
+
|
18
|
+
arr << Comment.new(
|
19
|
+
sha,
|
20
|
+
note['body'],
|
21
|
+
note['position']['new_path'],
|
22
|
+
note['position']['new_line']
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
arr
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_pull_request_review(comments)
|
31
|
+
return if comments.empty?
|
32
|
+
|
33
|
+
comments.each do |comment|
|
34
|
+
options = {
|
35
|
+
body: comment.body,
|
36
|
+
position: position_sha.dup.merge(
|
37
|
+
new_path: comment.path,
|
38
|
+
position_type: 'text',
|
39
|
+
new_line: comment.position,
|
40
|
+
old_line: nil,
|
41
|
+
)
|
42
|
+
}
|
43
|
+
|
44
|
+
client.create_merge_request_discussion(slug, pull_id, options)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
11
48
|
def create_commit_comment(comment)
|
12
49
|
@config.logger.log("Creating commit comment on #{comment.sha}")
|
13
50
|
client.create_commit_comment(slug, comment.sha, comment.body,
|
@@ -17,6 +54,15 @@ module Pronto
|
|
17
54
|
|
18
55
|
private
|
19
56
|
|
57
|
+
def position_sha
|
58
|
+
# Better to get those informations from Gitlab API directly than trying to look for them here.
|
59
|
+
# (FYI you can't use `pull` method because index api does not contains those informations)
|
60
|
+
@position_sha ||= begin
|
61
|
+
data = client.merge_request(slug, pull_id)
|
62
|
+
data.diff_refs.to_h
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
20
66
|
def slug
|
21
67
|
return @config.gitlab_slug if @config.gitlab_slug
|
22
68
|
@slug ||= begin
|
@@ -27,6 +73,17 @@ module Pronto
|
|
27
73
|
end
|
28
74
|
end
|
29
75
|
|
76
|
+
def pull_id
|
77
|
+
env_pull_id || raise(Pronto::Error, "Unable to determine merge request id. Specify either `PRONTO_PULL_REQUEST_ID` or `CI_MERGE_REQUEST_IID`.")
|
78
|
+
end
|
79
|
+
|
80
|
+
def env_pull_id
|
81
|
+
pull_request = super
|
82
|
+
|
83
|
+
pull_request ||= ENV['CI_MERGE_REQUEST_IID']
|
84
|
+
pull_request.to_i if pull_request
|
85
|
+
end
|
86
|
+
|
30
87
|
def slug_regex(url)
|
31
88
|
if url =~ %r{^ssh:\/\/}
|
32
89
|
%r{.*#{host}(:[0-9]+)?(:|\/)(?<slug>.*).git}
|
data/lib/pronto/runner.rb
CHANGED
@@ -28,7 +28,10 @@ module Pronto
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def ruby_file?(path)
|
31
|
-
rb_file?(path) ||
|
31
|
+
rb_file?(path) ||
|
32
|
+
rake_file?(path) ||
|
33
|
+
gem_file?(path) ||
|
34
|
+
ruby_executable?(path)
|
32
35
|
end
|
33
36
|
|
34
37
|
def repo_path
|
@@ -45,6 +48,10 @@ module Pronto
|
|
45
48
|
File.extname(path) == '.rake'
|
46
49
|
end
|
47
50
|
|
51
|
+
def gem_file?(path)
|
52
|
+
File.basename(path) == 'Gemfile' || File.extname(path) == '.gemspec'
|
53
|
+
end
|
54
|
+
|
48
55
|
def ruby_executable?(path)
|
49
56
|
return false if File.directory?(path)
|
50
57
|
line = File.open(path, &:readline)
|
data/lib/pronto/version.rb
CHANGED
data/pronto.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.platform = Gem::Platform::RUBY
|
11
11
|
s.author = 'Mindaugas Mozūras'
|
12
12
|
s.email = 'mindaugas.mozuras@gmail.com'
|
13
|
-
s.homepage = 'https://github.com/
|
13
|
+
s.homepage = 'https://github.com/prontolabs/pronto'
|
14
14
|
s.summary = 'Pronto runs analysis by checking only the introduced changes'
|
15
15
|
s.description = <<-EOF
|
16
16
|
Pronto runs analysis quickly by checking only the relevant changes. Created
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
EOF
|
21
21
|
|
22
22
|
s.licenses = ['MIT']
|
23
|
-
s.required_ruby_version = '>= 2.
|
23
|
+
s.required_ruby_version = '>= 2.3.0'
|
24
24
|
s.rubygems_version = '1.8.23'
|
25
25
|
|
26
26
|
s.files = `git ls-files`.split($RS).reject do |file|
|
@@ -40,19 +40,19 @@ Gem::Specification.new do |s|
|
|
40
40
|
s.require_paths = ['lib']
|
41
41
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
42
42
|
|
43
|
-
s.add_runtime_dependency('
|
44
|
-
s.add_runtime_dependency('
|
43
|
+
s.add_runtime_dependency('gitlab', '~> 4.4', '>= 4.4.0')
|
44
|
+
s.add_runtime_dependency('httparty', '>= 0.13.7')
|
45
45
|
s.add_runtime_dependency('octokit', '~> 4.7', '>= 4.7.0')
|
46
|
-
s.add_runtime_dependency('
|
47
|
-
s.add_runtime_dependency('
|
48
|
-
s.add_runtime_dependency('
|
46
|
+
s.add_runtime_dependency('rainbow', '>= 2.2', '< 4.0')
|
47
|
+
s.add_runtime_dependency('rexml', '~> 3.2')
|
48
|
+
s.add_runtime_dependency('rugged', '>= 0.23.0', '< 1.1.0')
|
49
|
+
s.add_runtime_dependency('thor', '>= 0.20.3', '< 2.0')
|
50
|
+
s.add_development_dependency('bundler', '>= 1.15')
|
51
|
+
s.add_development_dependency('pronto-rubocop', '~> 0.10.0')
|
49
52
|
s.add_development_dependency('rake', '~> 12.0')
|
50
53
|
s.add_development_dependency('rspec', '~> 3.4')
|
51
54
|
s.add_development_dependency('rspec-its', '~> 1.2')
|
52
55
|
s.add_development_dependency('rspec-expectations', '~> 3.4')
|
53
|
-
s.add_development_dependency('
|
56
|
+
s.add_development_dependency('rubocop', '~> 0.58')
|
54
57
|
s.add_development_dependency('simplecov', '~> 0.14')
|
55
|
-
s.add_development_dependency('rubocop', '~> 0.47')
|
56
|
-
s.add_development_dependency('pronto-rubocop', '~> 0.8.0')
|
57
|
-
s.add_development_dependency('codeclimate-test-reporter', '~> 1.0')
|
58
58
|
end
|
metadata
CHANGED
@@ -1,167 +1,187 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pronto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mindaugas Mozūras
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: gitlab
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.24'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: 4.4.0
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.4'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0.24'
|
30
27
|
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
29
|
+
version: 4.4.0
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.4'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: httparty
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.
|
39
|
+
version: 0.13.7
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.
|
46
|
+
version: 0.13.7
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: octokit
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '4.7'
|
54
51
|
- - ">="
|
55
52
|
- !ruby/object:Gem::Version
|
56
53
|
version: 4.7.0
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '4.7'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- - "~>"
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: '4.7'
|
64
61
|
- - ">="
|
65
62
|
- !ruby/object:Gem::Version
|
66
63
|
version: 4.7.0
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '4.7'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
68
|
+
name: rainbow
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - "
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '2.2'
|
74
|
+
- - "<"
|
72
75
|
- !ruby/object:Gem::Version
|
73
76
|
version: '4.0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
74
81
|
- - ">="
|
75
82
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
83
|
+
version: '2.2'
|
84
|
+
- - "<"
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '4.0'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: rexml
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.2'
|
77
94
|
type: :runtime
|
78
95
|
prerelease: false
|
79
96
|
version_requirements: !ruby/object:Gem::Requirement
|
80
97
|
requirements:
|
81
98
|
- - "~>"
|
82
99
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 4.0.0
|
100
|
+
version: '3.2'
|
87
101
|
- !ruby/object:Gem::Dependency
|
88
|
-
name:
|
102
|
+
name: rugged
|
89
103
|
requirement: !ruby/object:Gem::Requirement
|
90
104
|
requirements:
|
91
105
|
- - ">="
|
92
106
|
- !ruby/object:Gem::Version
|
93
|
-
version: 0.
|
107
|
+
version: 0.23.0
|
94
108
|
- - "<"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
110
|
+
version: 1.1.0
|
97
111
|
type: :runtime
|
98
112
|
prerelease: false
|
99
113
|
version_requirements: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
117
|
+
version: 0.23.0
|
104
118
|
- - "<"
|
105
119
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
120
|
+
version: 1.1.0
|
107
121
|
- !ruby/object:Gem::Dependency
|
108
|
-
name:
|
122
|
+
name: thor
|
109
123
|
requirement: !ruby/object:Gem::Requirement
|
110
124
|
requirements:
|
111
|
-
- - "
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 0.20.3
|
128
|
+
- - "<"
|
112
129
|
- !ruby/object:Gem::Version
|
113
|
-
version: '2.
|
130
|
+
version: '2.0'
|
114
131
|
type: :runtime
|
115
132
|
prerelease: false
|
116
133
|
version_requirements: !ruby/object:Gem::Requirement
|
117
134
|
requirements:
|
118
|
-
- - "
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 0.20.3
|
138
|
+
- - "<"
|
119
139
|
- !ruby/object:Gem::Version
|
120
|
-
version: '2.
|
140
|
+
version: '2.0'
|
121
141
|
- !ruby/object:Gem::Dependency
|
122
|
-
name:
|
142
|
+
name: bundler
|
123
143
|
requirement: !ruby/object:Gem::Requirement
|
124
144
|
requirements:
|
125
|
-
- - "
|
145
|
+
- - ">="
|
126
146
|
- !ruby/object:Gem::Version
|
127
|
-
version: '
|
147
|
+
version: '1.15'
|
128
148
|
type: :development
|
129
149
|
prerelease: false
|
130
150
|
version_requirements: !ruby/object:Gem::Requirement
|
131
151
|
requirements:
|
132
|
-
- - "
|
152
|
+
- - ">="
|
133
153
|
- !ruby/object:Gem::Version
|
134
|
-
version: '
|
154
|
+
version: '1.15'
|
135
155
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
156
|
+
name: pronto-rubocop
|
137
157
|
requirement: !ruby/object:Gem::Requirement
|
138
158
|
requirements:
|
139
159
|
- - "~>"
|
140
160
|
- !ruby/object:Gem::Version
|
141
|
-
version:
|
161
|
+
version: 0.10.0
|
142
162
|
type: :development
|
143
163
|
prerelease: false
|
144
164
|
version_requirements: !ruby/object:Gem::Requirement
|
145
165
|
requirements:
|
146
166
|
- - "~>"
|
147
167
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
168
|
+
version: 0.10.0
|
149
169
|
- !ruby/object:Gem::Dependency
|
150
|
-
name:
|
170
|
+
name: rake
|
151
171
|
requirement: !ruby/object:Gem::Requirement
|
152
172
|
requirements:
|
153
173
|
- - "~>"
|
154
174
|
- !ruby/object:Gem::Version
|
155
|
-
version: '
|
175
|
+
version: '12.0'
|
156
176
|
type: :development
|
157
177
|
prerelease: false
|
158
178
|
version_requirements: !ruby/object:Gem::Requirement
|
159
179
|
requirements:
|
160
180
|
- - "~>"
|
161
181
|
- !ruby/object:Gem::Version
|
162
|
-
version: '
|
182
|
+
version: '12.0'
|
163
183
|
- !ruby/object:Gem::Dependency
|
164
|
-
name: rspec
|
184
|
+
name: rspec
|
165
185
|
requirement: !ruby/object:Gem::Requirement
|
166
186
|
requirements:
|
167
187
|
- - "~>"
|
@@ -175,75 +195,61 @@ dependencies:
|
|
175
195
|
- !ruby/object:Gem::Version
|
176
196
|
version: '3.4'
|
177
197
|
- !ruby/object:Gem::Dependency
|
178
|
-
name:
|
198
|
+
name: rspec-its
|
179
199
|
requirement: !ruby/object:Gem::Requirement
|
180
200
|
requirements:
|
181
201
|
- - "~>"
|
182
202
|
- !ruby/object:Gem::Version
|
183
|
-
version: '1.
|
203
|
+
version: '1.2'
|
184
204
|
type: :development
|
185
205
|
prerelease: false
|
186
206
|
version_requirements: !ruby/object:Gem::Requirement
|
187
207
|
requirements:
|
188
208
|
- - "~>"
|
189
209
|
- !ruby/object:Gem::Version
|
190
|
-
version: '1.
|
210
|
+
version: '1.2'
|
191
211
|
- !ruby/object:Gem::Dependency
|
192
|
-
name:
|
212
|
+
name: rspec-expectations
|
193
213
|
requirement: !ruby/object:Gem::Requirement
|
194
214
|
requirements:
|
195
215
|
- - "~>"
|
196
216
|
- !ruby/object:Gem::Version
|
197
|
-
version: '
|
217
|
+
version: '3.4'
|
198
218
|
type: :development
|
199
219
|
prerelease: false
|
200
220
|
version_requirements: !ruby/object:Gem::Requirement
|
201
221
|
requirements:
|
202
222
|
- - "~>"
|
203
223
|
- !ruby/object:Gem::Version
|
204
|
-
version: '
|
224
|
+
version: '3.4'
|
205
225
|
- !ruby/object:Gem::Dependency
|
206
226
|
name: rubocop
|
207
227
|
requirement: !ruby/object:Gem::Requirement
|
208
228
|
requirements:
|
209
229
|
- - "~>"
|
210
230
|
- !ruby/object:Gem::Version
|
211
|
-
version: '0.
|
212
|
-
type: :development
|
213
|
-
prerelease: false
|
214
|
-
version_requirements: !ruby/object:Gem::Requirement
|
215
|
-
requirements:
|
216
|
-
- - "~>"
|
217
|
-
- !ruby/object:Gem::Version
|
218
|
-
version: '0.47'
|
219
|
-
- !ruby/object:Gem::Dependency
|
220
|
-
name: pronto-rubocop
|
221
|
-
requirement: !ruby/object:Gem::Requirement
|
222
|
-
requirements:
|
223
|
-
- - "~>"
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: 0.8.0
|
231
|
+
version: '0.58'
|
226
232
|
type: :development
|
227
233
|
prerelease: false
|
228
234
|
version_requirements: !ruby/object:Gem::Requirement
|
229
235
|
requirements:
|
230
236
|
- - "~>"
|
231
237
|
- !ruby/object:Gem::Version
|
232
|
-
version: 0.
|
238
|
+
version: '0.58'
|
233
239
|
- !ruby/object:Gem::Dependency
|
234
|
-
name:
|
240
|
+
name: simplecov
|
235
241
|
requirement: !ruby/object:Gem::Requirement
|
236
242
|
requirements:
|
237
243
|
- - "~>"
|
238
244
|
- !ruby/object:Gem::Version
|
239
|
-
version: '
|
245
|
+
version: '0.14'
|
240
246
|
type: :development
|
241
247
|
prerelease: false
|
242
248
|
version_requirements: !ruby/object:Gem::Requirement
|
243
249
|
requirements:
|
244
250
|
- - "~>"
|
245
251
|
- !ruby/object:Gem::Version
|
246
|
-
version: '
|
252
|
+
version: '0.14'
|
247
253
|
description: |2
|
248
254
|
Pronto runs analysis quickly by checking only the relevant changes. Created
|
249
255
|
to be used on pull requests, but suited for other scenarios as well. Perfect
|
@@ -257,6 +263,7 @@ extra_rdoc_files:
|
|
257
263
|
- LICENSE
|
258
264
|
- README.md
|
259
265
|
files:
|
266
|
+
- ".github/CODEOWNERS"
|
260
267
|
- CHANGELOG.md
|
261
268
|
- CONTRIBUTING.md
|
262
269
|
- LICENSE
|
@@ -282,6 +289,7 @@ files:
|
|
282
289
|
- lib/pronto/formatter/commit_formatter.rb
|
283
290
|
- lib/pronto/formatter/formatter.rb
|
284
291
|
- lib/pronto/formatter/git_formatter.rb
|
292
|
+
- lib/pronto/formatter/github_combined_status_formatter.rb
|
285
293
|
- lib/pronto/formatter/github_formatter.rb
|
286
294
|
- lib/pronto/formatter/github_pull_request_formatter.rb
|
287
295
|
- lib/pronto/formatter/github_pull_request_review_formatter.rb
|
@@ -289,6 +297,7 @@ files:
|
|
289
297
|
- lib/pronto/formatter/github_status_formatter/sentence.rb
|
290
298
|
- lib/pronto/formatter/github_status_formatter/status_builder.rb
|
291
299
|
- lib/pronto/formatter/gitlab_formatter.rb
|
300
|
+
- lib/pronto/formatter/gitlab_merge_request_review_formatter.rb
|
292
301
|
- lib/pronto/formatter/json_formatter.rb
|
293
302
|
- lib/pronto/formatter/null_formatter.rb
|
294
303
|
- lib/pronto/formatter/pull_request_formatter.rb
|
@@ -300,6 +309,7 @@ files:
|
|
300
309
|
- lib/pronto/git/patches.rb
|
301
310
|
- lib/pronto/git/repository.rb
|
302
311
|
- lib/pronto/github.rb
|
312
|
+
- lib/pronto/github_pull.rb
|
303
313
|
- lib/pronto/gitlab.rb
|
304
314
|
- lib/pronto/logger.rb
|
305
315
|
- lib/pronto/message.rb
|
@@ -310,7 +320,7 @@ files:
|
|
310
320
|
- lib/pronto/status.rb
|
311
321
|
- lib/pronto/version.rb
|
312
322
|
- pronto.gemspec
|
313
|
-
homepage: https://github.com/
|
323
|
+
homepage: https://github.com/prontolabs/pronto
|
314
324
|
licenses:
|
315
325
|
- MIT
|
316
326
|
metadata: {}
|
@@ -322,15 +332,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
322
332
|
requirements:
|
323
333
|
- - ">="
|
324
334
|
- !ruby/object:Gem::Version
|
325
|
-
version: 2.
|
335
|
+
version: 2.3.0
|
326
336
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
327
337
|
requirements:
|
328
338
|
- - ">="
|
329
339
|
- !ruby/object:Gem::Version
|
330
340
|
version: '0'
|
331
341
|
requirements: []
|
332
|
-
|
333
|
-
rubygems_version: 2.6.10
|
342
|
+
rubygems_version: 3.0.3
|
334
343
|
signing_key:
|
335
344
|
specification_version: 4
|
336
345
|
summary: Pronto runs analysis by checking only the introduced changes
|