Skip to content

Commit 893ab9e

Browse files
committed
Add JRuby 10.0
1 parent eae7fc6 commit 893ab9e

File tree

57 files changed

+2184
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2184
-1
lines changed

.github/workflows/lock-dependency.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ jobs:
5858
version: '9.3'
5959
- name: jruby
6060
version: '9.2'
61+
- name: jruby
62+
version: '10.0'
6163
container:
6264
image: ghcr.io/datadog/images-rb/engines/${{ matrix.engine.name }}:${{ matrix.engine.version }}
6365
env:

.github/workflows/test.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ jobs:
8787
version: "2.5"
8888
alias: ruby-25
8989

90+
jruby-100:
91+
name: "JRuby 10.0"
92+
uses: ./.github/workflows/_unit_test.yml
93+
with:
94+
engine: jruby
95+
version: "10.0"
96+
alias: jruby-100
97+
9098
jruby-94:
9199
name: "JRuby 9.4"
92100
uses: ./.github/workflows/_unit_test.yml
@@ -135,6 +143,7 @@ jobs:
135143
- ruby-27
136144
- ruby-26
137145
- ruby-25
146+
- jruby-100
138147
- jruby-94
139148
- jruby-93
140149
- jruby-92
@@ -179,6 +188,7 @@ jobs:
179188
- ruby-27
180189
- ruby-26
181190
- ruby-25
191+
- jruby-100
182192
- jruby-94
183193
- jruby-93
184194
- jruby-92
@@ -216,6 +226,7 @@ jobs:
216226
- ruby-27
217227
- ruby-26
218228
- ruby-25
229+
- jruby-100
219230
- jruby-94
220231
- jruby-93
221232
- jruby-92

.github/workflows/update-latest-dependency.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ jobs:
4444
version: '9.3'
4545
- name: jruby
4646
version: '9.2'
47+
- name: jruby
48+
version: '10.0'
4749
container:
4850
image: "ghcr.io/datadog/images-rb/engines/${{ matrix.engine.name }}:${{ matrix.engine.version }}"
4951
steps:

appraisal/generate.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# This implementation provides a much easier interface to customize our needs,
99
# while still using the same Appraisal formatting.
1010
#
11-
# For example, it solves the incompatbility of `eval_gemfile` from `Bundler::DSL`
11+
# For example, it solves the incompatibility of `eval_gemfile` from `Bundler::DSL`
1212
#
1313
# Usage: `bundle exec ruby appraisal/generate.rb`
1414

