elastic-apm 4.5.1 → 4.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/.exclude.yml +193 -0
  3. data/.ci/{.jenkins_framework.yml → .framework.yml} +3 -2
  4. data/.ci/.main_framework.yml +4 -0
  5. data/.ci/.ruby.yml +10 -0
  6. data/.ci/docker/jruby/11-jdk/Dockerfile +8 -3
  7. data/.ci/docker/jruby/12-jdk/Dockerfile +5 -2
  8. data/.ci/docker/jruby/13-jdk/Dockerfile +5 -2
  9. data/.ci/docker/jruby/7-jdk/Dockerfile +6 -3
  10. data/.ci/docker/jruby/8-jdk/Dockerfile +8 -3
  11. data/.ci/docker/jruby/README.md +1 -1
  12. data/.ci/docker/jruby/run.sh +33 -9
  13. data/.ci/docker/jruby/test.sh +17 -2
  14. data/.ci/scripts/bench.sh +52 -0
  15. data/.ci/scripts/install-build-system.sh +5 -0
  16. data/.ci/snapshoty.yml +33 -0
  17. data/.ci/updatecli.d/update-gherkin-specs.yml +126 -0
  18. data/.ci/updatecli.d/update-json-specs.yml +130 -0
  19. data/.ci/updatecli.d/update-specs.yml +118 -0
  20. data/.github/dependabot.yml +17 -1
  21. data/.github/workflows/README.md +58 -0
  22. data/.github/workflows/ci-docs.yml +20 -0
  23. data/.github/workflows/ci.yml +70 -0
  24. data/.github/workflows/coverage-reporter.yml +34 -0
  25. data/.github/workflows/microbenchmark.yml +48 -0
  26. data/.github/workflows/opentelemetry.yml +27 -0
  27. data/.github/workflows/release.yml +71 -0
  28. data/.github/workflows/run-matrix.yml +56 -0
  29. data/.github/workflows/snapshoty.yml +35 -0
  30. data/.github/workflows/test-reporter.yml +24 -0
  31. data/.github/workflows/updatecli.yml +28 -0
  32. data/.pre-commit-config.yaml +0 -2
  33. data/CHANGELOG.asciidoc +73 -1
  34. data/CONTRIBUTING.md +1 -1
  35. data/Gemfile +28 -8
  36. data/README.md +1 -1
  37. data/Rakefile +2 -2
  38. data/bench/report.rb +1 -1
  39. data/bench/rubyprof.rb +1 -0
  40. data/bin/run-tests +10 -1
  41. data/docker-compose.yml +10 -1
  42. data/docs/configuration.asciidoc +12 -9
  43. data/docs/index.asciidoc +2 -2
  44. data/docs/{log-correlation.asciidoc → logs.asciidoc} +29 -2
  45. data/docs/opentracing.asciidoc +1 -1
  46. data/docs/redirects.asciidoc +9 -0
  47. data/elastic-apm.gemspec +3 -2
  48. data/lib/elastic_apm/central_config.rb +5 -0
  49. data/lib/elastic_apm/config/server_info.rb +50 -0
  50. data/lib/elastic_apm/config.rb +25 -4
  51. data/lib/elastic_apm/context_builder.rb +6 -3
  52. data/lib/elastic_apm/error.rb +2 -1
  53. data/lib/elastic_apm/error_builder.rb +1 -0
  54. data/lib/elastic_apm/instrumenter.rb +4 -2
  55. data/lib/elastic_apm/metadata/cloud_info.rb +9 -7
  56. data/lib/elastic_apm/metadata/system_info/container_info.rb +4 -3
  57. data/lib/elastic_apm/metadata/system_info.rb +1 -1
  58. data/lib/elastic_apm/metrics.rb +24 -20
  59. data/lib/elastic_apm/span/context/links.rb +32 -0
  60. data/lib/elastic_apm/span/context/service.rb +55 -0
  61. data/lib/elastic_apm/span/context.rb +19 -3
  62. data/lib/elastic_apm/span.rb +3 -0
  63. data/lib/elastic_apm/span_helpers.rb +8 -8
  64. data/lib/elastic_apm/spies/action_dispatch.rb +11 -3
  65. data/lib/elastic_apm/spies/faraday.rb +20 -4
  66. data/lib/elastic_apm/spies/racecar.rb +77 -0
  67. data/lib/elastic_apm/spies/redis.rb +1 -1
  68. data/lib/elastic_apm/spies/sequel.rb +9 -0
  69. data/lib/elastic_apm/spies/sqs.rb +1 -0
  70. data/lib/elastic_apm/trace_context/tracestate.rb +4 -2
  71. data/lib/elastic_apm/trace_context.rb +1 -1
  72. data/lib/elastic_apm/transport/connection/http.rb +9 -3
  73. data/lib/elastic_apm/transport/serializers/span_serializer.rb +25 -0
  74. data/lib/elastic_apm/version.rb +1 -1
  75. data/lib/elastic_apm.rb +1 -0
  76. metadata +46 -17
  77. data/.ci/.jenkins_exclude.yml +0 -134
  78. data/.ci/.jenkins_main_framework.yml +0 -4
  79. data/.ci/.jenkins_ruby.yml +0 -10
  80. data/.ci/Jenkinsfile +0 -441
  81. data/.ci/jobs/apm-agent-ruby-downstream.yml +0 -38
  82. data/.ci/jobs/apm-agent-ruby-linting-mbp.yml +0 -39
  83. data/.ci/jobs/apm-agent-ruby-mbp.yml +0 -43
  84. data/.ci/jobs/apm-agent-ruby.yml +0 -4
  85. data/.ci/jobs/defaults.yml +0 -24
  86. data/.ci/linting.groovy +0 -32
  87. data/.ci/packer_cache.sh +0 -16
  88. /data/.ci/{.jenkins_codecov.yml → .codecov.yml} +0 -0
