appsignal 3.0.9-java → 3.0.10-java

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.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # AppSignal for Ruby gem Changelog
2
2
 
3
+ ## 3.0.10
4
+
5
+ - [88f7d585](https://github.com/appsignal/appsignal-ruby/commit/88f7d5850f57777c98f56190dc35ff37eface542) patch - Bump agent to c2024bf with appsignal-agent diagnose timing issue fix when reading the report and improved filtering for HTTP request transmission logs.
6
+
3
7
  ## 3.0.9
4
8
 
5
9
  - [44dd4bdc](https://github.com/appsignal/appsignal-ruby/commit/44dd4bdc824ec88337b75791c1870358a4aa274f) patch - Check Rails.backtrace_cleaner method before calling the method. This prevents a NoMethodError from being raised in some edge cases.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # AppSignal for Ruby
1
+ # AppSignal apm for Ruby
2
2
 
3
3
  AppSignal solves all your Ruby monitoring needs in a single tool. You and your
4
4
  team can focus on writing code and we'll provide the alerts if your app has any
@@ -291,22 +291,22 @@ the most out of using AppSignal.
291
291
 
292
292
  Also see our [SUPPORT.md file](SUPPORT.md).
293
293
 
294
- [appsignal]: https://appsignal.com
294
+ [appsignal]: https://www.appsignal.com/ruby
295
295
  [appsignal-sign-up]: https://appsignal.com/users/sign_up
296
296
  [contact]: mailto:support@appsignal.com
297
297
  [coc]: https://docs.appsignal.com/appsignal/code-of-conduct.html
298
- [waffles-page]: https://appsignal.com/waffles
299
- [docs]: http://docs.appsignal.com
298
+ [waffles-page]: https://www.appsignal.com/waffles
299
+ [docs]: https://docs.appsignal.com
300
300
  [ruby-doc]: https://www.rubydoc.info/gems/appsignal
301
- [contributing-guide]: http://docs.appsignal.com/appsignal/contributing.html
302
- [supported-systems]: http://docs.appsignal.com/support/operating-systems.html
303
- [integrations]: http://docs.appsignal.com/ruby/integrations/index.html
304
- [custom-instrumentation]: http://docs.appsignal.com/ruby/instrumentation/
305
- [front-end-monitoring]: http://docs.appsignal.com/front-end/error-handling.html
306
- [exception-handling]: http://docs.appsignal.com/ruby/instrumentation/exception-handling.html
307
- [tagging]: http://docs.appsignal.com/ruby/instrumentation/tagging.html
308
- [host-metrics]: http://docs.appsignal.com/metrics/host.html
309
- [custom-metrics]: http://docs.appsignal.com/metrics/custom.html
301
+ [contributing-guide]: https://docs.appsignal.com/appsignal/contributing.html
302
+ [supported-systems]: https://docs.appsignal.com/support/operating-systems.html
303
+ [integrations]: https://docs.appsignal.com/ruby/integrations/index.html
304
+ [custom-instrumentation]: https://docs.appsignal.com/ruby/instrumentation/
305
+ [front-end-monitoring]: https://docs.appsignal.com/front-end/error-handling.html
306
+ [exception-handling]: https://docs.appsignal.com/ruby/instrumentation/exception-handling.html
307
+ [tagging]: https://docs.appsignal.com/ruby/instrumentation/tagging.html
308
+ [host-metrics]: https://docs.appsignal.com/metrics/host.html
309
+ [custom-metrics]: https://docs.appsignal.com/metrics/custom.html
310
310
 
311
311
  [semver]: http://semver.org/
312
312
  [rvm]: http://rvm.io/
data/Rakefile CHANGED
@@ -24,16 +24,17 @@ def env_map(key, value)
24
24
  }
25
25
  end
26
26
 
27
- def build_task(ruby_version, type = nil)
27
+ def build_task(matrix, ruby_version, type = nil)
28
28
  {
29
29
  "name" => "Ruby #{ruby_version}#{type ? " - #{type}" : nil}",
30
30
  "dependencies" => ["Validation"],
31
31
  "task" => {
32
- "prologue" => {
33
- "commands" => [
32
+ "prologue" => matrix["prologue"].merge(
33
+ "commands" => matrix["prologue"]["commands"] + [
34
34
  "./support/bundler_wrapper exec rake extension:install"
35
35
  ]
36
- },
36
+ ),
37
+ "epilogue" => matrix["epilogue"],
37
38
  "jobs" => []
38
39
  }
39
40
  }
@@ -54,14 +55,14 @@ namespace :build_matrix do
54
55
  builds = []
55
56
  matrix["ruby"].each do |ruby|
56
57
  ruby_version = ruby["ruby"]
57
- ruby_primary_block = build_task(ruby_version)
58
- ruby_secondary_block = build_task(ruby_version, "Gems").tap do |t|
58
+ ruby_primary_block = build_task(matrix, ruby_version)
59
+ ruby_secondary_block = build_task(matrix, ruby_version, "Gems").tap do |t|
59
60
  t["dependencies"] = ["Ruby #{ruby_version}"]
60
61
  end
61
62
  gemset_for_ruby(ruby, matrix).each do |gem|
62
63
  next if excluded_for_ruby?(gem, ruby)
63
64
 
64
- env = [
65
+ env = matrix["env_vars"] + [
65
66
  env_map("RUBY_VERSION", ruby_version),
66
67
  env_map("GEMSET", gem["gem"]),
67
68
  env_map("BUNDLE_GEMFILE", "gemfiles/#{gem["gem"]}.gemfile")
@@ -73,7 +74,7 @@ namespace :build_matrix do
73
74
 
74
75
  job = {
75
76
  "name" => "Ruby #{ruby_version} for #{gem["gem"]}",
76
- "env_vars" => env,
77
+ "env_vars" => env + ruby.fetch("env_vars", []),
77
78
  "commands" => [
78
79
  "./support/bundler_wrapper exec rake test",
79
80
  "./support/bundler_wrapper exec rake test:failure"
@@ -104,8 +105,8 @@ namespace :build_matrix do
104
105
  end
105
106
 
106
107
  task :validate => :generate do
107
- `git status | grep .semaphore/semaphore.yml 2>&1`
108
- if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
108
+ output = `git status`
109
+ if output.include? ".semaphore/semaphore.yml"
109
110
  puts "The `.semaphore/semaphore.yml` is modified. The changes were not committed."
110
111
  puts "Please run `rake build_matrix:semaphore:generate` and commit the changes."
111
112
  exit 1
data/build_matrix.yml CHANGED
@@ -11,49 +11,43 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
11
11
  auto_cancel:
12
12
  running:
13
13
  # Ignore main AND develop branch as we want it to build all workflows
14
- when: "branch != 'main' AND branch != 'develop'"
14
+ when: "branch != 'main' AND branch != 'develop' AND branch != 'diagnose-testing'"
15
15
 
16
16
  global_job_config:
17
17
  env_vars:
18
+ - name: RUNNING_IN_CI
19
+ value: "true"
18
20
  - name: _BUNDLER_CACHE
19
21
  value: "v2"
20
22
  - name: _GEMS_CACHE
21
23
  value: "v2"
22
- - name: BUNDLE_PATH
23
- value: "../.bundle/"
24
- - name: RUNNING_IN_CI
25
- value: "true"
26
- - name: RAILS_ENV
27
- value: "test"
28
- - name: JRUBY_OPTS
29
- value: ""
30
- - name: COV
31
- value: "1"
32
24
  prologue:
33
25
  commands:
34
26
  - checkout
35
27
  - rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
36
- - sem-version ruby $RUBY_VERSION
37
- - ./support/check_versions
38
- - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
39
- - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE)
40
- - ./support/install_deps
41
- - bundle config set clean 'true'
42
- - ./support/bundler_wrapper install --jobs=3 --retry=3
43
- epilogue:
44
- on_pass:
45
- commands:
46
- - cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE) .bundle
47
- - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE) $HOME/.gem
48
- on_fail:
49
- commands:
50
- - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report file found'"
51
- - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
28
+ - |
29
+ if [ -n "$_C_VERSION" ]; then
30
+ sem-version c $_C_VERSION
31
+ else
32
+ echo Skipping C-lang install
33
+ fi
34
+ - |
35
+ if [ -n "$RUBY_VERSION" ]; then
36
+ sem-version ruby $RUBY_VERSION
37
+ ./support/check_versions
38
+ else
39
+ echo Skipping Ruby install
40
+ fi
52
41
 
53
42
  blocks:
54
43
  - name: Validation
55
44
  dependencies: []
56
45
  task:
46
+ prologue:
47
+ commands:
48
+ - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
49
+ - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
50
+ - ./support/bundler_wrapper install --jobs=3 --retry=3
57
51
  jobs:
58
52
  - name: Validate CI setup
59
53
  env_vars:
@@ -62,12 +56,22 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
62
56
  - name: GEMSET
63
57
  value: no_dependencies
64
58
  - name: BUNDLE_GEMFILE
65
- value: gemfiles/no_dependencies.gemfile
59
+ value: Gemfile
66
60
  commands:
67
61
  - ./support/bundler_wrapper exec rake build_matrix:semaphore:validate
68
- - name: Linters
62
+ epilogue:
63
+ on_pass:
64
+ commands:
65
+ - cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE) .bundle
66
+ - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE) $HOME/.gem
67
+ - name: Ruby linters
69
68
  dependencies: []
70
69
  task:
70
+ prologue:
71
+ commands:
72
+ - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
73
+ - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
74
+ - ./support/bundler_wrapper install --jobs=3 --retry=3
71
75
  jobs:
72
76
  - name: RuboCop
73
77
  env_vars:
@@ -76,11 +80,79 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
76
80
  - name: GEMSET
77
81
  value: no_dependencies
78
82
  - name: BUNDLE_GEMFILE
79
- value: gemfiles/no_dependencies.gemfile
83
+ value: Gemfile
80
84
  commands:
81
85
  - ./support/bundler_wrapper exec rubocop
86
+ epilogue:
87
+ on_pass:
88
+ commands:
89
+ - cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE) .bundle
90
+ - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE) $HOME/.gem
91
+ - name: Other linters
92
+ dependencies: []
93
+ task:
94
+ jobs:
95
+ - name: Git Lint (Lintje)
96
+ env_vars:
97
+ - name: LINTJE_VERSION
98
+ value: 0.3.0
99
+ commands:
100
+ - script/install_lintje
101
+ - $HOME/bin/lintje $SEMAPHORE_GIT_COMMIT_RANGE
102
+ - name: Integration tests
103
+ dependencies:
104
+ - Validation
105
+ task:
106
+ prologue:
107
+ commands:
108
+ - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-diagnose-$(checksum Gemfile)
109
+ - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-diagnose-$(checksum Gemfile)
110
+ - ./support/bundler_wrapper install --jobs=3 --retry=3
111
+ - ./support/bundler_wrapper exec rake extension:install
112
+ - git submodule init
113
+ - git submodule update
114
+ jobs:
115
+ - name: Diagnose
116
+ env_vars:
117
+ - name: RUBY_VERSION
118
+ value: 2.6.6
119
+ - name: LANGUAGE
120
+ value: ruby
121
+ commands:
122
+ - spec/integration/diagnose/bin/test
123
+ epilogue:
124
+ on_pass:
125
+ commands:
126
+ - cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-diagnose-$(checksum Gemfile) .bundle
127
+ - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-diagnose-$(checksum Gemfile) $HOME/.gem
82
128
 
