circlemator 0.3.1 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 91488672f50dad8679e62221e54e4af16c38b67c
4
- data.tar.gz: e61f3ace2715868aed716604d7c52db9fb55e306
2
+ SHA256:
3
+ metadata.gz: b85de391417bc5d4ca2137e3f75c3901afef8d00905c2ebdd783bf1063d361f3
4
+ data.tar.gz: cec624177ec7726bcc054fc3ef8d95d89f7b80ec468a5276cc4513bb3de9c6a3
5
5
  SHA512:
6
- metadata.gz: 19fa0f60dc88463ea48f7ed3117202e1c5bc3ffd08c9ef5be2f55464d6dfd992c309bdf9194eaa2f0aee0441a6894363505503a0f2036b1079d1ea6148b7f0e8
7
- data.tar.gz: 87f5c1b12eb0751ab7c8a9a1261c4881973ab9a9f430a1e9eb878614b7aaff3900458180ef025f477242f6d01de7fe5fe5659ec948df63aed0d69f6aacd1cbe3
6
+ metadata.gz: cafe0affdbf14f324ed34d57020c43a2bd255380502175c6e8e6183018caf81ec7725ff4304861b0945bd00e0c869d62740f466f66827dafded98ab53af63f79
7
+ data.tar.gz: dd3847b813c6a0afc8829d32ae0dc1fa3ee4e5398012127e0a9432b3c197c05b8e23744baf9e05d90b85085d72b397ca04d00aaf78fe5c0def7835fa5e6d715b
@@ -0,0 +1,79 @@
1
+ version: 2
2
+
3
+ jobs:
4
+ test:
5
+ docker:
6
+ - image: circleci/ruby:2.4.2
7
+ steps:
8
+ - checkout
9
+ - run:
10
+ name: Ensure CIRCLE_BRANCH
11
+ command: |
12
+ if [ -z $CIRCLE_BRANCH ]; then
13
+ echo "export CIRCLE_BRANCH=$CIRCLE_TAG" >> $BASH_ENV
14
+ fi
15
+ - run:
16
+ name: Install env dependencies
17
+ command: |
18
+ sudo apt-get update
19
+ sudo apt-get install cmake pkg-config
20
+ - restore_cache:
21
+ key: v1-rainforest-bundler-{{ checksum "Gemfile.lock" }}
22
+ - run:
23
+ name: Install Ruby gems
24
+ command: |
25
+ bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3
26
+ - save_cache:
27
+ key: v1-rainforest-bundler-{{ checksum "Gemfile.lock" }}
28
+ paths:
29
+ - ~/project/vendor/bundle
30
+ - run:
31
+ name: Cancel old builds
32
+ command: bundle exec exe/circlemator cancel-old
33
+ - run:
34
+ name: Test Circlemator
35
+ command: bundle exec exe/circlemator style-check --base-branch=master
36
+ - run:
37
+ name: Run Specs
38
+ command: bundle exec rspec
39
+ - run:
40
+ name: Test Code Coverage
41
+ command: bundle exec exe/circlemator test-coverage --base-branch=master
42
+ push_to_rubygems:
43
+ docker:
44
+ - image: circleci/ruby:2.4.2
45
+ steps:
46
+ - checkout
47
+ - run:
48
+ name: Create .gem/credentials file
49
+ command: |
50
+ mkdir ~/.gem
51
+ echo "---
52
+ :rubygems_api_key: $RUBYGEMS_API_KEY
53
+ " > ~/.gem/credentials
54
+ chmod 600 ~/.gem/credentials
55
+ - run:
56
+ name: Release circlemator
57
+ command: |
58
+ gem build circlemator
59
+ gem push circlemator-*.gem
60
+
61
+ workflows:
62
+ version: 2
63
+ test_and_release:
64
+ jobs:
65
+ - test:
66
+ filters:
67
+ tags:
68
+ only:
69
+ - /.*/
70
+ - push_to_rubygems:
71
+ requires:
72
+ - test
73
+ filters:
74
+ branches:
75
+ ignore:
76
+ - /.*/
77
+ tags:
78
+ only:
79
+ - /^v.*/
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.4.2
data/Dockerfile ADDED
@@ -0,0 +1,11 @@
1
+ FROM ruby:2.4.2-jessie
2
+ RUN apt-get update -y && apt-get install -y cmake
3
+
4
+ # Set default locale for Ruby to avoid encoding errors
5
+ ENV LC_ALL=C.UTF-8
6
+ ENV LANG=C.UTF-8
7
+
8
+ WORKDIR /app
9
+ COPY . .
10
+ RUN bundle install
11
+ ENTRYPOINT ["circlemator"]
data/Gemfile CHANGED
@@ -4,5 +4,5 @@ source 'https://rubygems.org'
4
4
  # Specify your gem's dependencies in circlemator.gemspec