@@ -0,0 +1,77 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ begin
19
+ require 'active_support/notifications'
20
+ require 'active_support/subscriber'
21
+
22
+ # frozen_string_literal: true
23
+ module ElasticAPM
24
+ # @api private
25
+ module Spies
26
+ # @api private
27
+ class RacecarSpy
28
+ TYPE = 'kafka'
29
+ SUBTYPE = 'racecar'
30
+
31
+ # @api private
32
+ class ConsumerSubscriber < ActiveSupport::Subscriber
33
+ def start_process_message(event)
34
+ start_process_transaction(event: event, kind: 'process_message')
35
+ end
36
+ def process_message(_event)
37
+ ElasticAPM.end_transaction
38
+ end
39
+
40
+ def start_process_batch(event)
41
+ start_process_transaction(event: event, kind: 'process_batch')
42
+ end
43
+ def process_batch(_event)
44
+ ElasticAPM.end_transaction
45
+ end
46
+
47
+ private # only public methods will be subscribed
48
+
49
+ def start_process_transaction(event:, kind:)
50
+ ElasticAPM.start_transaction(kind, TYPE)
51
+ ElasticAPM.current_transaction.context.set_service(framework_name: 'racecar', framework_version: Racecar::VERSION)
52
+ end
53
+ end
54
+
55
+ class ProducerSubscriber < ActiveSupport::Subscriber
56
+ def start_deliver_message(event)
57
+ ElasticAPM.start_transaction('deliver_message',TYPE)
58
+ ElasticAPM.current_transaction.context.set_service(framework_name: 'racecar', framework_version: Racecar::VERSION)
59
+ end
60
+
61
+ def deliver_message(_event)
62
+ ElasticAPM.end_transaction
63
+ end
64
+ end
65
+
66
+ def install
67
+ ConsumerSubscriber.attach_to(:racecar)
68
+ ProducerSubscriber.attach_to(:racecar)
69
+ end
70
+ end
71
+ register 'Racecar', 'racecar', RacecarSpy.new
72
+ end
73
+ end
74
+
75
+ rescue LoadError
76
+ # no active support available
77
+ end
@@ -25,7 +25,7 @@ module ElasticAPM
25
25
  # @api private
26
26
  module Ext
27
27
  def call(command, &block)
28
- name = command[0].upcase
28
+ name = command[0].to_s.upcase
29
29
 
30
30
  return super(command, &block) if command[0] == :auth
31
31
 
@@ -44,8 +44,17 @@ module ElasticAPM
44
44
  name =
45
45
  ElasticAPM::Spies::SequelSpy.summarizer.summarize sql
