elastic-apm 4.6.1 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.ci/.exclude.yml +193 -0
  3. data/.ci/.main_framework.yml +4 -0
  4. data/.ci/.ruby.yml +10 -0
  5. data/.ci/docker/jruby/11-jdk/Dockerfile +5 -3
  6. data/.ci/docker/jruby/12-jdk/Dockerfile +2 -2
  7. data/.ci/docker/jruby/13-jdk/Dockerfile +2 -2
  8. data/.ci/docker/jruby/7-jdk/Dockerfile +3 -3
  9. data/.ci/docker/jruby/8-jdk/Dockerfile +5 -3
  10. data/.ci/docker/jruby/README.md +1 -1
  11. data/.ci/docker/jruby/run.sh +33 -9
  12. data/.ci/docker/jruby/test.sh +17 -2
  13. data/.ci/scripts/bench.sh +52 -0
  14. data/.ci/scripts/install-build-system.sh +5 -0
  15. data/.ci/snapshoty.yml +2 -3
  16. data/.ci/updatecli.d/update-gherkin-specs.yml +117 -0
  17. data/.ci/updatecli.d/update-json-specs.yml +121 -0
  18. data/.github/workflows/ci-docs.yml +20 -0
  19. data/.github/workflows/ci.yml +70 -0
  20. data/.github/workflows/coverage-reporter.yml +34 -0
  21. data/.github/workflows/microbenchmark.yml +48 -0
  22. data/.github/workflows/opentelemetry.yml +27 -0
  23. data/.github/workflows/release.yml +71 -0
  24. data/.github/workflows/run-matrix.yml +56 -0
  25. data/.github/workflows/snapshoty.yml +35 -0
  26. data/.github/workflows/test-reporter.yml +24 -0
  27. data/.github/workflows/{update-specs.yml → updatecli.yml} +2 -4
  28. data/.pre-commit-config.yaml +0 -2
  29. data/CHANGELOG.asciidoc +19 -1
  30. data/CONTRIBUTING.md +1 -1
  31. data/Gemfile +6 -2
  32. data/README.md +1 -1
  33. data/Rakefile +2 -2
  34. data/bench/rubyprof.rb +1 -0
  35. data/bin/run-tests +10 -1
  36. data/docker-compose.yml +4 -1
  37. data/docs/configuration.asciidoc +6 -5
  38. data/docs/index.asciidoc +2 -2
  39. data/docs/{log-correlation.asciidoc → logs.asciidoc} +29 -2
  40. data/docs/opentracing.asciidoc +1 -1
  41. data/docs/redirects.asciidoc +9 -0
  42. data/lib/elastic_apm/context_builder.rb +3 -3
  43. data/lib/elastic_apm/metrics.rb +24 -20
  44. data/lib/elastic_apm/span_helpers.rb +6 -6
  45. data/lib/elastic_apm/spies/faraday.rb +13 -27
  46. data/lib/elastic_apm/version.rb +1 -1
  47. metadata +24 -19
  48. data/.ci/.jenkins_exclude.yml +0 -191
  49. data/.ci/.jenkins_main_framework.yml +0 -4
  50. data/.ci/.jenkins_ruby.yml +0 -10
  51. data/.ci/.jenkins_ruby_benchmarks.yml +0 -6
  52. data/.ci/Jenkinsfile +0 -450
  53. data/.ci/jobs/apm-agent-ruby-downstream.yml +0 -38
  54. data/.ci/jobs/apm-agent-ruby-linting-mbp.yml +0 -39
  55. data/.ci/jobs/apm-agent-ruby-mbp.yml +0 -43
  56. data/.ci/jobs/apm-agent-ruby.yml +0 -4
  57. data/.ci/jobs/defaults.yml +0 -24
  58. data/.ci/linting.groovy +0 -32
  59. data/.ci/packer_cache.sh +0 -16
  60. /data/.ci/{.jenkins_codecov.yml → .codecov.yml} +0 -0
  61. /data/.ci/{.jenkins_framework.yml → .framework.yml} +0 -0
  62. /data/.ci/{update-specs.yml → updatecli.d/update-specs.yml} +0 -0