83
129
  matrix:
130
+ env_vars: # Shared for all jobs in the build matrix
131
+ - name: BUNDLE_PATH
132
+ value: "../.bundle/"
133
+ - name: RAILS_ENV
134
+ value: "test"
135
+ - name: JRUBY_OPTS
136
+ value: ""
137
+ - name: COV
138
+ value: "1"
139
+ prologue: # Shared for all jobs in the build matrix
140
+ commands:
141
+ - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
142
+ - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE)
143
+ - ./support/install_deps
144
+ - bundle config set clean 'true'
145
+ - ./support/bundler_wrapper install --jobs=3 --retry=3
146
+ epilogue: # Shared for all jobs in the build matrix
147
+ on_pass:
148
+ commands:
149
+ - cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE) .bundle
150
+ - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE) $HOME/.gem
151
+ on_fail:
152
+ commands:
153
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report file found'"
154
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
155
+
84
156
  defaults:
85
157
  rubygems: "latest"
86
158
  bundler: "latest"
@@ -119,8 +191,11 @@ matrix:
119
191
  - ruby: "2.6.6"
120
192
  - ruby: "2.7.3"
121
193
  - ruby: "3.0.1"
122
- - ruby: "jruby-9.1.17.0"
194
+ - ruby: "jruby-9.2.19.0"
123
195
  gems: "minimal"
