pig-ci-rails 0.2.2 → 1.0.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
2
  SHA256:
3
- metadata.gz: 692e79ca136ab61ee5ab3e6c5c96e8ea6aabbdb6ab41d64af488f25d082d7748
4
- data.tar.gz: 8c763069f1f45db06b156c01a3365246c3a656550d5a4e4155e1790070535710
3
+ metadata.gz: b66f58f3bb5e578d8856a2f51d28024ba4174f05cd346c9c2dc710d3ce87ecf2
4
+ data.tar.gz: 421d50cde44adf6eb69abb5a726383aef6e1271ad9ba21ced7bda35821f8a437
5
5
  SHA512:
6
- metadata.gz: 22b24a17c062e0f39ac32cb3de7a59f3ae6a5d5a36c9b54517b74d2fc6849fc63993fd48e67fd1588ef31ef1f0749bd7dc4b72a315ca079c163a1c1656827e60
7
- data.tar.gz: 27a1c3c392292f2b6022b2d38725b2ba9988db6cf3c038413ffdac0fae4b8238ae65c2c1995eee89660d893db6dedac842ae4d4d35b0ff5a3f97c9db0fa0a92b
6
+ metadata.gz: 6c481a3f96647b1e85bf9b25ea62e18e7265a1b95fc802c6f0d37eb0a69769be91ca3478ac0e4f589f8784bc22c26a1328488f84f5dec59a0defc0dbf2bf8277
7
+ data.tar.gz: 299023a04fd3302922a16b50f3af2f4ae2a12e653d41793d1d33037287a92dfaeac1c659e7cbddc6e64d54ce99e207f8e775221b07fca3075ff12328d84c0542
data/CHANGELOG.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Changelog
2
2
 
3
- ## 0.3.0 (In Development)
3
+ ## 1.0.1 (In development
4
4
 