@@ -24,7 +24,7 @@ When using this method, strings are split by comma, e.g.,
24
24
  [[configuration-precedence]]
25
25
  === Configuration precedence
26
26
 
27
- Options are applied in the following order (last one wins):
27
+ Options are applied in the following order (last one wins):
28
28
 
29
29
  1. Defaults
30
30
  2. Arguments to `ElasticAPM.start` / `Config.new`
@@ -170,7 +170,7 @@ WARNING: Secret tokens only provide any real security if your APM server uses TL
170
170
  |============
171
171
 
172
172
  This base64-encoded string is used to ensure that only your agents can send data to your APM server.
173
- The API key must be created using the {apm-guide-ref}/api-key.html[APM server command-line tool].
173
+ The API key must be created using the {apm-guide-ref}/api-key.html[APM server command-line tool].
174
174
 
175
175
  WARNING: API keys only provide any real security if your APM server uses TLS.
176
176
 
@@ -199,7 +199,7 @@ The <<config-log-path,logs>> should tell you what went wrong.
199
199
  | `ELASTIC_APM_API_REQUEST_SIZE` | `api_request_size` | `"750kb"`
200
200
  |============
201
201
 
202
- The maximum amount of bytes sent over one request to APM Server. The agent will open a new request when this limit is reached.
202
+ The maximum amount of bytes sent over one request to APM Server. The agent will open a new request when this limit is reached.
203
203
 
204
204
  This must be provided in *<<config-format-size, size format>>*.
205
205
 
@@ -301,7 +301,8 @@ If set to `true`, the client will poll the APM Server regularly for new agent co
301
301
 
302
302
  Usually APM Server determines how often to poll, but if not, set the default interval is 5 minutes.
303
303
 
304
- NOTE: This feature requires APM Server v7.3 or later and that the APM Server is configured with `kibana.enabled: true`.
304
+ NOTE: This feature requires APM Server v7.3 or later.
305
+ See {kibana-ref}/agent-configuration.html[APM Agent central configuration] for more information.
305
306
 
306
307
  [float]
307
308
  [[config-cloud-provider]]
@@ -701,7 +702,7 @@ The name of the given service node. This is optional, and if omitted, the APM
701
702
  Server will fall back on `system.container.id` if available, and
702
703
  `host.name` if necessary.
703
704
 
704
- This option allows you to set the node name manually to ensure it's unique and meaningful.
705
+ This option allows you to set the node name manually to ensure it's unique and meaningful.
705
706
 
706
707
  [float]
707
708
  [[config-service-version]]
data/docs/index.asciidoc CHANGED
@@ -23,12 +23,12 @@ include::./api.asciidoc[]
23
23
 
24
24
  include::./metrics.asciidoc[]
25
25
 
26
+ include::./logs.asciidoc[]
27
+
26
28
  include::./opentracing.asciidoc[]
27
29
 
28
30
  include::./graphql.asciidoc[]
29
31
 
30
- include::./log-correlation.asciidoc[]
31
-
32
32
  include::./performance-tuning.asciidoc[]
33
33
 
34
34
  include::./debugging.asciidoc[]
@@ -3,8 +3,26 @@ NOTE: For the best reading experience,
3
3
  please view this documentation at https://www.elastic.co/guide/en/apm/agent/ruby[elastic.co]
4
4
  endif::[]
5
5
 
6
- [[log-correlation]]
7
- == Log correlation
6
+ [[logs]]
7
+ == Logs
8
+
9
+ Elastic Ruby APM Agent provides the following log features:
10
+
11
+ - <<log-correlation-ids>>: Automatically inject correlation IDs that allow navigation between logs, traces and services.
12
+ - <<log-reformatting>>: Automatically reformat plaintext logs in {ecs-logging-ref}/intro.html[ECS logging] format.
13
+
14
+ Those features are part of {observability-guide}/application-logs.html[Application log ingestion strategies].
15
+
16
+ The {ecs-logging-ruby-ref}/intro.html[`ecs-logging-ruby`] library can also be used to format logs in the {ecs-logging-ref}/intro.html[ECS logging] format without an APM agent.
17
+ When deployed with the Ruby APM agent, the agent will provide <<log-correlation-ids,log correlation>> IDs.
18
+
19
+ [float]
20
+ [[log-correlation-ids]]
21
+ === Log correlation
22
+
23
+ {apm-guide-ref}/log-correlation.html[Log correlation] allows you to navigate to all logs belonging to a particular trace
24
+ and vice-versa: for a specific log, see in which context it has been logged and which parameters the user provided.
25
+
8
26
 