5
5
  gemspec
6
6
 
7
- gem 'rf-stylez', github: 'rainforestapp/rf-stylez'
7
+ gem 'rf-stylez'
8
8
  gem 'rspec_junit_formatter'
data/Gemfile.lock ADDED
@@ -0,0 +1,164 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ circlemator (0.4.0)
5
+ httparty (~> 0.13.7)
6
+ pronto (~> 0.9.5)
7
+ pronto-commentator (~> 0)
8
+ pronto-rubocop (~> 0.9.0)
9
+ pronto-undercover (~> 0.1)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ addressable (2.5.2)
15
+ public_suffix (>= 2.0.2, < 4.0)
16
+ ast (2.4.0)
17
+ coderay (1.1.2)
18
+ crack (0.4.3)
19
+ safe_yaml (~> 1.0.0)
20
+ diff-lcs (1.3)
21
+ docile (1.3.1)
22
+ faraday (0.15.3)
23
+ multipart-post (>= 1.2, < 3)
24
+ ffi (1.9.18)
25
+ formatador (0.2.5)
26
+ gitlab (4.3.0)
27
+ httparty
28
+ terminal-table
29
+ guard (2.14.1)
30
+ formatador (>= 0.2.4)
31
+ listen (>= 2.7, < 4.0)
32
+ lumberjack (~> 1.0)
33
+ nenv (~> 0.1)
34
+ notiffany (~> 0.0)
35
+ pry (>= 0.9.12)
36
+ shellany (~> 0.0)
37
+ thor (>= 0.18.1)
38
+ guard-compat (1.2.1)
39
+ guard-rspec (4.6.5)
40
+ guard (~> 2.1)
41
+ guard-compat (~> 1.1)
42
+ rspec (>= 2.99.0, < 4.0)
43
+ hashdiff (0.3.6)
44
+ httparty (0.13.7)
45
+ json (~> 1.8)
46
+ multi_xml (>= 0.5.2)
47
+ imagen (0.1.5)
48
+ parser (>= 2.5, != 2.5.1.1)
49
+ json (1.8.6)
50
+ listen (3.1.5)
51
+ rb-fsevent (~> 0.9, >= 0.9.4)
52
+ rb-inotify (~> 0.9, >= 0.9.7)
53
+ ruby_dep (~> 1.2)
54
+ lumberjack (1.0.12)
55
+ method_source (0.9.0)
56
+ multi_xml (0.6.0)
57
+ multipart-post (2.0.0)
58
+ nenv (0.3.0)
59
+ notiffany (0.1.1)
60
+ nenv (~> 0.1)
61
+ shellany (~> 0.0)
62
+ octokit (4.12.0)
63
+ sawyer (~> 0.8.0, >= 0.5.3)
64
+ parallel (1.12.1)
65
+ parser (2.5.1.2)
66
+ ast (~> 2.4.0)
67
+ powerpack (0.1.2)
68
+ pronto (0.9.5)
69
+ gitlab (~> 4.0, >= 4.0.0)
70
+ httparty (>= 0.13.7)
71
+ octokit (~> 4.7, >= 4.7.0)
72
+ rainbow (~> 2.1)
73
+ rugged (~> 0.24, >= 0.23.0)
74
+ thor (~> 0.19.0)
75
+ pronto-commentator (0.1.1)
76
+ pronto (~> 0.9.5)
77
+ pronto-rubocop (0.9.1)
78
+ pronto (~> 0.9.0)
79
+ rubocop (~> 0.50, >= 0.49.1)
80
+ pronto-undercover (0.1.2)
81
+ pronto (~> 0.9.0)
82
+ undercover (~> 0.2.0)
83
+ pry (0.11.1)
84
+ coderay (~> 1.1.0)
85
+ method_source (~> 0.9.0)
86
+ public_suffix (3.0.3)
87
+ rainbow (2.2.2)
88
+ rake
89
+ rake (10.5.0)
90
+ rb-fsevent (0.10.2)
91
+ rb-inotify (0.9.10)
92
+ ffi (>= 0.5.0, < 2)
93
+ rf-stylez (0.2.9)
94
+ rubocop (~> 0.51.0)
95
+ rspec (3.4.0)
96
+ rspec-core (~> 3.4.0)
97
+ rspec-expectations (~> 3.4.0)
98
+ rspec-mocks (~> 3.4.0)
99
+ rspec-core (3.4.4)
100
+ rspec-support (~> 3.4.0)
101
+ rspec-expectations (3.4.0)
102
+ diff-lcs (>= 1.2.0, < 2.0)
103
+ rspec-support (~> 3.4.0)
104
+ rspec-mocks (3.4.1)
105
+ diff-lcs (>= 1.2.0, < 2.0)
106
+ rspec-support (~> 3.4.0)
107
+ rspec-support (3.4.1)
108
+ rspec_junit_formatter (0.3.0)
109
+ rspec-core (>= 2, < 4, != 2.12.0)
110
+ rubocop (0.51.0)
111
+ parallel (~> 1.10)
112
+ parser (>= 2.3.3.1, < 3.0)
113
+ powerpack (~> 0.1)
114
+ rainbow (>= 2.2.2, < 3.0)
115
+ ruby-progressbar (~> 1.7)
116
+ unicode-display_width (~> 1.0, >= 1.0.1)
117
+ ruby-progressbar (1.10.0)
118
+ ruby_dep (1.5.0)
119
+ rugged (0.27.4)
120
+ safe_yaml (1.0.4)
121
+ sawyer (0.8.1)
122
+ addressable (>= 2.3.5, < 2.6)
123
+ faraday (~> 0.8, < 1.0)
124
+ shellany (0.0.1)
125
+ simplecov (0.16.1)
126
+ docile (~> 1.1)
127
+ json (>= 1.8, < 3)
128
+ simplecov-html (~> 0.10.0)
129
+ simplecov-html (0.10.2)
130
+ simplecov-lcov (0.7.0)
131
+ terminal-table (1.8.0)
132
+ unicode-display_width (~> 1.1, >= 1.1.1)
133
+ thor (0.19.4)
134
+ undercover (0.2.1)
135
+ imagen (~> 0.1.5)
136
+ rainbow (~> 2.1)
137
+ rugged (~> 0.27.0)
138
+ unicode-display_width (1.4.0)
139
+ vcr (3.0.3)
140
+ webmock (1.22.6)
141
+ addressable (>= 2.3.6)
142
+ crack (>= 0.3.2)
143
+ hashdiff
144
+
145
+ PLATFORMS
146
+ ruby
147
+
148
+ DEPENDENCIES
149
+ bundler (>= 1.9)
150
+ circlemator!
151
+ guard-rspec (~> 4.6.4)
152
+ rake (~> 10.0)
153
+ rf-stylez
154
+ rspec (~> 3.4.0)
155
+ rspec_junit_formatter
156
+ rubocop
157
+ simplecov
158
+ simplecov-html
159
+ simplecov-lcov
160
+ vcr (~> 3.0.1)
161
+ webmock (~> 1.22.6)
162
+
163
+ BUNDLED WITH
164
+ 1.16.3
data/README.md CHANGED
@@ -50,11 +50,21 @@ to be set in CircleCI:
50
50
  - `CIRCLE_API_TOKEN`: Your CircleCI API token. (Can also be set with
51
51
  the `-t` option.)