196
+ env_vars:
197
+ - name: "_C_VERSION"
198
+ value: "8"
124
199
  gems:
125
200
  - gem: "no_dependencies"
126
201
  - gem: "capistrano2"
@@ -162,7 +237,6 @@ matrix:
162
237
  - "2.2.10"
163
238
  - "2.3.8"
164
239
  - "2.4.10"
165
- - "jruby-9.1.17.0"
166
240
  - gem: "resque-1"
167
241
  bundler: "1.17.3"
168
242
  exclude:
data/ext/agent.yml CHANGED
@@ -1,69 +1,69 @@
1
1
  ---
2
- version: 9f282f3
2
+ version: c2024bf
3
3
  mirrors:
4
4
  - https://appsignal-agent-releases.global.ssl.fastly.net
5
5
  - https://d135dj0rjqvssy.cloudfront.net
6
6
  triples:
7
7
  x86_64-darwin:
8
8
  static:
9
- checksum: c279d061ac04b53c8e2ea21b7714d4d54964495124ddc7e794ba998366f9c195
9
+ checksum: 4d705a05a9ebfcb5d592728f7ff002f939a89a63dca26c7db0c812a95f4c9902
10
10
  filename: appsignal-x86_64-darwin-all-static.tar.gz
11
11
  dynamic:
12
- checksum: 52284dd2e073e5252363f18f8668cf17d82befe65bfa4376f8d4f61f6e08ece9
12
+ checksum: 86686cd0da13d40a0b9b2b1df8531ab5443f49580b0cc6d68eb11dd43031137c
13
13
  filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
14
14
  universal-darwin:
15
15
  static:
16
- checksum: c279d061ac04b53c8e2ea21b7714d4d54964495124ddc7e794ba998366f9c195
16
+ checksum: 4d705a05a9ebfcb5d592728f7ff002f939a89a63dca26c7db0c812a95f4c9902
17
17
  filename: appsignal-x86_64-darwin-all-static.tar.gz
18
18
  dynamic:
19
- checksum: 52284dd2e073e5252363f18f8668cf17d82befe65bfa4376f8d4f61f6e08ece9
19
+ checksum: 86686cd0da13d40a0b9b2b1df8531ab5443f49580b0cc6d68eb11dd43031137c
20
20
  filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
21
21
  aarch64-linux:
22
22
  static:
23
- checksum: 3054b6e3bcab8c8959d4e87eb6fd9fc7a5821e0986c8e733154c2b76251c9e70
23
+ checksum: 41e48b23ad55b55e49ec5940458c6a76f1e646311c0cfe56c8b4533bc60d7d97
24
24
  filename: appsignal-aarch64-linux-all-static.tar.gz
25
25
  dynamic:
26
- checksum: 50f96493c1d81dbb0910581598e0d97a8567a3bc6b27a17dbb14d01c97bf7b7c
26
+ checksum: ea5ee757b2638c07f8132c2faa8339c2b79a88b8f690c1aa2bb1e0568a431d5a
27
27
  filename: appsignal-aarch64-linux-all-dynamic.tar.gz
28
28
  i686-linux:
29
29
  static:
30
- checksum: 30554989a59632cdaf8fdf5d15024b866d32930e91c080425955842e8078952b
30
+ checksum: 7b7f20576e77f8bd4e55e51804d5c60bf22bf1464ecf883b3fc43e8de5984f9b
31
31
  filename: appsignal-i686-linux-all-static.tar.gz
32
32
  dynamic:
33
- checksum: 437e24a97738995375c18559220fc30b6b9599cfc9339d5a410225e7fdfeb875
33
+ checksum: c99d95f7a957d4cfdaa5f64d4e20339f3d3bf5ec0795de693ff9acdcf9dc32ff
34
34
  filename: appsignal-i686-linux-all-dynamic.tar.gz
35
35
  x86-linux:
36
36
  static:
37
- checksum: 30554989a59632cdaf8fdf5d15024b866d32930e91c080425955842e8078952b
37
+ checksum: 7b7f20576e77f8bd4e55e51804d5c60bf22bf1464ecf883b3fc43e8de5984f9b
38
38
  filename: appsignal-i686-linux-all-static.tar.gz
39
39
  dynamic:
40
- checksum: 437e24a97738995375c18559220fc30b6b9599cfc9339d5a410225e7fdfeb875
40
+ checksum: c99d95f7a957d4cfdaa5f64d4e20339f3d3bf5ec0795de693ff9acdcf9dc32ff
41
41
  filename: appsignal-i686-linux-all-dynamic.tar.gz
42
42
  x86_64-linux:
43
43
  static:
44
- checksum: f11fa7ec493c3668e965ef4cff077d44fe55101197a5eeaf50ccacf7314eba2b
44
+ checksum: c738a4daa41c9f068986e495625f732c5494b1458d1ef8a5d58da34fe3911c7d
45
45
  filename: appsignal-x86_64-linux-all-static.tar.gz
46
46
  dynamic:
47
- checksum: bc7991b388eb541eddc26d8272738b4d9befa594f4b73a222b425e0ee7b6157d
47
+ checksum: 34c416ab54f9ca61e2c576e6f5cfd4aef01b408a7b0c3db2e36aab6219abc02d
48
48
  filename: appsignal-x86_64-linux-all-dynamic.tar.gz