46
46
 
47
+ db_name = ''
48
+ # postgresql shows current database
49
+ db_name = connection&.db.to_s if connection.respond_to?(:db)
50
+ # sqlite may expose a filename
51
+ db_name = connection&.filename.to_s if db_name == '' && connection.respond_to?(:filename)
52
+ # fall back to adapter class name
53
+ db_name = connection.class.to_s if db_name == ''
54
+
47
55
  context = ElasticAPM::Span::Context.new(
48
56
  db: { statement: sql, type: 'sql', user: opts[:user] },
57
+ service: {target: {type: subtype, name: db_name }},
49
58
  destination: { service: { resource: subtype } }
50
59
  )
51
60
 
@@ -56,6 +56,7 @@ module ElasticAPM
56
56
  service: { resource: "#{SUBTYPE}/#{queue_name}" },
57
57
  cloud: { region: region }
58
58
  }
59
+ # span links added here?
59
60
  )
60
61
  end
61
62
 
@@ -92,6 +92,8 @@ module ElasticAPM
92
92
 
93
93
  extend Forwardable
94
94
 
95
+ ENTRY_SPLIT_REGEX = /\s*[\n,]+\s*/
96
+
95
97
  def initialize(entries: {}, sample_rate: nil)
96
98
  @entries = entries
97
99
 
@@ -107,7 +109,7 @@ module ElasticAPM
107
109
  split_by_nl_and_comma(header)
108
110
  .each_with_object({}) do |entry, hsh|
109
111
  k, v = entry.split('=')
110
-
112
+ next unless k && v && !k.empty? && !v.empty?
111
113
  hsh[k] =
112
114
  case k
113
115
  when 'es' then EsEntry.new(v)
@@ -140,7 +142,7 @@ module ElasticAPM
140
142
  # Rack handles this by joining the headers under the same key,
141
143
  # separated by newlines.
142
144
  # See https://www.rubydoc.info/github/rack/rack/file/SPEC
143
- String(str).split("\n").map { |s| s.split(',') }.flatten
145
+ String(str).split(ENTRY_SPLIT_REGEX).flatten
144
146
  end
145
147
  end
146
148
  end
@@ -96,7 +96,7 @@ module ElasticAPM
96
96
  def apply_headers
97
97
  yield 'Traceparent', traceparent.to_header
98
98
 
99
- if tracestate
99
+ if tracestate && !tracestate.to_header.empty?
100
100
  yield 'Tracestate', tracestate.to_header
101
101
  end
102
102
 
@@ -75,7 +75,15 @@ module ElasticAPM
75
75
  @closed.make_true
76
76
 
77
77
  @wr&.close
78
- return if @request.nil? || @request&.join(5)
78
+
79
+ if @request&.join(5)
80
+ @rd&.close
81
+ return
82
+ end
83
+
84
+ @rd&.close
85
+
86
+ return if @request.nil?
79
87
 
80
88
  error(
81
89
  '%s: APM Server not responding in time, terminating request',
@@ -117,8 +125,6 @@ module ElasticAPM
117
125
  error(
118
126
  "Couldn't establish connection to APM Server:\n%p", e.inspect
119
127
  )
120
- ensure
121
- @rd&.close
122
128
  end
123
129
  end
124
130
  end
@@ -69,6 +69,14 @@ module ElasticAPM
69
69
  base[:message] = build_message(context.message)
70
70
  end
71
71
 
72
+ if context.service
73
+ base[:service] = build_service(context.service)
74
+ end
75
+
76
+ if context.links && !context.links.empty?
77
+ base[:links] = build_links(context.links)
78
+ end
79
+
72
80
  base
73
81
  end
74
82
 
@@ -121,6 +129,23 @@ module ElasticAPM
121
129
  }
122
130
  }
123
131
  end
132
+
133
+ def build_service(service)
134
+ {
135
+ target: {
136
+ name: keyword_field(service.target&.name),
137
+ type: keyword_field(service.target&.type)
138
+ }
139
+ }
140
+ end
141
+
142
+ def build_links(links)
143
+ {
144
+ links: links.map do |link|
145
+ {"trace_id" => link.trace_id, "span_id" => link.span_id}
146
+ end
147
+ }
148
+ end
124
149
  end