5
- * TODO: Deprecate pigci.com integration.
5
+ ## 1.0.0
6
+
7
+ * [Removing PigCI.com integration](https://github.com/PigCI/pig-ci-rails/pull/27) - For more information please [see my announcement](https://pigci.com/github-integration-deprecation-notice).
6
8
 
7
9
  ## 0.2.2
8
10
 
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  # PigCI
9
9
 
10
- ![Sample Output of PigCI in TravisCI](https://user-images.githubusercontent.com/325384/76989551-76307f00-693e-11ea-8afc-c568a9b1e5fe.png)
10
+ ![Sample Output of PigCI in TravisCI](https://user-images.githubusercontent.com/325384/78711087-545b6400-790e-11ea-96b7-bb75c119914a.png)
11
11
 
12
12
  Monitor your Ruby Applications metrics (Memory, SQL Requests & Request Time) as part of your test suite.
13
13
 
@@ -81,24 +81,6 @@ end # if RSpec.configuration.files_to_run.count > 1
81
81
 
82
82
  You can see the full configuration options [lib/pig_ci.rb](https://github.com/PigCI/pig-ci-rails/blob/master/lib/pig_ci.rb#L21).
83
83
 
84
-
85
- ### With [PigCI.com](https://pigci.com) - For sharing runs as a team via CI
86
-
87
- _Note: This feature will be deprecated in the future. Instead use "Configuring thresholds" to have CI pass/fail._
88
-
89
- You can hookup your project to PigCI.com, this will fail PRs when metric thresholds are exceeded (e.g. your app see a big increase in memory).
90
-
91
- ```ruby
92
- # In spec/rails_helper.rb
93
- require 'pig_ci'
94
- PigCI.start do |config|
95
- # When you connect your project, you'll be given an API key.
96
- config.api_key = 'your-api-key-here'
97
- end
98
- ```
99
-
100
- It's a great way to track metrics over time & support this project.
101
-
102
84
  ### Framework support
103
85
 
104
86
  Currently this gem only supports Ruby on Rails tested via RSpec.
@@ -150,10 +132,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
150
132
 
151
133
  Features I'd like to add at some point:
152
134
 
153
- * Add support for "upsert" for when tests are split over multiple machines
154
135
  * HTML output to include branch - Right now they're just timestamps which makes filtering hard.
155
- * Document setting branch/commit to handle when CI doesn't set it correctly.
156
- * Add rake for submitting reports.
157
136
  * https://rubydoc.info/gems/yard/file/docs/GettingStarted.md - Document the gem so it's easier for people to jump on.
158
137
  * Support ActionCable (when requests have no key).
159
138
 
@@ -1,10 +1,5 @@
1
1
  en:
2
2
  pig_ci:
3
- api:
4
- reports:
5
- success: 'PigCI: Successfully submitted report to pigci.com'
6
- error: 'Unable to connect to PigCI API: %{error}'
7
- api_error: 'Unable to connect to PigCI API'
8
3
  summary:
9
4
  ci_start: 'PigCI Thresholds Summary:'
10
5
  ci_failure: 'PigCI: This commit has exceeded the thresholds defined in PigCI.thresholds'
data/lib/pig_ci.rb CHANGED
@@ -3,7 +3,6 @@ require 'active_support/core_ext/string/inflections'
3
3
  require 'rake'
4
4
 
5
5
  require 'pig_ci/version'
6
- require 'pig_ci/api'
7
6
  require 'pig_ci/configuration'
8
7
  require 'pig_ci/decorator'
9
8
  require 'pig_ci/summary'
@@ -88,21 +87,6 @@ module PigCI
88
87
  @profiler_engine ||= PigCI::ProfilerEngine::Rails.new
89
88
  end
90
89
 
91
- attr_writer :api_base_uri
92
- def api_base_uri
93
- @api_base_uri || 'https://api.pigci.com/api'
94
- end
95
-
96
- attr_accessor :api_verify_ssl
97
- def api_verify_ssl?
98
- !@api_verify_ssl.nil? ? @api_verify_ssl : true
99
- end
100
-
101
- attr_accessor :api_key
102
- def api_key?
103
- !@api_key.nil? && @api_key != ''
104
- end
105
-
106
90
  attr_writer :commit_sha1
107
91
  def commit_sha1
108
92
  @commit_sha1 || ENV['CI_COMMIT_ID'] || ENV['CIRCLE_SHA1'] || ENV['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
@@ -113,6 +97,11 @@ module PigCI
113
97
  @head_branch || ENV['CI_BRANCH'] || ENV['CIRCLE_BRANCH'] || ENV['TRAVIS_BRANCH'] || `git rev-parse --abbrev-ref HEAD`.strip
114
98
  end
115
99
 
100
+ # Throw deprecation notice for setting API
101
+ def api_key=(value)
102
+ puts 'DEPRECATED: PigCI.com API has been retired, you no longer need to set config.api_key in your spec/rails_helper.rb file.'
103
+ end
104
+
116
105
  attr_writer :locale
117
106
  def locale
118
107
  @locale || :en
@@ -161,9 +150,6 @@ module PigCI
161
150
  # Save the report summary to the project root.
162
151
  PigCI::Summary::HTML.new(reports: profiler_engine.reports).save! if PigCI.generate_html_summary?
163
152
 
164
- # If they have an API key, share it with PigCI.com
165
- PigCI::Api::Reports.new(reports: profiler_engine.reports).share! if PigCI.api_key?
166
-
167
153
  # Make sure CI fails when metrics are over thresholds.
168
154
  PigCI::Summary::CI.new(reports: profiler_engine.reports).call!
169
155
  end
@@ -1,3 +1,3 @@
1
1
  module PigCI
2
- VERSION = '0.2.2'.freeze
2
+ VERSION = '1.0.0'.freeze
3
3
  end
data/pig_ci.gemspec CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'activesupport', '>= 4.2'
25
25
  spec.add_dependency 'colorize', '>= 0.8.1'
26
26
  spec.add_dependency 'get_process_mem', '~> 0.2.3'
27
- spec.add_dependency 'httparty', '>= 0.16'
28
27
  spec.add_dependency 'i18n', '>= 0.9', '< 2'
29
28
  spec.add_dependency 'rails', '>= 4.2.0'
30
29
  spec.add_dependency 'terminal-table', '~> 1.8.0'
@@ -41,7 +40,7 @@ Gem::Specification.new do |spec|
41
40
  spec.post_install_message = [
42
41
  'Thank you for installing Pig CI!',
43
42
  'Upgrade Notes:',
44
- 'The latest version adds a "config.thresholds" option which will replace the pigci.com integration in future.',
43
+ 'The latest version adds a "config.thresholds" option which replaces the PigCI.com GitHub integration.',
45
44
  'See https://github.com/PigCI/pig-ci-rails#configuring-thresholds for more information :)'
46
45
  ].join("\n")
47
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pig-ci-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Rogers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-23 00:00:00.000000000 Z
11
+ date: 2020-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.2.3
55
- - !ruby/object:Gem::Dependency
56
- name: httparty
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0.16'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0.16'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: i18n
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -236,8 +222,6 @@ files:
236
222
  - bin/setup
237
223
  - config/locales/pig_ci/en.yml
238
224
  - lib/pig_ci.rb
239
- - lib/pig_ci/api.rb
240
- - lib/pig_ci/api/reports.rb
241
225
  - lib/pig_ci/configuration.rb
242
226
  - lib/pig_ci/decorator.rb
243
227
  - lib/pig_ci/decorator/report_terminal_decorator.rb
@@ -272,7 +256,7 @@ metadata: {}
272
256
  post_install_message: |-
273
257
  Thank you for installing Pig CI!
274
258
  Upgrade Notes:
275
- The latest version adds a "config.thresholds" option which will replace the pigci.com integration in future.
259
+ The latest version adds a "config.thresholds" option which replaces the PigCI.com GitHub integration.
276
260
  See https://github.com/PigCI/pig-ci-rails#configuring-thresholds for more information :)
277
261
  rdoc_options: []
278
262
  require_paths:
data/lib/pig_ci/api.rb DELETED
@@ -1,14 +0,0 @@
1
- require 'httparty'
2
-
3
- class PigCI::Api
4
- include HTTParty
5
-
6
- def headers
7
- {
8
- 'Content-Type': 'application/json',
9
- 'X-ApiKey': PigCI.api_key
10
- }
11
- end
12
- end
13
-
14
- require 'pig_ci/api/reports'
@@ -1,47 +0,0 @@
1
- class PigCI::Api::Reports < PigCI::Api
2
- def initialize(reports: [])
3
- @reports = reports
4
- end
5
-
6
- def share!
7
- response = post_payload
8
- if response.success?
9
- puts I18n.t('pig_ci.api.reports.success')
10
- return
11
- end
12
-
13
- if response.parsed_response.is_a?(Hash)
14
- puts I18n.t('pig_ci.api.reports.error', error: response.parsed_response.dig('error'))
15
- else
16
- puts I18n.t('pig_ci.api.reports.error')
17
- end
18
- rescue JSON::ParserError => _e
19
- puts I18n.t('pig_ci.api.reports.api_error')
20
- rescue SocketError => e
21
- puts I18n.t('pig_ci.api.reports.error', error: e)
22
- rescue Net::OpenTimeout => e
23
- puts I18n.t('pig_ci.api.reports.error', error: e.inspect)
24
- end
25
-
26
- private
27
-
28
- def post_payload
29
- self.class.post(
30
- '/v1/reports',
31
- base_uri: PigCI.api_base_uri,
32
- verify: PigCI.api_verify_ssl?,
33
- body: payload,
34
- headers: headers
35
- )
36
- end
37
-
38
- def payload
39
- {
40
- library: 'pig-ci-rails',
41
- library_version: PigCI::VERSION,
42
- commit_sha1: PigCI.commit_sha1,
43
- head_branch: PigCI.head_branch,
44
- reports: @reports.collect { |report| report.to_payload_for(PigCI.run_timestamp) }
45
- }.to_json
46
- end
47
- end