49
49
  x86_64-linux-musl:
50
50
  static:
51
- checksum: 0dae02e77e244275b69bb8332e79bdcb0e0fa3b6b6f84744780ce0baffa9784f
51
+ checksum: e6834abfcf1a3a99301f3184705c1d79602d76c63712e089abd53f44c1734962
52
52
  filename: appsignal-x86_64-linux-musl-all-static.tar.gz
53
53
  dynamic:
54
- checksum: a56f3e3cb6e30e638f91f14ba69ae1b5086bb566dedb6f0c630be24834a8fd4f
54
+ checksum: 2b1002ef3d0be8b473db9fda91ad5f0ccd0742445d353e623757c2fae41d4bb0
55
55
  filename: appsignal-x86_64-linux-musl-all-dynamic.tar.gz
56
56
  x86_64-freebsd:
57
57
  static:
58
- checksum: d9146a04bbbb85dccf22c84cacfa924ee8b7e2ff8ed79402aba14ac4333e440f
58
+ checksum: decd1f7c7c8b8854bd9b32a993f5c2cea6076244f648bcfeccc063a608f7b5ea
59
59
  filename: appsignal-x86_64-freebsd-all-static.tar.gz
60
60
  dynamic:
61
- checksum: e231e106695160525e3f920e781c37f9d5875a3eacc18c38a0264c4b7f9c69bf
61
+ checksum: d81ae343e224cdf828887a60f8f10be2b1039f2fc2045e8335c57194a1796d35
62
62
  filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
63
63
  amd64-freebsd:
64
64
  static:
65
- checksum: d9146a04bbbb85dccf22c84cacfa924ee8b7e2ff8ed79402aba14ac4333e440f
65
+ checksum: decd1f7c7c8b8854bd9b32a993f5c2cea6076244f648bcfeccc063a608f7b5ea
66
66
  filename: appsignal-x86_64-freebsd-all-static.tar.gz
67
67
  dynamic:
68
- checksum: e231e106695160525e3f920e781c37f9d5875a3eacc18c38a0264c4b7f9c69bf
68
+ checksum: d81ae343e224cdf828887a60f8f10be2b1039f2fc2045e8335c57194a1796d35
69
69
  filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
@@ -105,7 +105,6 @@ module Appsignal
105
105
  paths_report = Paths.new
106
106
  data[:paths] = paths_report.report
107
107
  print_paths_section(paths_report)
108
- print_empty_line
109
108
 
110
109
  transmit_report_to_appsignal if send_report_to_appsignal?(options)
111
110
  end
@@ -327,6 +326,7 @@ module Appsignal
327
326
  puts "AppSignal library"
328
327
  data_section :library do
329
328
  save :language, "ruby"
329
+ puts_value "Language", "Ruby"
330
330
  puts_and_save :package_version, "Gem version", Appsignal::VERSION
331
331
  puts_and_save :agent_version, "Agent version", Appsignal::Extension.agent_version
332
332
  puts_and_save :extension_loaded, "Extension loaded", Appsignal.extension_loaded
@@ -574,9 +574,13 @@ module Appsignal
574
574
  "(file: #{ownership[:user]}:#{ownership[:uid]}, " \
575
575
  "process: #{process_user[:user]}:#{process_user[:uid]})"
576
576
  puts_value "Ownership?", owner, :level => 2
577
- return unless path.key?(:content)
578
- puts " Contents (last 10 lines):"
579
- puts path[:content].last(10)
577
+
578
+ if path.key?(:content)
579
+ puts " Contents (last 10 lines):"
580
+ puts path[:content].last(10)
581
+ else
582
+ print_empty_line
583
+ end
580
584
  end
581
585
 
582
586
  def print_empty_line
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appsignal
4
- VERSION = "3.0.9".freeze
4
+ VERSION = "3.0.10".freeze
5
5
  end
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ set -eu
4
+
5
+ mkdir -p $HOME/bin
6
+ cache_key=v1-lintje-$LINTJE_VERSION
7
+ cache restore $cache_key
8
+
9
+ # File exists and is executable
10
+ if [ -x "$HOME/bin/lintje" ]; then
11
+ echo "Restored Lintje $LINTJE_VERSION from cache"
12
+ else
13
+ echo "Downloading Lintje $LINTJE_VERSION"
14
+ curl -L \
15
+ https://github.com/tombruijn/lintje/releases/download/v$LINTJE_VERSION/x86_64-unknown-linux-gnu.tar.gz | \
16
+ tar -xz --directory $HOME/bin
17
+ cache store $cache_key $HOME/bin/lintje
18
+ fi