9
27
  Trace/log correlation can be set up in three different ways.
10
28
 
@@ -119,3 +137,12 @@ PUT _ingest/pipeline/extract_trace_id
119
137
  ----
120
138
 
121
139
  Please see {apm-guide-ref}/log-correlation.html[Observability integrations] for more information.
140
+
141
+ [float]
142
+ [[log-reformatting]]
143
+ === Log reformatting (experimental)
144
+
145
+ Log reformatting is controlled by the <<config-log-ecs-formatting, `log_ecs_reformatting`>> configuration option, and is disabled by default.
146
+
147
+ The reformatted logs will include both the <<log-correlation-ids, trace and service correlation>> IDs.
148
+
@@ -89,6 +89,6 @@ The `Span.set_baggage` method is not supported.
89
89
  Baggage items are dropped with a warning log message.
90
90
 
91
91
  [float]
92
- [[logs]]
92
+ [[opentracing-logs]]
93
93
  === Logs
94
94
  Logs are currently not supported.
@@ -0,0 +1,9 @@
1
+ ["appendix",role="exclude",id="redirects"]
2
+ = Deleted pages
3
+
4
+ The following pages have moved or been deleted.
5
+
6
+ [role="exclude",id="log-correlation"]
7
+ === Log correlation
8
+
9
+ This section has moved. See <<logs>>.
@@ -44,7 +44,7 @@ module ElasticAPM
44
44
  request = context.request
45
45
 
46
46
  request.socket = Context::Request::Socket.new(req)
47
- request.http_version = build_http_version rack_env
47
+ request.http_version = build_http_version req
48
48
  request.method = req.request_method
49
49
  request.url = Context::Request::Url.new(req)
50
50
 
@@ -104,8 +104,8 @@ module ElasticAPM
104
104
  key.gsub(/^HTTP_/, '').split('_').map(&:capitalize).join('-')
105
105
  end
106
106
 
107
- def build_http_version(rack_env)
108
- return unless (http_version = rack_env['HTTP_VERSION'])
107
+ def build_http_version(req)
108
+ return unless (http_version = req.env['HTTP_VERSION'])
109
109
  http_version.gsub(%r{HTTP/}, '')
110
110
  end
111
111
  end
@@ -50,27 +50,9 @@ module ElasticAPM
50
50
  return
51
51
  end
52
52
 
53
- debug 'Starting metrics'
54
-
55
- # Only set the @sets once, in case we stop
56
- # and start again.
57
- if @sets.nil?
58
- sets = {
59
- system: CpuMemSet,
60
- vm: VMSet,
61
- breakdown: BreakdownSet,
62
- transaction: TransactionSet
63
- }
64
- if defined?(JVMSet)
65
- debug "Enabling JVM metrics collection"
66
- sets[:jvm] = JVMSet
67
- end
53
+ define_sets
68
54
 
69
- @sets = sets.each_with_object({}) do |(key, kls), _sets_|
70
- debug "Adding metrics collector '#{kls}'"
71
- _sets_[key] = kls.new(config)
72
- end
73
- end
55
+ debug 'Starting metrics'
74
56
 