125
150
 
126
151
  private
@@ -18,5 +18,5 @@
18
18
  # frozen_string_literal: true
19
19
 
20
20
  module ElasticAPM
21
- VERSION = '4.5.1'
21
+ VERSION = '4.7.2'
22
22
  end
data/lib/elastic_apm.rb CHANGED
@@ -26,6 +26,7 @@ require 'logger'
26
26
  require 'concurrent'
27
27
  require 'forwardable'
28
28
  require 'securerandom'
29
+ require 'ruby2_keywords'
29
30
 
30
31
  require 'elastic_apm/version'
31
32
  require 'elastic_apm/internal_error'
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic-apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.1
4
+ version: 4.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikkel Malmberg
8
+ - Emily Stolfo
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2022-05-17 00:00:00.000000000 Z
12
+ date: 2024-01-23 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: concurrent-ruby
@@ -38,19 +39,32 @@ dependencies:
38
39
  - - ">="
39
40
  - !ruby/object:Gem::Version
40
41
  version: '3.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: ruby2_keywords
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
41
56
  description:
42
57
  email:
43
- - mikkel@elastic.co
58
+ - info@elastic.co
44
59
  executables: []
45
60
  extensions: []
46
61
  extra_rdoc_files: []
47
62
  files:
48
- - ".ci/.jenkins_codecov.yml"
49
- - ".ci/.jenkins_exclude.yml"
50
- - ".ci/.jenkins_framework.yml"
51
- - ".ci/.jenkins_main_framework.yml"
52
- - ".ci/.jenkins_ruby.yml"
53
- - ".ci/Jenkinsfile"
63
+ - ".ci/.codecov.yml"
64
+ - ".ci/.exclude.yml"
65
+ - ".ci/.framework.yml"
66
+ - ".ci/.main_framework.yml"
67
+ - ".ci/.ruby.yml"
54
68
  - ".ci/docker/jruby/11-jdk/Dockerfile"
55
69
  - ".ci/docker/jruby/12-jdk/Dockerfile"
56
70
  - ".ci/docker/jruby/13-jdk/Dockerfile"
@@ -59,20 +73,30 @@ files:
59
73
  - ".ci/docker/jruby/README.md"
60
74
  - ".ci/docker/jruby/run.sh"
61
75
  - ".ci/docker/jruby/test.sh"
62
- - ".ci/jobs/apm-agent-ruby-downstream.yml"
63
- - ".ci/jobs/apm-agent-ruby-linting-mbp.yml"
64
- - ".ci/jobs/apm-agent-ruby-mbp.yml"
65
- - ".ci/jobs/apm-agent-ruby.yml"
66
- - ".ci/jobs/defaults.yml"
67
- - ".ci/linting.groovy"
68
- - ".ci/packer_cache.sh"
76
+ - ".ci/scripts/bench.sh"
77
+ - ".ci/scripts/install-build-system.sh"
78
+ - ".ci/snapshoty.yml"
79
+ - ".ci/updatecli.d/update-gherkin-specs.yml"
80
+ - ".ci/updatecli.d/update-json-specs.yml"
81
+ - ".ci/updatecli.d/update-specs.yml"
69
82
  - ".github/ISSUE_TEMPLATE/Bug_report.md"
70
83
  - ".github/ISSUE_TEMPLATE/Feature_request.md"
71
84
  - ".github/PULL_REQUEST_TEMPLATE.md"
72
85
  - ".github/dependabot.yml"
73
86
  - ".github/labeler-config.yml"
87
+ - ".github/workflows/README.md"
74
88
  - ".github/workflows/addToProject.yml"
89
+ - ".github/workflows/ci-docs.yml"
90
+ - ".github/workflows/ci.yml"
91
+ - ".github/workflows/coverage-reporter.yml"
75
92
  - ".github/workflows/labeler.yml"
93
+ - ".github/workflows/microbenchmark.yml"
94
+ - ".github/workflows/opentelemetry.yml"
95
+ - ".github/workflows/release.yml"
96
+ - ".github/workflows/run-matrix.yml"
97
+ - ".github/workflows/snapshoty.yml"
98
+ - ".github/workflows/test-reporter.yml"
99
+ - ".github/workflows/updatecli.yml"
76
100
  - ".gitignore"