appraisal/jruby-10.0.rb

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
appraise 'rails61-mysql2' do
2+
gem 'rails', '~> 6.1.0'
3+
gem 'activerecord-jdbcmysql-adapter', '~> 61.0', platform: :jruby
4+
gem 'sprockets', '< 4'
5+
gem 'lograge', '~> 0.11'
6+
gem 'net-smtp'
7+
end
8+
9+
appraise 'rails61-postgres' do
10+
gem 'rails', '~> 6.1.0'
11+
gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
12+
gem 'sprockets', '< 4'
13+
gem 'lograge', '~> 0.11'
14+
gem 'net-smtp'
15+
end
16+
17+
appraise 'rails61-postgres-redis' do
18+
gem 'rails', '~> 6.1.0'
19+
gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
20+
gem 'redis', '~> 4'
21+
gem 'sprockets', '< 4'
22+
gem 'lograge', '~> 0.11'
23+
gem 'net-smtp'
24+
end
25+
26+
appraise 'rails61-postgres-sidekiq' do
27+
gem 'rails', '~> 6.1.0'
28+
gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
29+
gem 'sidekiq', '>= 6.1.2'
30+
gem 'sprockets', '< 4'
31+
gem 'lograge', '~> 0.11'
32+
gem 'rails_semantic_logger', '~> 4.0'
33+
gem 'net-smtp'
34+
end
35+
36+
appraise 'rails61-semantic-logger' do
37+
gem 'rails', '~> 6.1.0'
38+
gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
39+
gem 'sprockets', '< 4'
40+
gem 'rails_semantic_logger', '~> 4.0'
41+
gem 'net-smtp'
42+
end
43+
44+
appraise 'rails-old-redis' do
45+
# All dependencies except Redis < 4 are not important, they are just required to run Rails tests.
46+
gem 'redis', '< 4'
47+
gem 'rails', '~> 6.1.0'
48+
gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
49+
gem 'sprockets', '< 4'
50+
gem 'lograge', '~> 0.11'
51+
gem 'net-smtp'
52+
end
53+
54+
appraise 'resque2-redis3' do
55+
gem 'redis', '< 4.0'
56+
gem 'resque', '>= 2.0'
57+
end
58+
59+
appraise 'resque2-redis4' do
60+
gem 'redis', '>= 4.0'
61+
gem 'resque', '>= 2.0'
62+
end
63+
64+
appraise 'aws' do
65+
gem 'aws-sdk'
66+
gem 'shoryuken'
67+
end
68+
69+
appraise 'http' do
70+
gem 'ethon'
71+
gem 'http', '~> 4' # TODO: Completely broken with this JRuby version, this has not be validate on CI
72+
gem 'httpclient'
73+
gem 'typhoeus'
74+
end
75+
76+
build_coverage_matrix('stripe', 7..12, min: '5.15.0')
77+
build_coverage_matrix('opensearch', [2], gem: 'opensearch-ruby')
78+
build_coverage_matrix('elasticsearch', [7])
79+
build_coverage_matrix('faraday')
80+
build_coverage_matrix('excon')
81+
build_coverage_matrix('rest-client')
82+
build_coverage_matrix('mongo', min: '2.1.0')
83+
build_coverage_matrix('dalli', [2])
84+
build_coverage_matrix('karafka', min: '2.3.0')
85+
86+
appraise 'karafka-min' do
87+
gem 'karafka', '= 2.3.0'
88+
end
89+
90+
# NOTE: JRuby bundler failed to install some dependencies https://github.com/ruby/psych/issues/700
91+
# and it could be re-enabled when upstream fix the issue
92+
# build_coverage_matrix('devise', min: '3.2.1')
93+
94+
appraise 'relational_db' do
95+
gem 'activerecord', '~> 6.1.0'
96+
gem 'delayed_job'
97+
gem 'delayed_job_active_record'
98+
gem 'makara', '>= 0.6.0.pre' # Ruby 3 requires >= 0.6.0, which is currently in pre-release: https://rubygems.org/gems/makara/versions
99+
gem 'activerecord-jdbcmysql-adapter', '~> 61.0', platform: :jruby
100+
gem 'activerecord-jdbcpostgresql-adapter', '~> 61.0', platform: :jruby
101+
gem 'sequel'
102+
gem 'jdbc-sqlite3', '>= 3.28', platform: :jruby
103+
end
104+
105+
appraise 'activesupport' do
106+
gem 'activesupport', '~> 7'
107+
108+
gem 'actionpack'
109+
gem 'actionview'
110+
gem 'active_model_serializers', '>= 0.10.0'
111+
gem 'grape'
112+
gem 'lograge'
113+
gem 'racecar', '>= 0.3.5'
114+
gem 'ruby-kafka', '>= 0.7.10'
115+
end
116+
117+
appraise 'contrib' do
118+
gem 'concurrent-ruby'
119+
120+
gem 'rack-test' # Dev dependencies for testing rack-based code
121+
gem 'rake', '>= 12.3'
122+
gem 'resque'
123+
gem 'roda', '>= 2.0.0'
124+
gem 'semantic_logger', '~> 4.0'
125+
gem 'sidekiq', '~> 7'
126+
gem 'sneakers', '>= 2.12.0'
127+
gem 'sucker_punch'
128+
gem 'que', '>= 1.0.0'
129+
end
130+
131+
[
132+
'2.3',
133+
'2.2',
134+
'2.1',
135+
'2.0',
136+
'1.13',
137+
].each do |v|
138+
appraise "graphql-#{v}" do
139+
gem 'rails', '~> 6.1.0'
140+
gem 'graphql', "~> #{v}.0"
141+
gem 'sprockets', '< 4'
142+
gem 'lograge', '~> 0.11'
143+
end
144+
end
145+
146+
build_coverage_matrix('redis', [3, 4])
147+
build_coverage_matrix('rack', 1..2, meta: { 'rack-contrib' => nil, 'rack-test' => nil })
148+
149+
[2, 3, 4].each do |n|
150+
appraise "sinatra-#{n}" do
151+
gem 'sinatra', "~> #{n}"
152+
gem 'sinatra-contrib', "~> #{n}"
153+
gem 'rack-contrib'
154+
gem 'rack-test' # Dev dependencies for testing rack-based code
155+
end
156+
end
157+
158+
appraise 'contrib-old' do
159+
gem 'presto-client', '>= 0.5.14' # Renamed to trino-client in >= 1.0
160+
end
161+
162+
appraise 'core-old' do
163+
gem 'dogstatsd-ruby', '~> 4'
164+
end
165+

docker-compose.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,22 @@ services:
208208
- .:/app
209209
- bundle-jruby-9.4:/usr/local/bundle
210210
- "ddagent_var_run:${TEST_DDAGENT_VAR_RUN}"
211+
tracer-jruby-10.0:
212+
image: ghcr.io/datadog/images-rb/engines/jruby:10.0
213+
working_dir: /app
214+
command: /bin/bash
215+
depends_on: *common-depends-on
216+
links: *common-links
217+
env_file: ./.env
218+
environment:
219+
<<: *common-environment
220+
BUNDLE_GEMFILE: /app/jruby-10.0.gemfile
221+
stdin_open: true
222+
tty: true
223+
volumes:
224+
- .:/app
225+
- bundle-jruby-10.0:/usr/local/bundle
226+
- "ddagent_var_run:${TEST_DDAGENT_VAR_RUN}"
211227
ddagent:
212228
image: datadog/agent
213229
environment:
@@ -331,6 +347,7 @@ volumes:
331347
bundle-jruby-9.2:
332348
bundle-jruby-9.3:
333349
bundle-jruby-9.4:
350+
bundle-jruby-10.0:
334351
ddagent_var_run:
335352
# Temporary folder used while compiling the profiling native extension. We place this in a volume to avoid the
336353
# massive performance hit (seconds to minutes) that we get when the tmp folder is shared with the host on macOS.

gemfiles/jruby_10.0_activesupport.gemfile

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gemfiles/jruby_10.0_aws.gemfile

Lines changed: 38 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gemfiles/jruby_10.0_contrib.gemfile

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)