75
57
  @timer_task = Concurrent::TimerTask.execute(
76
58
  run_now: true,
@@ -135,6 +117,28 @@ module ElasticAPM
135
117
  arr.concat(samples)
136
118
  end
137
119
  end
120
+
121
+ def define_sets
122
+ # Only set the @sets once, in case we stop
123
+ # and start again.
124
+ return unless @sets.nil?
125
+
126
+ sets = {
127
+ system: CpuMemSet,
128
+ vm: VMSet,
129
+ breakdown: BreakdownSet,
130
+ transaction: TransactionSet
131
+ }
132
+ if defined?(JVMSet)
133
+ debug "Enabling JVM metrics collection"
134
+ sets[:jvm] = JVMSet
135
+ end
136
+
137
+ @sets = sets.each_with_object({}) do |(key, kls), _sets_|
138
+ debug "Adding metrics collector '#{kls}'"
139
+ _sets_[key] = kls.new(config)
140
+ end
141
+ end
138
142
  end
139
143
  end
140
144
  end
@@ -22,17 +22,17 @@ module ElasticAPM
22
22
  module SpanHelpers
23
23
  # @api private
24
24
  module ClassMethods
25
- def span_class_method(method, name = nil, type = nil)
26
- __span_method_on(singleton_class, method, name, type)
25
+ def span_class_method(method, name = nil, type = nil, **kwargs)
26
+ __span_method_on(singleton_class, method, name, type, **kwargs)
27
27
  end
28
28
 
29
- def span_method(method, name = nil, type = nil)
30
- __span_method_on(self, method, name, type)
29
+ def span_method(method, name = nil, type = nil, **kwargs)
30
+ __span_method_on(self, method, name, type, **kwargs)
31
31
  end
32
32
 
33
33
  private
34
34
 
35
- def __span_method_on(klass, method, name = nil, type = nil)
35
+ def __span_method_on(klass, method, name = nil, type = nil, **kwargs)
36
36
  name ||= method.to_s
37
37
  type ||= Span::DEFAULT_TYPE
38
38
 
@@ -42,7 +42,7 @@ module ElasticAPM
42
42
  return super(*args, &block)
43
43
  end
44
44
 
45
- ElasticAPM.with_span name.to_s, type.to_s do
45
+ ElasticAPM.with_span name.to_s, type.to_s, **kwargs do
46
46
  super(*args, &block)
47
47
  end
48
48
  end)
@@ -102,12 +102,20 @@ module ElasticAPM
102
102
  ) do |span|
103
103
  ElasticAPM::Spies.without_net_http do
104
104
  trace_context = span&.trace_context || transaction.trace_context
105
- self.response :elastic_apm_middleware, span # middleware
106
105
 
107
- result = super(method, url, body, headers) do |req|
108
- trace_context.apply_headers { |k, v| req[k] = v }
109
-
110
- yield req if block
106
+ begin
107
+ result = super(method, url, body, headers) do |req|
108
+ trace_context.apply_headers { |k, v| req[k] = v }
109
+ yield req if block
110
+ end
111
+ rescue Faraday::ClientError, Faraday::ServerError => e # Faraday::Response::RaiseError
112
+ status = e.response_status
113
+ http = span&.context&.http
114
+ if http && status
115
+ http.status_code = status.to_s
116
+ span.outcome = Span::Outcome.from_http_status(status)
117
+ end
118
+ raise e
111
119
  end
112
120
 
113
121
  if (http = span&.context&.http)
@@ -123,28 +131,6 @@ module ElasticAPM
123
131
  # rubocop:enable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
124
132
 
125
133
  def install
126
- # This middleware class has to be defined here because it inherits from
127
- # ::Faraday::Middleware, which isn't defined when this file loads.
128
- tracing_middleware = Class.new ::Faraday::Middleware do
129
- attr_reader :span
130
-
131
- def initialize(app, span = nil, options = {})
132
- super(app)
133
- @span = span
134
- end
135
-
136
- def on_complete(env)
137
- status = env[:status]
138
- http = span&.context&.http
139
- if http && status
140
- http.status_code = status.to_s
141
- span.outcome = Span::Outcome.from_http_status(status)
142
- end
143
- end
144
- end
145
- ::Faraday::Response.register_middleware(
146
- elastic_apm_middleware: -> { tracing_middleware }
147
- )
148
134
  ::Faraday::Connection.prepend(Ext)
149
135
  end
150
136
  end
@@ -18,5 +18,5 @@
18
18
  # frozen_string_literal: true
19
19
 
20
20
  module ElasticAPM