77
101
  - ".pre-commit-config.yaml"
78
102
  - ".rspec"
@@ -114,10 +138,11 @@ files:
114
138
  - docs/images/dynamic-config.svg
115
139
  - docs/index.asciidoc
116
140
  - docs/introduction.asciidoc
117
- - docs/log-correlation.asciidoc
141
+ - docs/logs.asciidoc
118
142
  - docs/metrics.asciidoc
119
143
  - docs/opentracing.asciidoc
120
144
  - docs/performance-tuning.asciidoc
145
+ - docs/redirects.asciidoc
121
146
  - docs/release-notes.asciidoc
122
147
  - docs/set-up.asciidoc
123
148
  - docs/supported-technologies.asciidoc
@@ -136,6 +161,7 @@ files:
136
161
  - lib/elastic_apm/config/options.rb
137
162
  - lib/elastic_apm/config/regexp_list.rb
138
163
  - lib/elastic_apm/config/round_float.rb
164
+ - lib/elastic_apm/config/server_info.rb
139
165
  - lib/elastic_apm/config/wildcard_pattern_list.rb
140
166
  - lib/elastic_apm/context.rb
141
167
  - lib/elastic_apm/context/request.rb
@@ -192,7 +218,9 @@ files:
192
218
  - lib/elastic_apm/span/context/db.rb
193
219
  - lib/elastic_apm/span/context/destination.rb
194
220
  - lib/elastic_apm/span/context/http.rb
221
+ - lib/elastic_apm/span/context/links.rb
195
222
  - lib/elastic_apm/span/context/message.rb
223
+ - lib/elastic_apm/span/context/service.rb
196
224
  - lib/elastic_apm/span_helpers.rb
197
225
  - lib/elastic_apm/spies.rb
198
226
  - lib/elastic_apm/spies/action_dispatch.rb
@@ -205,6 +233,7 @@ files:
205
233
  - lib/elastic_apm/spies/json.rb
206
234
  - lib/elastic_apm/spies/mongo.rb
207
235
  - lib/elastic_apm/spies/net_http.rb
236
+ - lib/elastic_apm/spies/racecar.rb
208
237
  - lib/elastic_apm/spies/rake.rb
209
238
  - lib/elastic_apm/spies/redis.rb
210
239
  - lib/elastic_apm/spies/resque.rb