52
52
 
53
+ ### Comment
54
+
55
+ You can comment on the open PR using the `comment` command:
56
+
57
+ ```yml
58
+ test:
59
+ post:
60
+ - bundle exec circlemator comment 'A totally unnecessary comment' --base-branch=develop
61
+ ```
62
+
53
63
  ### Style check
54
64
 
55
65
  Think of this as a poor man's HoundCI: it runs Rubocop (and/or more
56
66
  linters/checkers TBD) and comments on the Github pull request using
57
- the excellent [Pronto](https://github.com/mmozuras/pronto). Use it
67
+ the excellent [Pronto](https://github.com/prontolabs/pronto). Use it
58
68
  like so:
59
69
 
60
70
  ```yml
@@ -72,6 +82,53 @@ It probably makes sense to put `style-check` in either the `pre` or
72
82
 
73
83
  `style-check` requires the following environment variable to be set:
74
84
 
85
+ - `GITHUB_ACCESS_TOKEN`: A Github API auth token for a user with commit
86
+ access to your repo. (Can also be set with the `-g` option.)
87
+
88
+ ### Code coverage check
89
+
90
+ The code coverage check looks for untested lines in the pull request using [Pronto](https://github.com/prontolabs/pronto) and [Undercover](https://github.com/grodowski/undercover) and posts warnings as PR comments.
91
+
92
+ Set up code coverage reporting with SimpleCov to start finding untested code after tests have been executed:
93
+
94
+ ```rb
95
+ # Gemfile
96
+ group :test do
97
+ gem 'simplecov'
98
+ gem 'simplecov-lcov'
99
+ end
100
+ ```
101
+
102
+ ```rb
103
+ # spec_helper.rb (or test_helper.rb)
104
+
105
+ require 'simplecov'
106
+ require 'simplecov-lcov'
107
+ SimpleCov::Formatter::LcovFormatter.config.report_with_single_file = true
108
+ SimpleCov.formatter = SimpleCov::Formatter::LcovFormatter
109
+ SimpleCov.start do
110
+ add_filter(/^\/spec\//) # For RSpec
111
+
112
+ add_filter(/^\/test\//) # For Minitest
113
+ end
114
+
115
+ require 'your_app'
116
+
117
+ # ...
118
+ ```
119
+
120
+ Then use it like this:
121
+
122
+ ```yml
123
+ test:
124
+ post:
125
+ - bundle exec circlemator test-coverage --base-branch=develop
126
+ ```
127
+
128
+ Circlemator reads additional config from [.pronto.yml](https://github.com/grodowski/pronto-undercover#configuring)
129
+
130
+ `test-coverage` requires the following environment variable to be set:
131
+
75
132
  - `GITHUB_ACCESS_TOKEN`: A Github API auth token for a user with commit
76
133
  access to your repo. (Can also be set with the `-g` option.)
77
134
 
data/circlemator.gemspec CHANGED
@@ -22,9 +22,10 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ['lib']
23
23
 
24
24
  spec.add_dependency 'httparty', '~> 0.13.7'
25
- spec.add_dependency 'pronto', '~> 0.6.0'
26
- spec.add_dependency 'pronto-rubocop', '~> 0.6.0'
25
+ spec.add_dependency 'pronto', '~> 0.9.5'
26
+ spec.add_dependency 'pronto-rubocop', '~> 0.9.0'
27
27
  spec.add_dependency 'pronto-commentator', '~> 0'
28
+ spec.add_dependency 'pronto-undercover', '~> 0.1'
28
29
 
29
30
  spec.add_development_dependency 'bundler', '>= 1.9'
30
31
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -33,4 +34,7 @@ Gem::Specification.new do |spec|
33
34
  spec.add_development_dependency 'webmock', '~> 1.22.6'
34
35
  spec.add_development_dependency 'rspec', '~> 3.4.0'
35
36
  spec.add_development_dependency 'guard-rspec', '~> 4.6.4'
37
+ spec.add_development_dependency 'simplecov'
38
+ spec.add_development_dependency 'simplecov-html'
39
+ spec.add_development_dependency 'simplecov-lcov'
36
40
  end
data/exe/circlemator CHANGED
@@ -4,11 +4,12 @@ require 'optparse'
4
4
  require_relative '../lib/circlemator/build_canceler'
5
5
  require_relative '../lib/circlemator/self_merger'
6
6
  require_relative '../lib/circlemator/github_repo'
7
- require_relative '../lib/circlemator/style_checker'
7
+ require_relative '../lib/circlemator/code_analyser'
8
+ require_relative '../lib/circlemator/pr_commenter'
8
9
 
9
10
  options = {}
10
11
  parser = OptionParser.new do |opts|
11
- opts.banner = 'Usage: circlemator (self-merge|cancel-old) [options]'
12
+ opts.banner = 'Usage: circlemator (self-merge|cancel-old|comment) [text] [options]'
12
13
 
13
14
  opts.on('-bBRANCH', '--base-branch=BRANCH', 'Base branch for merging') do |b|
14
15
  options[:base_branch] = b
@@ -59,6 +60,7 @@ options[:user] = require_env 'CIRCLE_PROJECT_USERNAME'
59
60
  options[:repo] = require_env 'CIRCLE_PROJECT_REPONAME'
60
61
  options[:github_auth_token] ||= ENV['GITHUB_ACCESS_TOKEN']
61
62
  options[:github_auth_token] ||= ENV['GITHUB_AUTH_TOKEN']
63
+ ENV['PRONTO_GITHUB_ACCESS_TOKEN'] ||= options[:github_auth_token]
62
64
 
63
65
  case ARGV[0]
64
66
  when 'self-merge'
@@ -82,7 +84,28 @@ when 'style-check'
82
84
  require_opt options, :base_branch
83
85
  options[:github_repo] = Circlemator::GithubRepo.new(options)
84
86
 
85
- Circlemator::StyleChecker.new(options).check!
87
+ Circlemator::CodeAnalyser.new(options).check_style
88
+ when 'test-coverage'
89
+ options[:sha] = require_env 'CIRCLE_SHA1'
90
+ options[:compare_branch] ||= require_env 'CIRCLE_BRANCH'
91
+ require_opt options, :github_auth_token
92
+ require_opt options, :base_branch
93
+ options[:github_repo] = Circlemator::GithubRepo.new(options)
94
+
95
+ Circlemator::CodeAnalyser.new(options).check_coverage
96
+ when 'comment'
97
+ options[:sha] = require_env 'CIRCLE_SHA1'
98
+ options[:compare_branch] ||= require_env 'CIRCLE_BRANCH'
99
+ require_opt options, :github_auth_token
100
+ require_opt options, :base_branch
101
+ options[:github_repo] = Circlemator::GithubRepo.new(options)
102
+
103
+ unless ARGV[1]
104
+ puts 'Please add some text to the comment!'
105
+ exit 1
106
+ end
107
+
108
+ Circlemator::PrCommenter.new(options).comment ARGV[1]
86
109
  else
87
110
  puts parser
88
111
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+ require 'httparty'
3
+ require 'json'
4
+ require 'pronto'
5
+ require 'pronto/commentator'
6
+ require 'circlemator/pr_finder'
7
+
8
+ module Circlemator
9
+ class CodeAnalyser
10
+ def initialize(opts)
11
+ @opts = opts
12
+ @base_branch = opts.fetch(:base_branch)
13
+ end
14
+
15
+ def check_coverage
16
+ require 'pronto/undercover'
17
+ run_pronto
18
+ end
19
+
20
+ def check_style
21
+ require 'pronto/rubocop'
22
+ run_pronto
23
+ end
24
+
25
+ private
26
+
27
+ def run_pronto
28
+ Pronto.run("origin/#{@base_branch}", '.', formatter)
29
+ end
30
+
31
+ def formatter
32
+ pr_number, _ = PrFinder.new(@opts).find_pr
33
+ if pr_number
34
+ ENV['PRONTO_PULL_REQUEST_ID'] = pr_number.to_s
35
+ Pronto::Formatter::GithubPullRequestFormatter.new
36
+ else
37
+ Pronto::Formatter::GithubFormatter.new
38
+ end
39
+ end
40
+ end
41
+ end
@@ -33,6 +33,10 @@ module Circlemator
33
33
  self.class.put(fix_path(path), opts.merge(basic_auth: auth))
34
34
  end
35
35
 
36
+ def post(path, opts = {})
37
+ self.class.post(fix_path(path), opts.merge(basic_auth: auth))
38
+ end
39
+
36
40
  private
37
41
 
38
42
  def fix_path(path)
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+ require 'circlemator/pr_finder'
3
+
4
+ module Circlemator
5
+ class PrCommenter
6
+ def initialize(opts)
7
+ github_repo = opts.fetch(:github_repo)
8
+ raise "#{github_repo} is invalid" unless github_repo.is_a? GithubRepo
9
+
10
+ @github_repo = github_repo
11
+ @sha = opts.fetch(:sha)
12
+ @opts = opts
13
+ end
14
+
15
+ def comment(text)
16
+ _, pr_url = PrFinder.new(@opts).find_pr
17
+ raise 'PR not found!' unless pr_url
18
+
19
+ response = @github_repo.post "#{pr_url}/reviews", body: { commit_id: @sha,
20
+ body: text,
21
+ event: 'COMMENT',
22
+ }.to_json
23
+
24
+ if response.code != 200
25
+ body = JSON.parse(response.body)
26
+ raise "PR Comment Failed: #{body.fetch('message')}"
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Circlemator
3
- VERSION = '0.3.1'
3
+ VERSION = '0.4.0'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: circlemator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emanuel Evans
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-20 00:00:00.000000000 Z
11
+ date: 2018-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.6.0
33
+ version: 0.9.5
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.6.0
40
+ version: 0.9.5
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pronto-rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.0
47
+ version: 0.9.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.0
54
+ version: 0.9.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pronto-commentator
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pronto-undercover
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.1'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +178,48 @@ dependencies:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
180
  version: 4.6.4
181
+ - !ruby/object:Gem::Dependency
182
+ name: simplecov
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov-html
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: simplecov-lcov
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
167
223
  description: A few utilities for CircleCI to improve your CI workflow.
168
224
  email:
169
225
  - emanuel@rainforestqa.com
@@ -172,26 +228,29 @@ executables:
172
228
  extensions: []
173
229
  extra_rdoc_files: []
174
230
  files:
231
+ - ".circleci/config.yml"
175
232
  - ".gitignore"
176
233
  - ".rspec"
177
234
  - ".rubocop.yml"
178
235
  - ".ruby-version"
236
+ - Dockerfile
179
237
  - Gemfile
238
+ - Gemfile.lock
180
239
  - Guardfile
181
240
  - LICENSE
182
241
  - README.md
183
242
  - Rakefile
184
243
  - bin/console
185
244
  - bin/setup
186
- - circle.yml
187
245
  - circlemator.gemspec
188
246
  - exe/circlemator
189
247
  - lib/circlemator.rb
190
248
  - lib/circlemator/build_canceler.rb
249
+ - lib/circlemator/code_analyser.rb
191
250
  - lib/circlemator/github_repo.rb
251
+ - lib/circlemator/pr_commenter.rb
192
252
  - lib/circlemator/pr_finder.rb
193
253
  - lib/circlemator/self_merger.rb
194
- - lib/circlemator/style_checker.rb
195
254
  - lib/circlemator/version.rb
196
255
  homepage: https://github.com/rainforestapp/circlemator
197
256
  licenses:
@@ -213,7 +272,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
272
  version: '0'
214
273
  requirements: []
215
274
  rubyforge_project:
216
- rubygems_version: 2.5.1
275
+ rubygems_version: 2.7.3
217
276
  signing_key:
218
277
  specification_version: 4
219
278
  summary: A bucket of tricks for CircleCI and Github.
data/circle.yml DELETED
@@ -1,4 +0,0 @@
1
- test:
2
- pre:
3
- - bundle exec exe/circlemator cancel-old
4
- - bundle exec exe/circlemator style-check --base-branch=master
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'httparty'
3
- require 'json'
4
- require 'pronto'
5
- require 'pronto/rubocop'
6
- require 'pronto/commentator'
7
- require 'circlemator/pr_finder'
8
-
9
- module Circlemator
10
- class StyleChecker
11
- def initialize(opts)
12
- @opts = opts
13
- @base_branch = opts.fetch(:base_branch)
14
- end
15
-
16
- def check!
17
- pr_number, _ = PrFinder.new(@opts).find_pr
18
- if pr_number
19
- ENV['PULL_REQUEST_ID'] = pr_number.to_s
20
- formatter = ::Pronto::Formatter::GithubPullRequestFormatter.new
21
- else
22
- formatter = ::Pronto::Formatter::GithubFormatter.new
23
- end
24
-
25
- ::Pronto.run("origin/#{@base_branch}", '.', formatter)
26
- end
27
- end
28
- end