21
- VERSION = '4.6.1'
21
+ VERSION = '4.7.0'
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic-apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.1
4
+ version: 4.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikkel Malmberg
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-03-01 00:00:00.000000000 Z
12
+ date: 2023-08-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby
@@ -60,13 +60,11 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - ".ci/.jenkins_codecov.yml"
64
- - ".ci/.jenkins_exclude.yml"
65
- - ".ci/.jenkins_framework.yml"
66
- - ".ci/.jenkins_main_framework.yml"
67
- - ".ci/.jenkins_ruby.yml"
68
- - ".ci/.jenkins_ruby_benchmarks.yml"
69
- - ".ci/Jenkinsfile"
63
+ - ".ci/.codecov.yml"
64
+ - ".ci/.exclude.yml"
65
+ - ".ci/.framework.yml"
66
+ - ".ci/.main_framework.yml"
67
+ - ".ci/.ruby.yml"
70
68
  - ".ci/docker/jruby/11-jdk/Dockerfile"
71
69
  - ".ci/docker/jruby/12-jdk/Dockerfile"
72
70
  - ".ci/docker/jruby/13-jdk/Dockerfile"
@@ -75,23 +73,29 @@ files:
75
73
  - ".ci/docker/jruby/README.md"
76
74
  - ".ci/docker/jruby/run.sh"
77
75
  - ".ci/docker/jruby/test.sh"
78
- - ".ci/jobs/apm-agent-ruby-downstream.yml"
79
- - ".ci/jobs/apm-agent-ruby-linting-mbp.yml"
80
- - ".ci/jobs/apm-agent-ruby-mbp.yml"
81
- - ".ci/jobs/apm-agent-ruby.yml"
82
- - ".ci/jobs/defaults.yml"
83
- - ".ci/linting.groovy"
84
- - ".ci/packer_cache.sh"
76
+ - ".ci/scripts/bench.sh"
77
+ - ".ci/scripts/install-build-system.sh"
85
78
  - ".ci/snapshoty.yml"
86
- - ".ci/update-specs.yml"
79
+ - ".ci/updatecli.d/update-gherkin-specs.yml"
80
+ - ".ci/updatecli.d/update-json-specs.yml"
81
+ - ".ci/updatecli.d/update-specs.yml"
87
82
  - ".github/ISSUE_TEMPLATE/Bug_report.md"
88
83
  - ".github/ISSUE_TEMPLATE/Feature_request.md"
89
84
  - ".github/PULL_REQUEST_TEMPLATE.md"
90
85
  - ".github/dependabot.yml"
91
86
  - ".github/labeler-config.yml"
92
87
  - ".github/workflows/addToProject.yml"
88
+ - ".github/workflows/ci-docs.yml"
89
+ - ".github/workflows/ci.yml"
90
+ - ".github/workflows/coverage-reporter.yml"
93
91
  - ".github/workflows/labeler.yml"
94
- - ".github/workflows/update-specs.yml"
92
+ - ".github/workflows/microbenchmark.yml"
93
+ - ".github/workflows/opentelemetry.yml"
94
+ - ".github/workflows/release.yml"
95
+ - ".github/workflows/run-matrix.yml"
96
+ - ".github/workflows/snapshoty.yml"
97
+ - ".github/workflows/test-reporter.yml"
98
+ - ".github/workflows/updatecli.yml"
95
99
  - ".gitignore"
96
100
  - ".pre-commit-config.yaml"
97
101
  - ".rspec"
@@ -133,10 +137,11 @@ files:
133
137
  - docs/images/dynamic-config.svg
134
138
  - docs/index.asciidoc
135
139
  - docs/introduction.asciidoc
136
- - docs/log-correlation.asciidoc
140
+ - docs/logs.asciidoc
137
141
  - docs/metrics.asciidoc
138
142
  - docs/opentracing.asciidoc
139
143
  - docs/performance-tuning.asciidoc
144
+ - docs/redirects.asciidoc
140
145
  - docs/release-notes.asciidoc
141
146
  - docs/set-up.asciidoc
142
147
  - docs/supported-technologies.asciidoc
