bugsnag 6.12.2 → 6.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.buildkite/pipeline.yml +470 -0
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +12 -0
- data/CONTRIBUTING.md +1 -9
- data/Gemfile +11 -6
- data/TESTING.md +81 -0
- data/VERSION +1 -1
- data/docker-compose.yml +46 -0
- data/dockerfiles/Dockerfile.jruby-unit-tests +13 -0
- data/dockerfiles/Dockerfile.ruby-maze-runner +26 -0
- data/dockerfiles/Dockerfile.ruby-unit-tests +12 -0
- data/features/delayed_job.feature +6 -22
- data/features/fixtures/delayed_job/Dockerfile +2 -4
- data/features/fixtures/delayed_job/app/Gemfile +1 -1
- data/features/fixtures/delayed_job/app/Rakefile +18 -0
- data/features/fixtures/docker-compose.yml +28 -40
- data/features/fixtures/expected_breadcrumbs/active_job.json +9 -0
- data/features/fixtures/expected_breadcrumbs/mongo_failed.json +15 -0
- data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +15 -0
- data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +15 -0
- data/features/fixtures/expected_breadcrumbs/mongo_success.json +14 -0
- data/features/fixtures/expected_breadcrumbs/request.json +13 -0
- data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +12 -0
- data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +11 -0
- data/features/fixtures/plain/Dockerfile +2 -2
- data/features/fixtures/plain/app/app.rb +1 -3
- data/features/fixtures/plain/app/delivery/fork_threadpool.rb +3 -1
- data/features/fixtures/plain/app/unhandled/{Interrupt.rb → interrupt.rb} +0 -0
- data/features/fixtures/rack1/Dockerfile +2 -2
- data/features/fixtures/rack2/Dockerfile +2 -2
- data/features/fixtures/rails3/Dockerfile +2 -2
- data/features/fixtures/rails3/app/Gemfile +4 -0
- data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +1 -1
- data/features/fixtures/rails4/Dockerfile +2 -5
- data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +1 -1
- data/features/fixtures/rails5/Dockerfile +2 -2
- data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +1 -1
- data/features/fixtures/rails6/Dockerfile +2 -2
- data/features/fixtures/rails6/app/Gemfile +3 -2
- data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +22 -0
- data/features/fixtures/rails6/app/app/models/mongo_model.rb +6 -0
- data/features/fixtures/rails6/app/config/environments/development.rb +2 -0
- data/features/fixtures/rails6/app/config/environments/production.rb +1 -0
- data/features/fixtures/rails6/app/config/environments/rails_env.rb +1 -0
- data/features/fixtures/rails6/app/config/environments/test.rb +1 -0
- data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +1 -1
- data/features/fixtures/rails6/app/config/mongoid.yml +23 -0
- data/features/fixtures/rails6/app/config/routes.rb +4 -0
- data/features/fixtures/resque/Dockerfile +2 -2
- data/features/fixtures/sidekiq/Dockerfile +5 -7
- data/features/fixtures/sidekiq/app/Gemfile +2 -1
- data/features/fixtures/sidekiq/app/Rakefile.rb +14 -0
- data/features/fixtures/sinatra1/Dockerfile +2 -2
- data/features/fixtures/sinatra2/Dockerfile +2 -2
- data/features/plain_features/add_tab.feature +24 -97
- data/features/plain_features/app_type.feature +6 -25
- data/features/plain_features/app_version.feature +6 -25
- data/features/plain_features/auto_notify.feature +4 -20
- data/features/plain_features/delivery.feature +12 -60
- data/features/plain_features/exception_data.feature +24 -94
- data/features/plain_features/filters.feature +9 -43
- data/features/plain_features/handled_errors.feature +16 -78
- data/features/plain_features/ignore_classes.feature +5 -23
- data/features/plain_features/ignore_report.feature +6 -24
- data/features/plain_features/proxies.feature +13 -56
- data/features/plain_features/release_stages.feature +9 -40
- data/features/plain_features/report_api_key.feature +9 -35
- data/features/plain_features/report_severity.feature +8 -35
- data/features/plain_features/report_stack_frames.feature +24 -92
- data/features/plain_features/report_user.feature +23 -96
- data/features/plain_features/unhandled_errors.feature +17 -88
- data/features/rails_features/api_key.feature +12 -62
- data/features/rails_features/app_type.feature +13 -62
- data/features/rails_features/app_version.feature +19 -86
- data/features/rails_features/auto_capture_sessions.feature +31 -120
- data/features/rails_features/auto_notify.feature +28 -113
- data/features/rails_features/before_notify.feature +18 -89
- data/features/rails_features/breadcrumbs.feature +40 -147
- data/features/rails_features/handled.feature +18 -88
- data/features/rails_features/ignore_classes.feature +12 -55
- data/features/rails_features/meta_data_filters.feature +6 -34
- data/features/rails_features/mongo_breadcrumbs.feature +22 -105
- data/features/rails_features/project_root.feature +19 -90
- data/features/rails_features/release_stage.feature +20 -88
- data/features/rails_features/send_code.feature +13 -59
- data/features/rails_features/send_environment.feature +7 -35
- data/features/rails_features/unhandled.feature +6 -33
- data/features/rails_features/user_info.feature +27 -68
- data/features/sidekiq.feature +12 -79
- data/features/steps/ruby_notifier_steps.rb +59 -15
- data/features/support/env.rb +12 -45
- data/lib/bugsnag/cleaner.rb +2 -3
- data/lib/bugsnag/configuration.rb +12 -0
- data/lib/bugsnag/stacktrace.rb +1 -4
- data/spec/configuration_spec.rb +11 -0
- data/spec/fixtures/apps/rails-initializer-config/Gemfile +5 -1
- data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +5 -1
- data/spec/fixtures/apps/rails-no-config/Gemfile +5 -1
- data/spec/integrations/logger_spec.rb +1 -1
- data/spec/integrations/rake_spec.rb +1 -1
- data/spec/stacktrace_spec.rb +39 -0
- metadata +21 -5
- data/.travis.yml +0 -122
- data/features/plain_features/api_key.feature +0 -25
data/lib/bugsnag/cleaner.rb
CHANGED
@@ -2,7 +2,6 @@ require 'uri'
|
|
2
2
|
|
3
3
|
module Bugsnag
|
4
4
|
class Cleaner
|
5
|
-
ENCODING_OPTIONS = {:invalid => :replace, :undef => :replace}.freeze
|
6
5
|
FILTERED = '[FILTERED]'.freeze
|
7
6
|
RECURSION = '[RECURSION]'.freeze
|
8
7
|
OBJECT = '[OBJECT]'.freeze
|
@@ -60,9 +59,9 @@ module Bugsnag
|
|
60
59
|
def clean_string(str)
|
61
60
|
if defined?(str.encoding) && defined?(Encoding::UTF_8)
|
62
61
|
if str.encoding == Encoding::UTF_8
|
63
|
-
str.valid_encoding? ? str : str.encode('utf-16',
|
62
|
+
str.valid_encoding? ? str : str.encode('utf-16', invalid: :replace, undef: :replace).encode('utf-8')
|
64
63
|
else
|
65
|
-
str.encode('utf-8',
|
64
|
+
str.encode('utf-8', invalid: :replace, undef: :replace)
|
66
65
|
end
|
67
66
|
elsif defined?(Iconv)
|
68
67
|
Iconv.conv('UTF-8//IGNORE', 'UTF-8', str) || str
|
@@ -63,6 +63,10 @@ module Bugsnag
|
|
63
63
|
# @return [Integer] the maximum allowable amount of breadcrumbs per thread
|
64
64
|
attr_reader :max_breadcrumbs
|
65
65
|
|
66
|
+
##
|
67
|
+
# @return [Regexp] matching file paths out of project
|
68
|
+
attr_accessor :vendor_path
|
69
|
+
|
66
70
|
API_KEY_REGEX = /[0-9a-f]{32}/i
|
67
71
|
THREAD_LOCAL_NAME = "bugsnag_req_data"
|
68
72
|
|
@@ -81,6 +85,9 @@ module Bugsnag
|
|
81
85
|
|
82
86
|
DEFAULT_MAX_BREADCRUMBS = 25
|
83
87
|
|
88
|
+
# Path to vendored code. Used to mark file paths as out of project.
|
89
|
+
DEFAULT_VENDOR_PATH = %r{^(vendor\/|\.bundle\/)}
|
90
|
+
|
84
91
|
alias :track_sessions :auto_capture_sessions
|
85
92
|
alias :track_sessions= :auto_capture_sessions=
|
86
93
|
|
@@ -125,6 +132,11 @@ module Bugsnag
|
|
125
132
|
parse_proxy(proxy_uri)
|
126
133
|
end
|
127
134
|
|
135
|
+
# Set up vendor_path regex to mark stacktrace file paths as out of project.
|
136
|
+
# Stacktrace lines that matches regex will be marked as "out of project"
|
137
|
+
# will only appear in the full trace.
|
138
|
+
self.vendor_path = DEFAULT_VENDOR_PATH
|
139
|
+
|
128
140
|
# Set up logging
|
129
141
|
self.logger = Logger.new(STDOUT)
|
130
142
|
self.logger.level = Logger::INFO
|
data/lib/bugsnag/stacktrace.rb
CHANGED
@@ -7,9 +7,6 @@ module Bugsnag
|
|
7
7
|
# e.g. "org.jruby.Ruby.runScript(Ruby.java:807)"
|
8
8
|
JAVA_BACKTRACE_REGEX = /^(.*)\((.*)(?::([0-9]+))?\)$/
|
9
9
|
|
10
|
-
# Path to vendored code. Used to mark file paths as out of project.
|
11
|
-
VENDOR_PATH = /^(vendor\/|\.bundle\/)/
|
12
|
-
|
13
10
|
##
|
14
11
|
# Process a backtrace and the configuration into a parsed stacktrace.
|
15
12
|
def initialize(backtrace, configuration)
|
@@ -46,7 +43,7 @@ module Bugsnag
|
|
46
43
|
if defined?(@configuration.project_root) && @configuration.project_root.to_s != ''
|
47
44
|
trace_hash[:inProject] = true if file.start_with?(@configuration.project_root.to_s)
|
48
45
|
file.sub!(/#{@configuration.project_root}\//, "")
|
49
|
-
trace_hash.delete(:inProject) if file.match(
|
46
|
+
trace_hash.delete(:inProject) if file.match(@configuration.vendor_path)
|
50
47
|
end
|
51
48
|
|
52
49
|
|
data/spec/configuration_spec.rb
CHANGED
@@ -427,4 +427,15 @@ describe Bugsnag::Configuration do
|
|
427
427
|
expect(second_array).to eq([1, 2])
|
428
428
|
end
|
429
429
|
end
|
430
|
+
|
431
|
+
describe "#vendor_path" do
|
432
|
+
it "returns the default vendor path" do
|
433
|
+
expect(subject.vendor_path).to eq(Bugsnag::Configuration::DEFAULT_VENDOR_PATH)
|
434
|
+
end
|
435
|
+
|
436
|
+
it "returns the defined vendor path" do
|
437
|
+
subject.vendor_path = /foo/
|
438
|
+
expect(subject.vendor_path).to eq(/foo/)
|
439
|
+
end
|
440
|
+
end
|
430
441
|
end
|
@@ -1,5 +1,9 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
ruby_version = Gem::Version.new(RUBY_VERSION.dup)
|
4
|
+
|
5
|
+
gem 'railties', ruby_version <= Gem::Version.new('2.6') ? '4.2.10' : '~> 6.0.2', require: %w(action_controller rails)
|
6
|
+
gem 'rake', ruby_version <= Gem::Version.new('1.9.3') ? '~> 11.3.0' : '~> 12.3.0'
|
7
|
+
gem 'minitest', ruby_version <= Gem::Version.new('2.2') ? '5.11.3' : '~> 5.13.0'
|
4
8
|
gem 'nokogiri', '1.6.8'
|
5
9
|
gem 'bugsnag', path: '../../../..'
|
@@ -1,5 +1,9 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
ruby_version = Gem::Version.new(RUBY_VERSION.dup)
|
4
|
+
|
5
|
+
gem 'railties', ruby_version <= Gem::Version.new('2.6') ? '4.2.10' : '~> 6.0.2', require: %w(action_controller rails)
|
6
|
+
gem 'rake', ruby_version <= Gem::Version.new('1.9.3') ? '~> 11.3.0' : '~> 12.3.0'
|
7
|
+
gem 'minitest', ruby_version <= Gem::Version.new('2.2') ? '5.11.3' : '~> 5.13.0'
|
4
8
|
gem 'nokogiri', '1.6.8'
|
5
9
|
gem 'bugsnag', path: '../../../..'
|
@@ -1,5 +1,9 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
ruby_version = Gem::Version.new(RUBY_VERSION.dup)
|
4
|
+
|
5
|
+
gem 'railties', ruby_version <= Gem::Version.new('2.6') ? '4.2.10' : '~> 6.0.2', require: %w(action_controller rails)
|
6
|
+
gem 'rake', ruby_version <= Gem::Version.new('1.9.3') ? '~> 11.3.0' : '~> 12.3.0'
|
7
|
+
gem 'minitest', ruby_version <= Gem::Version.new('2.2') ? '5.11.3' : '~> 5.13.0'
|
4
8
|
gem 'nokogiri', '1.6.8'
|
5
9
|
gem 'bugsnag', path: '../../../..'
|
@@ -61,7 +61,7 @@ describe 'Configuration.logger' do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
context '
|
64
|
+
context 'when the API key is invalid in the bugsnag initializer' do
|
65
65
|
it 'logs a warning' do
|
66
66
|
skip "Incompatible with Ruby <2.0 and JRuby" if incompatible
|
67
67
|
output = run_app('rails-invalid-initializer-config')
|
@@ -58,7 +58,7 @@ describe "Bugsnag Rake integration" do
|
|
58
58
|
ENV['BUGSNAG_TEST_SERVER_PORT'] = server.config[:Port].to_s
|
59
59
|
task_fixtures_path = File.join(File.dirname(__FILE__), '../fixtures', 'tasks')
|
60
60
|
Dir.chdir(task_fixtures_path) do
|
61
|
-
system("
|
61
|
+
system("../../../bin/rake test:crash")
|
62
62
|
end
|
63
63
|
|
64
64
|
result = request()
|
data/spec/stacktrace_spec.rb
CHANGED
@@ -87,4 +87,43 @@ describe Bugsnag::Stacktrace do
|
|
87
87
|
})
|
88
88
|
}
|
89
89
|
end
|
90
|
+
|
91
|
+
context "with configurable vendor_path" do
|
92
|
+
let(:configuration) do
|
93
|
+
configuration = Bugsnag::Configuration.new
|
94
|
+
configuration.project_root = "/foo/bar"
|
95
|
+
configuration
|
96
|
+
end
|
97
|
+
|
98
|
+
let(:backtrace) do
|
99
|
+
[
|
100
|
+
"/foo/bar/app/models/user.rb:1:in `something'",
|
101
|
+
"/foo/bar/other_vendor/lib/dont.rb:1:in `to_s'",
|
102
|
+
"/foo/bar/vendor/lib/ignore_me.rb:1:in `to_s'",
|
103
|
+
"/foo/bar/.bundle/lib/ignore_me.rb:1:in `to_s'",
|
104
|
+
]
|
105
|
+
end
|
106
|
+
|
107
|
+
def out_project_trace(stacktrace)
|
108
|
+
stacktrace.to_a.map do |trace_line|
|
109
|
+
trace_line[:file] if !trace_line[:inProject]
|
110
|
+
end.compact
|
111
|
+
end
|
112
|
+
|
113
|
+
it "marks vendor/ and .bundle/ as out-project by default" do
|
114
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration)
|
115
|
+
|
116
|
+
expect(out_project_trace(stacktrace)).to eq([
|
117
|
+
"vendor/lib/ignore_me.rb",
|
118
|
+
".bundle/lib/ignore_me.rb",
|
119
|
+
])
|
120
|
+
end
|
121
|
+
|
122
|
+
it "allows vendor_path to be configured and filters out backtrace file paths" do
|
123
|
+
configuration.vendor_path = /other_vendor\//
|
124
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration)
|
125
|
+
|
126
|
+
expect(out_project_trace(stacktrace)).to eq(["other_vendor/lib/dont.rb"])
|
127
|
+
end
|
128
|
+
end
|
90
129
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bugsnag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -33,22 +33,27 @@ extra_rdoc_files:
|
|
33
33
|
- README.md
|
34
34
|
- CHANGELOG.md
|
35
35
|
files:
|
36
|
+
- ".buildkite/pipeline.yml"
|
36
37
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
37
38
|
- ".gitignore"
|
38
39
|
- ".rdoc_options"
|
39
40
|
- ".rspec"
|
40
41
|
- ".rubocop.yml"
|
41
42
|
- ".rubocop_todo.yml"
|
42
|
-
- ".travis.yml"
|
43
43
|
- CHANGELOG.md
|
44
44
|
- CONTRIBUTING.md
|
45
45
|
- Gemfile
|
46
46
|
- LICENSE.txt
|
47
47
|
- README.md
|
48
48
|
- Rakefile
|
49
|
+
- TESTING.md
|
49
50
|
- UPGRADING.md
|
50
51
|
- VERSION
|
51
52
|
- bugsnag.gemspec
|
53
|
+
- docker-compose.yml
|
54
|
+
- dockerfiles/Dockerfile.jruby-unit-tests
|
55
|
+
- dockerfiles/Dockerfile.ruby-maze-runner
|
56
|
+
- dockerfiles/Dockerfile.ruby-unit-tests
|
52
57
|
- features/.gitignore
|
53
58
|
- features/delayed_job.feature
|
54
59
|
- features/fixtures/delayed_job/Dockerfile
|
@@ -127,6 +132,14 @@ files:
|
|
127
132
|
- features/fixtures/delayed_job/app/test/test_helper.rb
|
128
133
|
- features/fixtures/delayed_job/app/tmp/.keep
|
129
134
|
- features/fixtures/docker-compose.yml
|
135
|
+
- features/fixtures/expected_breadcrumbs/active_job.json
|
136
|
+
- features/fixtures/expected_breadcrumbs/mongo_failed.json
|
137
|
+
- features/fixtures/expected_breadcrumbs/mongo_filtered_request.json
|
138
|
+
- features/fixtures/expected_breadcrumbs/mongo_filtered_result.json
|
139
|
+
- features/fixtures/expected_breadcrumbs/mongo_success.json
|
140
|
+
- features/fixtures/expected_breadcrumbs/request.json
|
141
|
+
- features/fixtures/expected_breadcrumbs/sql_with_bindings.json
|
142
|
+
- features/fixtures/expected_breadcrumbs/sql_without_bindings.json
|
130
143
|
- features/fixtures/plain/.dockerignore
|
131
144
|
- features/fixtures/plain/Dockerfile
|
132
145
|
- features/fixtures/plain/app/Gemfile
|
@@ -173,9 +186,9 @@ files:
|
|
173
186
|
- features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb
|
174
187
|
- features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb
|
175
188
|
- features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb
|
176
|
-
- features/fixtures/plain/app/unhandled/Interrupt.rb
|
177
189
|
- features/fixtures/plain/app/unhandled/bad_syntax.rb
|
178
190
|
- features/fixtures/plain/app/unhandled/custom_error.rb
|
191
|
+
- features/fixtures/plain/app/unhandled/interrupt.rb
|
179
192
|
- features/fixtures/plain/app/unhandled/load_error.rb
|
180
193
|
- features/fixtures/plain/app/unhandled/local_jump_error.rb
|
181
194
|
- features/fixtures/plain/app/unhandled/name_error.rb
|
@@ -450,6 +463,7 @@ files:
|
|
450
463
|
- features/fixtures/rails6/app/app/controllers/handled_controller.rb
|
451
464
|
- features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb
|
452
465
|
- features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb
|
466
|
+
- features/fixtures/rails6/app/app/controllers/mongo_controller.rb
|
453
467
|
- features/fixtures/rails6/app/app/controllers/project_root_controller.rb
|
454
468
|
- features/fixtures/rails6/app/app/controllers/release_stage_controller.rb
|
455
469
|
- features/fixtures/rails6/app/app/controllers/send_code_controller.rb
|
@@ -465,6 +479,7 @@ files:
|
|
465
479
|
- features/fixtures/rails6/app/app/mailers/application_mailer.rb
|
466
480
|
- features/fixtures/rails6/app/app/models/application_record.rb
|
467
481
|
- features/fixtures/rails6/app/app/models/concerns/.keep
|
482
|
+
- features/fixtures/rails6/app/app/models/mongo_model.rb
|
468
483
|
- features/fixtures/rails6/app/app/models/user.rb
|
469
484
|
- features/fixtures/rails6/app/app/views/layouts/application.html.erb
|
470
485
|
- features/fixtures/rails6/app/app/views/layouts/mailer.html.erb
|
@@ -492,6 +507,7 @@ files:
|
|
492
507
|
- features/fixtures/rails6/app/config/initializers/mime_types.rb
|
493
508
|
- features/fixtures/rails6/app/config/initializers/wrap_parameters.rb
|
494
509
|
- features/fixtures/rails6/app/config/locales/en.yml
|
510
|
+
- features/fixtures/rails6/app/config/mongoid.yml
|
495
511
|
- features/fixtures/rails6/app/config/puma.rb
|
496
512
|
- features/fixtures/rails6/app/config/routes.rb
|
497
513
|
- features/fixtures/rails6/app/config/secrets.yml
|
@@ -540,6 +556,7 @@ files:
|
|
540
556
|
- features/fixtures/sidekiq/.dockerignore
|
541
557
|
- features/fixtures/sidekiq/Dockerfile
|
542
558
|
- features/fixtures/sidekiq/app/Gemfile
|
559
|
+
- features/fixtures/sidekiq/app/Rakefile.rb
|
543
560
|
- features/fixtures/sidekiq/app/app.rb
|
544
561
|
- features/fixtures/sidekiq/app/initializers/HandledError.rb
|
545
562
|
- features/fixtures/sidekiq/app/initializers/UnhandledError.rb
|
@@ -556,7 +573,6 @@ files:
|
|
556
573
|
- features/fixtures/sinatra2/Gemfile
|
557
574
|
- features/fixtures/sinatra2/app.rb
|
558
575
|
- features/plain_features/add_tab.feature
|
559
|
-
- features/plain_features/api_key.feature
|
560
576
|
- features/plain_features/app_type.feature
|
561
577
|
- features/plain_features/app_version.feature
|
562
578
|
- features/plain_features/auto_notify.feature
|
data/.travis.yml
DELETED
@@ -1,122 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
|
4
|
-
before_install:
|
5
|
-
- gem update --system 2.6.14
|
6
|
-
- gem --version
|
7
|
-
- gem install bundler -v $BUNDLE_VERSION
|
8
|
-
- bundle _${BUNDLE_VERSION}_ --version
|
9
|
-
|
10
|
-
install:
|
11
|
-
- bundle _${BUNDLE_VERSION}_ install --with "$GEMSETS" --binstubs
|
12
|
-
|
13
|
-
script:
|
14
|
-
- bundle exec ./bin/rake spec
|
15
|
-
|
16
|
-
jobs:
|
17
|
-
include:
|
18
|
-
- stage: test
|
19
|
-
env:
|
20
|
-
- BUNDLE_VERSION=1.16.1
|
21
|
-
- GEMSETS=test
|
22
|
-
rvm: jruby-19mode
|
23
|
-
- stage: test
|
24
|
-
rvm: 1.9.3
|
25
|
-
env:
|
26
|
-
- BUNDLE_VERSION=1.12.0
|
27
|
-
- GEMSETS=test
|
28
|
-
- stage: test
|
29
|
-
rvm: 2.0
|
30
|
-
env:
|
31
|
-
- BUNDLE_VERSION=1.12.0
|
32
|
-
- GEMSETS=test
|
33
|
-
- stage: test
|
34
|
-
rvm: 2.1
|
35
|
-
env:
|
36
|
-
- BUNDLE_VERSION=1.12.0
|
37
|
-
- GEMSETS=test
|
38
|
-
- stage: test
|
39
|
-
env:
|
40
|
-
- BUNDLE_VERSION=1.12.0
|
41
|
-
- GEMSETS="test sidekiq"
|
42
|
-
rvm: 2.2
|
43
|
-
- stage: test
|
44
|
-
env:
|
45
|
-
- BUNDLE_VERSION=1.12.0
|
46
|
-
- GEMSETS="test sidekiq"
|
47
|
-
rvm: 2.3
|
48
|
-
- stage: test
|
49
|
-
env:
|
50
|
-
- BUNDLE_VERSION=1.12.0
|
51
|
-
- GEMSETS="test sidekiq"
|
52
|
-
rvm: 2.4
|
53
|
-
- stage: test
|
54
|
-
env:
|
55
|
-
- BUNDLE_VERSION=1.12.0
|
56
|
-
- GEMSETS="test sidekiq"
|
57
|
-
rvm: 2.5
|
58
|
-
- stage: test
|
59
|
-
env:
|
60
|
-
- BUNDLE_VERSION=1.12.0
|
61
|
-
- GEMSETS="test sidekiq coverage"
|
62
|
-
rvm: 2.6
|
63
|
-
- stage: test
|
64
|
-
env:
|
65
|
-
- BUNDLE_VERSION=1.12.0
|
66
|
-
- GEMSETS="test rubocop"
|
67
|
-
rvm: 2.6
|
68
|
-
script: bundle exec ./bin/rubocop lib/
|
69
|
-
# - stage: test
|
70
|
-
# addons:
|
71
|
-
# apt:
|
72
|
-
# packages:
|
73
|
-
# - docker-ce
|
74
|
-
# sudo: required
|
75
|
-
# sevices:
|
76
|
-
# - docker
|
77
|
-
# env:
|
78
|
-
# - BUNDLE_VERSION=1.12.0
|
79
|
-
# - GEMSETS="test maze"
|
80
|
-
# rmv: 2.4.1
|
81
|
-
# script: bundle exec bugsnag-maze-runner -c features/plain_features
|
82
|
-
# - stage: test
|
83
|
-
# addons:
|
84
|
-
# apt:
|
85
|
-
# packages:
|
86
|
-
# - docker-ce
|
87
|
-
# sudo: required
|
88
|
-
# sevices:
|
89
|
-
# - docker
|
90
|
-
# env:
|
91
|
-
# - BUNDLE_VERSION=1.12.0
|
92
|
-
# - GEMSETS="test maze"
|
93
|
-
# rmv: 2.4.1
|
94
|
-
# script: bundle exec bugsnag-maze-runner -c features/sidekiq.feature
|
95
|
-
# - stage: test
|
96
|
-
# addons:
|
97
|
-
# apt:
|
98
|
-
# packages:
|
99
|
-
# - docker-ce
|
100
|
-
# sudo: required
|
101
|
-
# sevices:
|
102
|
-
# - docker
|
103
|
-
# env:
|
104
|
-
# - BUNDLE_VERSION=1.12.0
|
105
|
-
# - GEMSETS="test maze"
|
106
|
-
# - MAX_MAZE_CONNECT_ATTEMPTS=20
|
107
|
-
# rmv: 2.4.1
|
108
|
-
# script: bundle exec bugsnag-maze-runner -c features/rails_features
|
109
|
-
- stage: deploy
|
110
|
-
env:
|
111
|
-
- BUNDLE_VERSION=1.12.0
|
112
|
-
- GEMSETS="test doc"
|
113
|
-
rvm: 2.4.1
|
114
|
-
script: bundle exec rake rdoc
|
115
|
-
if: tag =~ ^v[1-9]
|
116
|
-
deploy:
|
117
|
-
provider: pages
|
118
|
-
local_dir: rdoc # only include the contents of the generated docs dir
|
119
|
-
skip_cleanup: true
|
120
|
-
github_token: $GITHUB_TOKEN # set in travis-ci dashboard
|
121
|
-
on:
|
122
|
-
tags: true # only deploy when tag is applied to commit
|
@@ -1,25 +0,0 @@
|
|
1
|
-
Feature: API Key configuration options
|
2
|
-
|
3
|
-
Background:
|
4
|
-
And I configure the bugsnag endpoint
|
5
|
-
|
6
|
-
Scenario Outline: The API key configuration option can be set
|
7
|
-
Given I set environment variable "RUBY_VERSION" to "<ruby version>"
|
8
|
-
And I set environment variable "BUGSNAG_API_KEY" to "b35a2a72bd230ac0aa0f52715bbdc6aa"
|
9
|
-
And I have built the service "plain-ruby"
|
10
|
-
And I run the service "plain-ruby" with the command "bundle exec ruby configuration/api_key.rb"
|
11
|
-
And I wait for 1 second
|
12
|
-
Then I should receive a request
|
13
|
-
And the request used the "Ruby Bugsnag Notifier" notifier
|
14
|
-
And the request used payload v4 headers
|
15
|
-
And the request contained the api key "b35a2a72bd230ac0aa0f52715bbdc6aa"
|
16
|
-
|
17
|
-
Examples:
|
18
|
-
| ruby version |
|
19
|
-
| 1.9.3 |
|
20
|
-
| 2.0 |
|
21
|
-
| 2.1 |
|
22
|
-
| 2.2 |
|
23
|
-
| 2.3 |
|
24
|
-
| 2.4 |
|
25
|
-
| 2.5 |
|