@@ -1,134 +0,0 @@
1
- exclude:
2
- # Ruby 2.4
3
- # Only includes rails-5.2, sinatra-2.0
4
- - RUBY_VERSION: ruby:2.4
5
- FRAMEWORK: rails-6.1
6
- - RUBY_VERSION: ruby:2.4
7
- FRAMEWORK: rails-6.0
8
- - RUBY_VERSION: ruby:2.4
9
- FRAMEWORK: rails-4.2
10
- - RUBY_VERSION: ruby:2.4
11
- FRAMEWORK: sinatra-1.4
12
- - RUBY_VERSION: ruby:2.4
13
- FRAMEWORK: grape-1.6
14
- - RUBY_VERSION: ruby:2.4
15
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.0
16
- - RUBY_VERSION: ruby:2.4
17
- FRAMEWORK: rails-main
18
- - RUBY_VERSION: ruby:2.4
19
- FRAMEWORK: sinatra-master
20
- - RUBY_VERSION: ruby:2.4
21
- FRAMEWORK: grape-master
22
-
23
- # rails-4.2 exclusions
24
- # Only test on ruby 2.6, 2.5, 2.4, 2.3
25
- - RUBY_VERSION: ruby:3.0
26
- FRAMEWORK: rails-4.2
27
- - RUBY_VERSION: ruby:2.7
28
- FRAMEWORK: rails-4.2
29
- - RUBY_VERSION: jruby:9.2
30
- FRAMEWORK: rails-4.2
31
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
32
- FRAMEWORK: rails-4.2
33
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
34
- FRAMEWORK: rails-4.2
35
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
36
- FRAMEWORK: rails-4.2
37
- # sinatra-1.4 exclusions
38
- - RUBY_VERSION: ruby:3.0
39
- FRAMEWORK: sinatra-1.4
40
- - RUBY_VERSION: ruby:2.7
41
- FRAMEWORK: sinatra-1.4
42
- - RUBY_VERSION: jruby:9.2
43
- FRAMEWORK: sinatra-1.4
44
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
45
- FRAMEWORK: sinatra-1.4
46
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
47
- FRAMEWORK: sinatra-1.4
48
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
49
- FRAMEWORK: sinatra-1.4
50
-
51
- # rails-6.0 and rails-6.1 exclusions
52
- # Don't test on ruby 2.4
53
- - RUBY_VERSION: ruby:2.4
54
- FRAMEWORK: rails-6.1
55
- - RUBY_VERSION: ruby:2.4
56
- FRAMEWORK: rails-6.0
57
-
58
- # Only test rails master on ruby 2.7 and ruby 3.0
59
- - RUBY_VERSION: ruby:2.6
60
- FRAMEWORK: rails-main
61
- - RUBY_VERSION: ruby:2.5
62
- FRAMEWORK: rails-main
63
- - RUBY_VERSION: ruby:2.4
64
- FRAMEWORK: rails-main
65
- - RUBY_VERSION: jruby:9.2
66
- FRAMEWORK: rails-main
67
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
68
- FRAMEWORK: rails-main
69
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
70
- FRAMEWORK: rails-main
71
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
72
- FRAMEWORK: rails-main
73
-
74
- # Only test sinatra master on ruby 2.7 and ruby 3.0
75
- - RUBY_VERSION: ruby:2.6
76
- FRAMEWORK: sinatra-master
77
- - RUBY_VERSION: ruby:2.5
78
- FRAMEWORK: sinatra-master
79
- - RUBY_VERSION: ruby:2.4
80
- FRAMEWORK: sinatra-master
81
- - RUBY_VERSION: jruby:9.2
82
- FRAMEWORK: sinatra-master
83
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
84
- FRAMEWORK: sinatra-master
85
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
86
- FRAMEWORK: sinatra-master
87
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
88
- FRAMEWORK: sinatra-master
89
-
90
- # Only test grape master on ruby 2.7 and ruby 3.0
91
- - RUBY_VERSION: ruby:2.6
92
- FRAMEWORK: grape-master
93
- - RUBY_VERSION: ruby:2.5
94
- FRAMEWORK: grape-master
95
- - RUBY_VERSION: ruby:2.4
96
- FRAMEWORK: grape-master
97
- - RUBY_VERSION: jruby:9.2
98
- FRAMEWORK: grape-master
99
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
100
- FRAMEWORK: grape-master
101
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
102
- FRAMEWORK: grape-master
103
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
104
- FRAMEWORK: grape-master
105
-
106
- # grape 1.5 doesn't support ruby 3.0
107
- - RUBY_VERSION: ruby:3.0
108
- FRAMEWORK: grape-1.6
109
- - RUBY_VERSION: ruby:3.0
110
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
111
-
112
- # only test ruby 3.0 with rails 6.0 and rails 6.1
113
- - RUBY_VERSION: ruby:3.0
114
- FRAMEWORK: rails-5.2
115
- - RUBY_VERSION: ruby:3.0
116
- FRAMEWORK: rails-5.1
117
-
118
- # Unsupported
119
- - RUBY_VERSION: ruby:2.6
120
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
121
- - RUBY_VERSION: ruby:2.5
122
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
123
- - RUBY_VERSION: ruby:2.4
124
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
125
- - RUBY_VERSION: ruby:2.4
126
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
127
- - RUBY_VERSION: jruby:9.2
128
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
129
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
130
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
131
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
132
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
133
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
134
- FRAMEWORK: grape-1.6,sinatra-2.0,rails-6.1
@@ -1,4 +0,0 @@
1
- FRAMEWORK:
2
- - rails-main
3
- - sinatra-master
4
- - grape-master
@@ -1,10 +0,0 @@
1
- RUBY_VERSION:
2
- - ruby:3.0
3
- - ruby:2.7
4
- - ruby:2.6
5
- - ruby:2.5
6
- - ruby:2.4
7
- - jruby:9.2
8
- - docker.elastic.co/observability-ci/jruby:9.2-13-jdk
9
- - docker.elastic.co/observability-ci/jruby:9.2-11-jdk
10
- - docker.elastic.co/observability-ci/jruby:9.2-8-jdk