@@ -1,191 +0,0 @@
1
- exclude:
2
- # Ruby 2.4
3
- # Only test on rails-5.2, sinatra-1.4
4
- - RUBY_VERSION: ruby:2.4
5
- FRAMEWORK: rails-7.0
6
- - RUBY_VERSION: ruby:2.4
7
- FRAMEWORK: rails-6.1
8
- - RUBY_VERSION: ruby:2.4
9
- FRAMEWORK: rails-6.0
10
- - RUBY_VERSION: ruby:2.4
11
- FRAMEWORK: rails-4.2
12
- - RUBY_VERSION: ruby:2.4
13
- FRAMEWORK: sinatra-2.2
14
- - RUBY_VERSION: ruby:2.4
15
- FRAMEWORK: grape-1.6
16
- - RUBY_VERSION: ruby:2.4
17
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.0
18
- - RUBY_VERSION: ruby:2.4
19
- FRAMEWORK: rails-main
20
- - RUBY_VERSION: ruby:2.4
21
- FRAMEWORK: sinatra-master
22
- - RUBY_VERSION: ruby:2.4
23
- FRAMEWORK: grape-master
24
-
25
- # rails-4.2 exclusions
26
- # Only test on ruby 2.6, 2.5, 2.4
27
- - RUBY_VERSION: ruby:3.1
28
- FRAMEWORK: rails-4.2
29
- - RUBY_VERSION: ruby:3.0
30
- FRAMEWORK: rails-4.2
31
- - RUBY_VERSION: ruby:2.7
32
- FRAMEWORK: rails-4.2
33
- - RUBY_VERSION: jruby:9.2
34
- FRAMEWORK: rails-4.2
35
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
36
- FRAMEWORK: rails-4.2
37
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
38
- FRAMEWORK: rails-4.2
39
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
40
- FRAMEWORK: rails-4.2
41
- # sinatra-1.4 exclusions
42
- - RUBY_VERSION: ruby:3.1
43
- FRAMEWORK: sinatra-1.4
44
- - RUBY_VERSION: ruby:3.0
45
- FRAMEWORK: sinatra-1.4
46
- - RUBY_VERSION: ruby:2.7
47
- FRAMEWORK: sinatra-1.4
48
- - RUBY_VERSION: jruby:9.2
49
- FRAMEWORK: sinatra-1.4
50
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
51
- FRAMEWORK: sinatra-1.4
52
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
53
- FRAMEWORK: sinatra-1.4
54
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
55
- FRAMEWORK: sinatra-1.4
56
-
57
- # rails-6.0 and rails-6.1 exclusions
58
- # Don't test on ruby 2.4
59
- - RUBY_VERSION: ruby:2.4
60
- FRAMEWORK: rails-6.1
61
- - RUBY_VERSION: ruby:2.4
62
- FRAMEWORK: rails-6.0
63
-
64
- # Only test rails master on ruby 3.1
65
- - RUBY_VERSION: ruby:3.0
66
- FRAMEWORK: rails-main
67
- - RUBY_VERSION: ruby:2.7
68
- FRAMEWORK: rails-main
69
- - RUBY_VERSION: ruby:2.6
70
- FRAMEWORK: rails-main
71
- - RUBY_VERSION: ruby:2.5
72
- FRAMEWORK: rails-main
73
- - RUBY_VERSION: ruby:2.4
74
- FRAMEWORK: rails-main
75
- - RUBY_VERSION: jruby:9.2
76
- FRAMEWORK: rails-main
77
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
78
- FRAMEWORK: rails-main
79
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
80
- FRAMEWORK: rails-main
81
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
82
- FRAMEWORK: rails-main
83
-
84
- # Only test rails 7.0 on ruby >= 2.7
85
- - RUBY_VERSION: ruby:2.6
86
- FRAMEWORK: rails-7.0
87
- - RUBY_VERSION: ruby:2.5
88
- FRAMEWORK: rails-7.0
89
- - RUBY_VERSION: ruby:2.4
90
- FRAMEWORK: rails-7.0
91
- - RUBY_VERSION: jruby:9.2
92
- FRAMEWORK: rails-7.0
93
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
94
- FRAMEWORK: rails-7.0
95
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
96
- FRAMEWORK: rails-7.0
97
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
98
- FRAMEWORK: rails-7.0
99
-
100
- # Only test sinatra master on ruby 2.7 and ruby 3.1
101
- - RUBY_VERSION: ruby:3.0
102
- FRAMEWORK: sinatra-master
103
- - RUBY_VERSION: ruby:2.6
104
- FRAMEWORK: sinatra-master
105
- - RUBY_VERSION: ruby:2.5
106
- FRAMEWORK: sinatra-master
107
- - RUBY_VERSION: ruby:2.4
108
- FRAMEWORK: sinatra-master
109
- - RUBY_VERSION: jruby:9.2
110
- FRAMEWORK: sinatra-master
111
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
112
- FRAMEWORK: sinatra-master
113
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
114
- FRAMEWORK: sinatra-master
115
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
116
- FRAMEWORK: sinatra-master
117
-
118
- # Only test grape master on ruby 2.7 and ruby 3.0
119
- - RUBY_VERSION: ruby:2.6
120
- FRAMEWORK: grape-master
121
- - RUBY_VERSION: ruby:2.5
122
- FRAMEWORK: grape-master
123
- - RUBY_VERSION: ruby:2.4
124
- FRAMEWORK: grape-master
125
- - RUBY_VERSION: jruby:9.2
126
- FRAMEWORK: grape-master
127
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
128
- FRAMEWORK: grape-master
129
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
130
- FRAMEWORK: grape-master
131
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
132
- FRAMEWORK: grape-master
133
-
134
- # grape 1.5 doesn't support ruby 3.0
135
- - RUBY_VERSION: ruby:3.1
136
- FRAMEWORK: grape-1.6
137
- - RUBY_VERSION: ruby:3.1
138
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
139
- - RUBY_VERSION: ruby:3.1
140
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
141
- - RUBY_VERSION: ruby:3.0
142
- FRAMEWORK: grape-1.6
143
- - RUBY_VERSION: ruby:3.0
144
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
145
-
146
- # only test ruby >= 3.0 with rails 6.0 and rails 6.1
147
- - RUBY_VERSION: ruby:3.1
148
- FRAMEWORK: rails-5.2
149
- - RUBY_VERSION: ruby:3.1
150
- FRAMEWORK: rails-5.1
151
- - RUBY_VERSION: ruby:3.0
152
- FRAMEWORK: rails-5.2
153
- - RUBY_VERSION: ruby:3.0
154
- FRAMEWORK: rails-5.1
155
-
156
- # Unsupported
157
- # Ruby 2.6
158
- - RUBY_VERSION: ruby:2.6
159
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
160
- - RUBY_VERSION: ruby:2.6
161
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
162
- # Ruby 2.5
163
- - RUBY_VERSION: ruby:2.5
164
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
165
- - RUBY_VERSION: ruby:2.5
166
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
167
- # Ruby 2.4
168
- - RUBY_VERSION: ruby:2.4
169
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
170
- - RUBY_VERSION: ruby:2.4
171
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
172
- # JRuby 9.2
173
- - RUBY_VERSION: jruby:9.2
174
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
175
- - RUBY_VERSION: jruby:9.2
176
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
177
- # JRuby 9.2-13-jdk
178
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
179
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
180
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-13-jdk
181
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
182
- # JRuby 9.2-11-jdk
183
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
184
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
185
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-11-jdk
186
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
187
- # JRuby 9.2-8-jdk
188
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
189
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-6.1
190
- - RUBY_VERSION: docker.elastic.co/observability-ci/jruby:9.2-8-jdk
191
- FRAMEWORK: grape-1.6,sinatra-2.2,rails-7.0
@@ -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.1
3
- - ruby:3.0
4
- - ruby:2.7
5
- - ruby:2.6
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
@@ -1,6 +0,0 @@
1
- RUBY_VERSION:
2
- - ruby:3.1
3
- - ruby:3.0
4
- - ruby:2.7
5
- - ruby:2.6
6
- - jruby:9.2