appsignal 2.9.2.alpha.1 → 2.9.18.beta.2
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/ISSUE_TEMPLATE/bug_report.md +31 -0
- data/.github/ISSUE_TEMPLATE/chore.md +14 -0
- data/.gitignore +1 -2
- data/.rubocop.yml +3 -0
- data/.travis.yml +25 -27
- data/CHANGELOG.md +632 -535
- data/README.md +8 -3
- data/Rakefile +118 -122
- data/SUPPORT.md +16 -0
- data/appsignal.gemspec +14 -4
- data/build_matrix.yml +16 -8
- data/ext/Rakefile +2 -3
- data/ext/agent.yml +40 -37
- data/ext/base.rb +37 -14
- data/ext/extconf.rb +3 -4
- data/gemfiles/capistrano2.gemfile +5 -0
- data/gemfiles/capistrano3.gemfile +5 -0
- data/gemfiles/grape.gemfile +5 -0
- data/gemfiles/no_dependencies.gemfile +5 -0
- data/gemfiles/padrino.gemfile +5 -0
- data/gemfiles/que.gemfile +5 -0
- data/gemfiles/que_beta.gemfile +10 -0
- data/gemfiles/rails-3.2.gemfile +5 -0
- data/gemfiles/rails-4.0.gemfile +5 -0
- data/gemfiles/rails-4.1.gemfile +5 -0
- data/gemfiles/rails-4.2.gemfile +5 -0
- data/gemfiles/rails-6.0.gemfile +1 -1
- data/gemfiles/resque.gemfile +5 -0
- data/lib/appsignal.rb +1 -4
- data/lib/appsignal/cli/demo.rb +5 -2
- data/lib/appsignal/cli/diagnose/utils.rb +2 -0
- data/lib/appsignal/cli/install.rb +34 -10
- data/lib/appsignal/cli/notify_of_deploy.rb +10 -0
- data/lib/appsignal/config.rb +5 -2
- data/lib/appsignal/event_formatter/action_view/render_formatter.rb +10 -8
- data/lib/appsignal/helpers/instrumentation.rb +18 -9
- data/lib/appsignal/helpers/metrics.rb +0 -1
- data/lib/appsignal/hooks.rb +3 -1
- data/lib/appsignal/hooks/active_support_notifications.rb +2 -5
- data/lib/appsignal/hooks/puma.rb +15 -13
- data/lib/appsignal/hooks/sequel.rb +1 -1
- data/lib/appsignal/hooks/sidekiq.rb +33 -8
- data/lib/appsignal/integrations/que.rb +9 -8
- data/lib/appsignal/minutely.rb +38 -19
- data/lib/appsignal/transaction.rb +5 -0
- data/lib/appsignal/utils/rails_helper.rb +4 -0
- data/lib/appsignal/version.rb +1 -1
- data/lib/puma/plugin/appsignal.rb +26 -0
- data/spec/lib/appsignal/cli/diagnose/utils_spec.rb +40 -0
- data/spec/lib/appsignal/cli/install_spec.rb +51 -7
- data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +10 -0
- data/spec/lib/appsignal/config_spec.rb +13 -8
- data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +38 -28
- data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +104 -25
- data/spec/lib/appsignal/hooks/puma_spec.rb +69 -39
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +65 -3
- data/spec/lib/appsignal/hooks_spec.rb +4 -0
- data/spec/lib/appsignal/minutely_spec.rb +150 -88
- data/spec/lib/appsignal/transaction_spec.rb +27 -4
- data/spec/lib/appsignal_spec.rb +62 -11
- data/spec/lib/puma/appsignal_spec.rb +91 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/application.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/appsignal.yml +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/development.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/production.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/test.rb +0 -0
- data/spec/support/{project_fixture → fixtures/projects/valid}/log/.gitkeep +0 -0
- data/spec/support/helpers/config_helpers.rb +1 -1
- data/spec/support/helpers/wait_for_helper.rb +28 -0
- data/spec/support/mocks/mock_probe.rb +11 -0
- metadata +38 -30
- data/spec/support/fixtures/containers/cgroups/docker +0 -14
- data/spec/support/fixtures/containers/cgroups/docker_systemd +0 -8
- data/spec/support/fixtures/containers/cgroups/lxc +0 -10
- data/spec/support/fixtures/containers/cgroups/no_permission +0 -0
- data/spec/support/fixtures/containers/cgroups/none +0 -1
data/README.md
CHANGED
|
@@ -6,6 +6,7 @@ issues.
|
|
|
6
6
|
|
|
7
7
|
- [AppSignal.com website][appsignal]
|
|
8
8
|
- [Documentation][docs]
|
|
9
|
+
- [Ruby code documentation][ruby-doc]
|
|
9
10
|
- [Support][contact]
|
|
10
11
|
|
|
11
12
|
[](https://travis-ci.org/appsignal/appsignal-ruby)
|
|
@@ -230,9 +231,9 @@ BUNDLE_GEMFILE=gemfiles/sinatra.gemfile bundle exec rspec
|
|
|
230
231
|
BUNDLE_GEMFILE=gemfiles/webmachine.gemfile bundle exec rspec
|
|
231
232
|
```
|
|
232
233
|
|
|
233
|
-
If you have either [RVM][rvm]
|
|
234
|
-
`rake
|
|
235
|
-
all Ruby versions and gem combinations we support.
|
|
234
|
+
If you have either [RVM][rvm], [rbenv][rbenv] or [chruby][chruby] installed you
|
|
235
|
+
can also use `rake build_matrix:local:generate` to generate a script that runs
|
|
236
|
+
specs for all Ruby versions and gem combinations we support.
|
|
236
237
|
|
|
237
238
|
We run the suite against all of the Gemfiles mentioned above and on
|
|
238
239
|
a number of different Ruby versions.
|
|
@@ -267,12 +268,15 @@ we send a package to so far on our [Stroopwafles page][waffles-page].
|
|
|
267
268
|
AppSignal. They will help you get set up, tweak your code and make sure you get
|
|
268
269
|
the most out of using AppSignal.
|
|
269
270
|
|
|
271
|
+
Also see our [SUPPORT.md file](SUPPORT.md).
|
|
272
|
+
|
|
270
273
|
[appsignal]: https://appsignal.com
|
|
271
274
|
[appsignal-sign-up]: https://appsignal.com/users/sign_up
|
|
272
275
|
[contact]: mailto:support@appsignal.com
|
|
273
276
|
[coc]: https://docs.appsignal.com/appsignal/code-of-conduct.html
|
|
274
277
|
[waffles-page]: https://appsignal.com/waffles
|
|
275
278
|
[docs]: http://docs.appsignal.com
|
|
279
|
+
[ruby-doc]: https://www.rubydoc.info/gems/appsignal
|
|
276
280
|
[contributing-guide]: http://docs.appsignal.com/appsignal/contributing.html
|
|
277
281
|
[supported-systems]: http://docs.appsignal.com/support/operating-systems.html
|
|
278
282
|
[integrations]: http://docs.appsignal.com/ruby/integrations/index.html
|
|
@@ -286,3 +290,4 @@ the most out of using AppSignal.
|
|
|
286
290
|
[semver]: http://semver.org/
|
|
287
291
|
[rvm]: http://rvm.io/
|
|
288
292
|
[rbenv]: https://github.com/rbenv/rbenv
|
|
293
|
+
[chruby]: https://github.com/postmodern/chruby/
|
data/Rakefile
CHANGED
|
@@ -2,100 +2,134 @@ require "bundler"
|
|
|
2
2
|
require "rubygems/package_task"
|
|
3
3
|
require "fileutils"
|
|
4
4
|
|
|
5
|
-
GEMFILES = %w[
|
|
6
|
-
capistrano2
|
|
7
|
-
capistrano3
|
|
8
|
-
grape
|
|
9
|
-
no_dependencies
|
|
10
|
-
padrino
|
|
11
|
-
rails-3.2
|
|
12
|
-
rails-4.0
|
|
13
|
-
rails-4.1
|
|
14
|
-
rails-4.2
|
|
15
|
-
rails-5.0
|
|
16
|
-
resque
|
|
17
|
-
sequel
|
|
18
|
-
sequel-435
|
|
19
|
-
sinatra
|
|
20
|
-
grape
|
|
21
|
-
webmachine
|
|
22
|
-
que
|
|
23
|
-
].freeze
|
|
24
|
-
|
|
25
|
-
RUBY_VERSIONS = %w[
|
|
26
|
-
2.0.0-p648
|
|
27
|
-
2.1.8
|
|
28
|
-
2.2.4
|
|
29
|
-
2.3.0
|
|
30
|
-
2.4.0
|
|
31
|
-
].freeze
|
|
32
|
-
|
|
33
|
-
EXCLUSIONS = {
|
|
34
|
-
"rails-5.0" => %w[2.0.0 2.1.8]
|
|
35
|
-
}.freeze
|
|
36
|
-
|
|
37
5
|
VERSION_MANAGERS = {
|
|
38
|
-
:
|
|
39
|
-
|
|
6
|
+
:chruby => {
|
|
7
|
+
:env => "#!/bin/bash\nsource /usr/local/opt/chruby/share/chruby/chruby.sh",
|
|
8
|
+
:switch_command => lambda { |version| "chruby #{version}" }
|
|
9
|
+
},
|
|
10
|
+
:rbenv => {
|
|
11
|
+
:env => "#!/bin/bash",
|
|
12
|
+
:switch_command => lambda { |version| "rbenv local #{version}" }
|
|
13
|
+
},
|
|
14
|
+
:rvm => {
|
|
15
|
+
:env => "#!/bin/bash --login",
|
|
16
|
+
:switch_command => lambda { |version| "rvm use --default #{version}" }
|
|
17
|
+
}
|
|
40
18
|
}.freeze
|
|
41
19
|
|
|
42
|
-
namespace :
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
20
|
+
namespace :build_matrix do
|
|
21
|
+
namespace :travis do
|
|
22
|
+
task :generate do
|
|
23
|
+
yaml = YAML.load_file("build_matrix.yml")
|
|
24
|
+
matrix = yaml["matrix"]
|
|
25
|
+
defaults = matrix["defaults"]
|
|
26
|
+
|
|
27
|
+
builds = []
|
|
28
|
+
matrix["ruby"].each do |ruby|
|
|
29
|
+
ruby_version = ruby["ruby"]
|
|
30
|
+
gemset_for_ruby(ruby, matrix).each do |gem|
|
|
31
|
+
next if excluded_for_ruby?(gem, ruby)
|
|
32
|
+
|
|
33
|
+
env = ""
|
|
34
|
+
rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
|
|
35
|
+
env = "_RUBYGEMS_VERSION=#{rubygems}" if rubygems
|
|
36
|
+
bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
|
|
37
|
+
env += " _BUNDLER_VERSION=#{bundler}" if bundler
|
|
38
|
+
|
|
39
|
+
builds << {
|
|
40
|
+
"rvm" => ruby_version,
|
|
41
|
+
"gemfile" => "gemfiles/#{gem["gem"]}.gemfile",
|
|
42
|
+
"env" => env
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
travis = yaml["travis"]
|
|
47
|
+
travis["matrix"]["include"] = travis["matrix"]["include"] + builds
|
|
48
|
+
|
|
49
|
+
header = "# DO NOT EDIT\n" \
|
|
50
|
+
"# This is a generated file by the `rake build_matrix:travis:generate` task.\n" \
|
|
51
|
+
"# See `build_matrix.yml` for the build matrix.\n" \
|
|
52
|
+
"# Generate this file with `rake build_matrix:travis:generate`.\n"
|
|
53
|
+
generated_yaml = header + YAML.dump(travis)
|
|
54
|
+
File.write(".travis.yml", generated_yaml)
|
|
55
|
+
puts "Generated `.travis.yml`"
|
|
56
|
+
puts "Build count: #{builds.length}"
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
task :validate => :generate do
|
|
60
|
+
`git status | grep .travis.yml 2>&1`
|
|
61
|
+
if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
|
|
62
|
+
puts "The `.travis.yml` is modified. The changes were not committed."
|
|
63
|
+
puts "Please run `rake build_matrix:travis:generate` and commit the changes."
|
|
64
|
+
exit 1
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
namespace :local do
|
|
70
|
+
task :generate do
|
|
71
|
+
yaml = YAML.load_file("build_matrix.yml")
|
|
72
|
+
matrix = yaml["matrix"]
|
|
73
|
+
defaults = matrix["defaults"]
|
|
74
|
+
|
|
75
|
+
VERSION_MANAGERS.each do |version_manager, config|
|
|
76
|
+
out = []
|
|
77
|
+
out << config[:env]
|
|
78
|
+
out << "rm -f .ruby-version"
|
|
79
|
+
out << "echo 'Using #{version_manager}'"
|
|
80
|
+
matrix["ruby"].each do |ruby|
|
|
81
|
+
ruby_version = ruby["ruby"]
|
|
82
|
+
out << "echo 'Switching to #{ruby_version}'"
|
|
83
|
+
out << "#{config[:switch_command].call(ruby_version)} || { echo 'Switching Ruby failed'; exit 1; }"
|
|
84
|
+
out << "ruby -v"
|
|
85
|
+
out << "echo 'Compiling extension'"
|
|
86
|
+
out << "./support/bundler_wrapper exec rake extension:install"
|
|
87
|
+
out << "rm -f gemfiles/*.gemfile.lock"
|
|
88
|
+
gemset_for_ruby(ruby, matrix).each do |gem|
|
|
89
|
+
next if excluded_for_ruby?(gem, ruby)
|
|
90
|
+
gemfile = gem["gem"]
|
|
91
|
+
out << "echo 'Bundling #{gemfile} in #{ruby_version}'"
|
|
92
|
+
rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
|
|
93
|
+
rubygems_version = "env _RUBYGEMS_VERSION=#{rubygems_version}" if rubygems
|
|
94
|
+
bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
|
|
95
|
+
bundler_version = "env _BUNDLER_VERSION=#{bundler}" if bundler
|
|
96
|
+
gemfile_env = "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile"
|
|
97
|
+
out << "#{bundler_version} #{rubygems_version} ./support/install_deps"
|
|
98
|
+
out << "#{bundler_version} #{gemfile_env} ./support/bundler_wrapper install --quiet || { echo 'Bundling failed'; exit 1; }"
|
|
99
|
+
out << "echo 'Running #{gemfile} in #{ruby_version}'"
|
|
100
|
+
out << "#{bundler_version} #{gemfile_env} ./support/bundler_wrapper exec rspec || { echo 'Running specs failed'; exit 1; }"
|
|
101
|
+
end
|
|
102
|
+
out << ""
|
|
103
|
+
end
|
|
104
|
+
out << "rm -f .ruby-version"
|
|
105
|
+
out << "echo 'Successfully ran specs for all environments'"
|
|
48
106
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if ruby["gems"]
|
|
54
|
-
# Only a specific gemset for this Ruby
|
|
55
|
-
selected_gems = matrix["gemsets"].fetch(ruby["gems"])
|
|
56
|
-
gems.select { |g| selected_gems.include?(g["gem"]) }
|
|
57
|
-
else
|
|
58
|
-
# All gems for this Ruby
|
|
59
|
-
gems
|
|
107
|
+
script = "bundle_and_spec_all_#{version_manager}"
|
|
108
|
+
FileUtils.rm_f(script)
|
|
109
|
+
File.open(script, "w") do |file|
|
|
110
|
+
file.write out.join("\n")
|
|
60
111
|
end
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
next if (gem.dig("exclude", "ruby") || []).include?(ruby_version)
|
|
64
|
-
|
|
65
|
-
env = ""
|
|
66
|
-
rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
|
|
67
|
-
env = "_RUBYGEMS_VERSION=#{rubygems}" if rubygems
|
|
68
|
-
bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
|
|
69
|
-
env += " _BUNDLER_VERSION=#{bundler}" if bundler
|
|
70
|
-
|
|
71
|
-
builds << {
|
|
72
|
-
"rvm" => ruby_version,
|
|
73
|
-
"gemfile" => "gemfiles/#{gem["gem"]}.gemfile",
|
|
74
|
-
"env" => env
|
|
75
|
-
}
|
|
112
|
+
File.chmod(0o775, script)
|
|
113
|
+
puts "Generated #{script}"
|
|
76
114
|
end
|
|
77
115
|
end
|
|
78
|
-
travis = yaml["travis"]
|
|
79
|
-
travis["matrix"]["include"] = travis["matrix"]["include"] + builds
|
|
80
|
-
|
|
81
|
-
header = "# DO NOT EDIT\n" \
|
|
82
|
-
"# This is a generated file by the `rake travis:generate` task.\n" \
|
|
83
|
-
"# See `build_matrix.yml` for the build matrix.\n" \
|
|
84
|
-
"# Generate this file with `rake travis:generate`.\n"
|
|
85
|
-
generated_yaml = header + YAML.dump(travis)
|
|
86
|
-
File.write(".travis.yml", generated_yaml)
|
|
87
|
-
puts "Generated `.travis.yml`"
|
|
88
|
-
puts "Build count: #{builds.length}"
|
|
89
116
|
end
|
|
90
117
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
118
|
+
def gemset_for_ruby(ruby, matrix)
|
|
119
|
+
gems = matrix["gems"]
|
|
120
|
+
if ruby["gems"]
|
|
121
|
+
# Only a specific gemset for this Ruby
|
|
122
|
+
selected_gems = matrix["gemsets"].fetch(ruby["gems"])
|
|
123
|
+
gems.select { |g| selected_gems.include?(g["gem"]) }
|
|
124
|
+
else
|
|
125
|
+
# All gems for this Ruby
|
|
126
|
+
gems
|
|
97
127
|
end
|
|
98
128
|
end
|
|
129
|
+
|
|
130
|
+
def excluded_for_ruby?(gem, ruby)
|
|
131
|
+
(gem.dig("exclude", "ruby") || []).include?(ruby["ruby"])
|
|
132
|
+
end
|
|
99
133
|
end
|
|
100
134
|
|
|
101
135
|
namespace :build do
|
|
@@ -180,7 +214,7 @@ namespace :publish do
|
|
|
180
214
|
Dir.chdir("#{File.dirname(__FILE__)}/pkg") do
|
|
181
215
|
Dir["*.gem"].each do |gem_package|
|
|
182
216
|
puts "## Publishing gem package: #{gem_package}"
|
|
183
|
-
|
|
217
|
+
system "gem push #{gem_package}"
|
|
184
218
|
end
|
|
185
219
|
end
|
|
186
220
|
end
|
|
@@ -234,44 +268,6 @@ task :spec_all_gemfiles do
|
|
|
234
268
|
end
|
|
235
269
|
end
|
|
236
270
|
|
|
237
|
-
task :generate_bundle_and_spec_all do
|
|
238
|
-
VERSION_MANAGERS.each do |version_manager, switch_command|
|
|
239
|
-
out = []
|
|
240
|
-
out << if version_manager == :rvm
|
|
241
|
-
"#!/bin/bash --login"
|
|
242
|
-
else
|
|
243
|
-
"#!/bin/sh"
|
|
244
|
-
end
|
|
245
|
-
out << "rm -f .ruby-version"
|
|
246
|
-
out << "echo 'Using #{version_manager}'"
|
|
247
|
-
RUBY_VERSIONS.each do |version|
|
|
248
|
-
short_version = version.split("-").first
|
|
249
|
-
out << "echo 'Switching to #{short_version}'"
|
|
250
|
-
out << "#{switch_command.call(version)} || { echo 'Switching Ruby failed'; exit 1; }"
|
|
251
|
-
out << "ruby -v"
|
|
252
|
-
out << "echo 'Compiling extension'"
|
|
253
|
-
out << "cd ext && rm -f appsignal-agent appsignal_extension.bundle appsignal.h libappsignal.a Makefile && ruby extconf.rb && make && cd .."
|
|
254
|
-
GEMFILES.each do |gemfile|
|
|
255
|
-
next if EXCLUSIONS[gemfile] && EXCLUSIONS[gemfile].include?(short_version)
|
|
256
|
-
out << "echo 'Bundling #{gemfile} in #{short_version}'"
|
|
257
|
-
out << "bundle --quiet --gemfile gemfiles/#{gemfile}.gemfile || { echo 'Bundling failed'; exit 1; }"
|
|
258
|
-
out << "echo 'Running #{gemfile} in #{short_version}'"
|
|
259
|
-
out << "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile bundle exec rspec || { echo 'Running specs failed'; exit 1; }"
|
|
260
|
-
end
|
|
261
|
-
end
|
|
262
|
-
out << "rm -f .ruby-version"
|
|
263
|
-
out << "echo 'Successfully ran specs for all environments'"
|
|
264
|
-
|
|
265
|
-
script = "bundle_and_spec_all_#{version_manager}"
|
|
266
|
-
FileUtils.rm_f(script)
|
|
267
|
-
File.open(script, "w") do |file|
|
|
268
|
-
file.write out.join("\n")
|
|
269
|
-
end
|
|
270
|
-
File.chmod(0o775, script)
|
|
271
|
-
puts "Generated #{script}"
|
|
272
|
-
end
|
|
273
|
-
end
|
|
274
|
-
|
|
275
271
|
task :console do
|
|
276
272
|
require "irb"
|
|
277
273
|
require "irb/completion"
|
data/SUPPORT.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Support
|
|
2
|
+
|
|
3
|
+
[Contact us][contact] and speak directly with the engineers working on
|
|
4
|
+
AppSignal. They will help you get set up, tweak your code and make sure you get
|
|
5
|
+
the most out of using AppSignal. You can also find our documentation at
|
|
6
|
+
[docs.appsignal.com](https://docs.appsignal.com/).
|
|
7
|
+
|
|
8
|
+
We do not recommend creating an issue on the Ruby gem's GitHub project if it
|
|
9
|
+
concerns your private app data. During the support process we'll need the
|
|
10
|
+
AppSignal logs and other resources that contain your app's private data,
|
|
11
|
+
something for which the public GitHub issue tracker is not suited.
|
|
12
|
+
|
|
13
|
+
Please contact us on our website [appsignal.com](https://appsignal.com/) or via
|
|
14
|
+
email at [support@appsignal.com][contact].
|
|
15
|
+
|
|
16
|
+
[contact]: mailto:support@appsignal.com
|
data/appsignal.gemspec
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
require File.expand_path("../lib/appsignal/version", __FILE__)
|
|
4
4
|
|
|
5
|
-
Gem::Specification.new do |gem|
|
|
5
|
+
Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
|
|
6
6
|
gem.authors = [
|
|
7
7
|
"Robert Beekman",
|
|
8
|
-
"Thijs Cadier"
|
|
8
|
+
"Thijs Cadier",
|
|
9
|
+
"Tom de Bruijn"
|
|
9
10
|
]
|
|
10
11
|
gem.email = ["support@appsignal.com"]
|
|
11
12
|
gem.description = "The official appsignal.com gem"
|
|
@@ -25,13 +26,22 @@ Gem::Specification.new do |gem|
|
|
|
25
26
|
# `Rakefile`.
|
|
26
27
|
gem.extensions = %w[ext/extconf.rb]
|
|
27
28
|
|
|
29
|
+
gem.metadata = {
|
|
30
|
+
"bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
|
|
31
|
+
"changelog_uri" =>
|
|
32
|
+
"https://github.com/appsignal/appsignal-ruby/blob/master/CHANGELOG.md",
|
|
33
|
+
"documentation_uri" => "https://docs.appsignal.com/ruby/",
|
|
34
|
+
"homepage_uri" => "https://docs.appsignal.com/ruby/",
|
|
35
|
+
"source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
|
|
36
|
+
}
|
|
37
|
+
|
|
28
38
|
gem.add_dependency "rack"
|
|
29
39
|
|
|
30
40
|
gem.add_development_dependency "rake", "~> 11"
|
|
31
|
-
gem.add_development_dependency "rspec", "~> 3.
|
|
41
|
+
gem.add_development_dependency "rspec", "~> 3.8"
|
|
32
42
|
gem.add_development_dependency "pry"
|
|
33
43
|
gem.add_development_dependency "timecop"
|
|
34
44
|
gem.add_development_dependency "webmock"
|
|
35
45
|
gem.add_development_dependency "rubocop", "0.50.0"
|
|
36
|
-
gem.add_development_dependency "yard"
|
|
46
|
+
gem.add_development_dependency "yard", ">= 0.9.20"
|
|
37
47
|
end
|
data/build_matrix.yml
CHANGED
|
@@ -9,17 +9,18 @@ travis: # Default `.travis.yml` contents
|
|
|
9
9
|
language: ruby
|
|
10
10
|
cache:
|
|
11
11
|
directories:
|
|
12
|
-
- vendor/
|
|
12
|
+
- "$TRAVIS_BUILD_DIR/vendor/cache"
|
|
13
13
|
|
|
14
14
|
env:
|
|
15
15
|
global:
|
|
16
|
+
- "BUNDLE_PATH=$TRAVIS_BUILD_DIR/vendor/cache"
|
|
16
17
|
- "RUNNING_IN_CI=true"
|
|
17
18
|
- "RAILS_ENV=test"
|
|
18
19
|
- "JRUBY_OPTS=''" # Workaround https://github.com/travis-ci/travis-ci/issues/6471
|
|
19
20
|
|
|
20
21
|
before_install:
|
|
21
22
|
- "./support/install_deps"
|
|
22
|
-
install: "./support/bundler_wrapper install --jobs=3 --retry=3"
|
|
23
|
+
install: "./support/bundler_wrapper install --jobs=3 --retry=3 --path=${BUNDLE_PATH:-$TRAVIS_BUILD_DIR/vendor/cache}"
|
|
23
24
|
before_script:
|
|
24
25
|
- "./support/bundler_wrapper exec rake extension:install"
|
|
25
26
|
script: "./support/bundler_wrapper exec rake test"
|
|
@@ -30,11 +31,11 @@ travis: # Default `.travis.yml` contents
|
|
|
30
31
|
matrix:
|
|
31
32
|
fast_finish: true
|
|
32
33
|
include: # Builds based on the matrix below are added to this list
|
|
33
|
-
- rvm: "2.6.
|
|
34
|
+
- rvm: "2.6.4"
|
|
34
35
|
gemfile: "gemfiles/no_dependencies.gemfile"
|
|
35
36
|
before_script: "" # Unset default: No need to install the extension
|
|
36
37
|
script:
|
|
37
|
-
- "./support/bundler_wrapper exec rake travis:validate"
|
|
38
|
+
- "./support/bundler_wrapper exec rake build_matrix:travis:validate"
|
|
38
39
|
- "./support/bundler_wrapper exec rubocop"
|
|
39
40
|
|
|
40
41
|
matrix:
|
|
@@ -47,7 +48,6 @@ matrix:
|
|
|
47
48
|
- "no_dependencies"
|
|
48
49
|
minimal:
|
|
49
50
|
- "no_dependencies"
|
|
50
|
-
- "rails-4.2"
|
|
51
51
|
- "rails-5.2"
|
|
52
52
|
|
|
53
53
|
ruby:
|
|
@@ -65,7 +65,7 @@ matrix:
|
|
|
65
65
|
gems: "none"
|
|
66
66
|
- ruby: "2.5.3"
|
|
67
67
|
gems: "minimal"
|
|
68
|
-
- ruby: "2.6.
|
|
68
|
+
- ruby: "2.6.4"
|
|
69
69
|
- ruby: "jruby-19mode"
|
|
70
70
|
gems: "minimal"
|
|
71
71
|
gems:
|
|
@@ -76,16 +76,20 @@ matrix:
|
|
|
76
76
|
- gem: "padrino"
|
|
77
77
|
bundler: "1.17.3"
|
|
78
78
|
- gem: "que"
|
|
79
|
+
- gem: "que_beta"
|
|
80
|
+
exclude:
|
|
81
|
+
ruby:
|
|
82
|
+
- "2.0.0"
|
|
79
83
|
- gem: "rails-3.2"
|
|
80
84
|
bundler: "1.17.3"
|
|
81
85
|
exclude:
|
|
82
86
|
ruby:
|
|
83
|
-
- "2.6.
|
|
87
|
+
- "2.6.4"
|
|
84
88
|
- gem: "rails-4.2"
|
|
85
89
|
bundler: "1.17.3"
|
|
86
90
|
exclude:
|
|
87
91
|
ruby:
|
|
88
|
-
- "2.6.
|
|
92
|
+
- "2.6.4"
|
|
89
93
|
- gem: "rails-5.0"
|
|
90
94
|
exclude:
|
|
91
95
|
ruby:
|
|
@@ -102,6 +106,10 @@ matrix:
|
|
|
102
106
|
exclude:
|
|
103
107
|
ruby:
|
|
104
108
|
- "2.0.0"
|
|
109
|
+
- "2.1.8"
|
|
110
|
+
- "2.2.4"
|
|
111
|
+
- "2.3.8"
|
|
112
|
+
- "2.4.5"
|
|
105
113
|
- gem: "resque"
|
|
106
114
|
bundler: "1.17.3"
|
|
107
115
|
- gem: "sequel"
|