Skip to content

Commit

Permalink
RUBY-3424 Prep for 2.20 (#2852)
Browse files Browse the repository at this point in the history
* prep for 2.20

* more CI stuff (e.g. DriverBench should run against latest stable, not latest)

* let's see what happens when we enable jruby 9.4

* document added support for JRuby 9.4, and deprecation of 9.2

* flesh out the release notes more
  • Loading branch information
jamis authored Mar 28, 2024
1 parent 0c65ebf commit 74e4e38
Show file tree
Hide file tree
Showing 8 changed files with 101 additions and 83 deletions.
58 changes: 21 additions & 37 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# GENERATED FILE - DO NOT EDIT.
# Run ./.evergreen/update-evergreen-configs to regenerate this file.
# Run `rake eg` to regenerate this file.

# When a task that used to pass starts to fail, go through all versions that
# may have been skipped to detect when the task started failing.
Expand Down Expand Up @@ -1008,22 +1008,10 @@ axes:
display_name: ruby-2.7
variables:
RVM_RUBY: "ruby-2.7"
- id: "ruby-2.6"
display_name: ruby-2.6
variables:
RVM_RUBY: "ruby-2.6"
- id: "ruby-2.5"
display_name: ruby-2.5
variables:
RVM_RUBY: "ruby-2.5"
- id: "ruby-head"
display_name: ruby-head
variables:
RVM_RUBY: "ruby-head"
- id: "jruby-9.2"
display_name: jruby-9.2
variables:
RVM_RUBY: "jruby-9.2"
- id: "jruby-9.3"
display_name: jruby-9.3
variables:
Expand Down Expand Up @@ -1257,12 +1245,11 @@ axes:
- id: no
display_name: No


buildvariants:
- matrix_name: DriverBench
matrix_spec:
ruby: "ruby-3.2"
mongodb-version: latest
mongodb-version: "7.0"
topology: standalone
run_on: rhel80-large
display_name: DriverBench
Expand All @@ -1282,7 +1269,7 @@ buildvariants:

- matrix_name: "mongo-recent"
matrix_spec:
ruby: ["ruby-3.2", "ruby-3.1", "jruby-9.3"]
ruby: ["ruby-3.2", "ruby-3.1", "jruby-9.4"]
mongodb-version: ["latest", "7.0", "6.0"]
topology: ["standalone", "replica-set", "sharded-cluster"]
os: ['rhel8']
Expand All @@ -1292,9 +1279,6 @@ buildvariants:
tasks:
- name: "test-mlaunch"

# Only JRuby-9.4 is built for arm in the current toolchain, but 9.4 has other
# issues. Either we fix those issues, or we build 9.3 for arm in the toolchain,
# and hope it fixes the issues... Until then, we can only test MRI ruby on arm.
- matrix_name: "mongo-recent-arm"
matrix_spec:
ruby: "ruby-3.2"
Expand All @@ -1307,7 +1291,7 @@ buildvariants:

- matrix_name: "mongo-5.x"
matrix_spec:
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.4"]
mongodb-version: ['5.3', '5.0']
topology: ["standalone", "replica-set", "sharded-cluster"]
os: rhel8
Expand All @@ -1317,7 +1301,7 @@ buildvariants:

- matrix_name: "mongo-4.x"
matrix_spec:
ruby: ["ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
ruby: ["ruby-3.0", "ruby-2.7"]
mongodb-version: ['4.4', '4.2', '4.0']
topology: ["standalone", "replica-set", "sharded-cluster"]
os: rhel8
Expand All @@ -1327,7 +1311,7 @@ buildvariants:

- matrix_name: "mongo-3.6"
matrix_spec:
ruby: "ruby-2.5"
ruby: "ruby-2.7"
mongodb-version: ['3.6']
topology: ["standalone", "replica-set", "sharded-cluster"]
os: rhel8
Expand Down Expand Up @@ -1392,7 +1376,7 @@ buildvariants:

- matrix_name: mmapv1
matrix_spec:
ruby: "ruby-2.5"
ruby: "ruby-2.7"
mongodb-version: ['3.6', '4.0']
topology: ["standalone", "replica-set", "sharded-cluster"]
storage-engine: mmapv1
Expand Down Expand Up @@ -1426,7 +1410,7 @@ buildvariants:
- matrix_name: "solo"
matrix_spec:
solo: on
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "jruby-9.4", "jruby-9.3"]
mongodb-version: "7.0"
topology: ["standalone", "replica-set", "sharded-cluster"]
os: rhel8
Expand Down Expand Up @@ -1475,7 +1459,7 @@ buildvariants:
- matrix_name: "jruby-auth"
matrix_spec:
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
ruby: jruby-9.3
ruby: jruby-9.4
mongodb-version: "7.0"
topology: ["standalone", "replica-set", "sharded-cluster"]
os: rhel8
Expand All @@ -1486,7 +1470,7 @@ buildvariants:
- matrix_name: "zlib"
matrix_spec:
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.4"]
mongodb-version: "7.0"
topology: "replica-set"
compressor: 'zlib'
Expand All @@ -1498,7 +1482,7 @@ buildvariants:
- matrix_name: "snappy"
matrix_spec:
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.4"]
mongodb-version: "7.0"
topology: "replica-set"
compressor: 'snappy'
Expand All @@ -1525,7 +1509,7 @@ buildvariants:

- matrix_name: "activesupport"
matrix_spec:
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.4"]
mongodb-version: "7.0"
topology: replica-set
as: as
Expand All @@ -1536,7 +1520,7 @@ buildvariants:

- matrix_name: "bson"
matrix_spec:
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.4"]
mongodb-version: "7.0"
topology: replica-set
bson: "*"
Expand All @@ -1548,7 +1532,7 @@ buildvariants:
# kerberos integration tests are broken (RUBY-3266)
# - matrix_name: "kerberos-integration"
# matrix_spec:
# ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
# ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.4"]
# os: rhel8
# display_name: "Kerberos integration ${os} ${ruby}"
# tasks:
Expand Down Expand Up @@ -1609,7 +1593,7 @@ buildvariants:
matrix_spec:
ocsp-verifier: true
# No JRuby due to https://github.com/jruby/jruby-openssl/issues/210
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7"]
topology: standalone
mongodb-version: "7.0"
os: rhel8
Expand Down Expand Up @@ -1783,7 +1767,7 @@ buildvariants:
ocsp-status: [valid, unknown]
ocsp-delegate: '*'
ocsp-connectivity: pass
ruby: jruby-9.3
ruby: jruby-9.4
topology: standalone
mongodb-version: "7.0"
os: rhel8
Expand Down Expand Up @@ -1825,7 +1809,7 @@ buildvariants:

- matrix_name: "atlas"
matrix_spec:
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "jruby-9.4", "jruby-9.3"]
os: rhel8
display_name: "Atlas tests ${ruby}"
tasks:
Expand All @@ -1835,8 +1819,8 @@ buildvariants:
# - matrix_name: "serverless"
# matrix_spec:
# # https://jira.mongodb.org/browse/RUBY-3217
# # ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
# ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
# # ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "jruby-9.4", "jruby-9.3"]
# ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7"]
# fle: path
# os: rhel8
# display_name: "Atlas serverless ${ruby}"
Expand All @@ -1846,8 +1830,8 @@ buildvariants:
# - matrix_name: "serverless-next"
# matrix_spec:
# # https://jira.mongodb.org/browse/RUBY-3217
# # ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
# ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
# # ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "jruby-9.4", "jruby-9.3"]
# ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7"]
# fle: path
# os: rhel8
# display_name: "Atlas serverless-next ${ruby}"
Expand Down
13 changes: 0 additions & 13 deletions .evergreen/config/axes.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -162,22 +162,10 @@ axes:
display_name: ruby-2.7
variables:
RVM_RUBY: "ruby-2.7"
- id: "ruby-2.6"
display_name: ruby-2.6
variables:
RVM_RUBY: "ruby-2.6"
- id: "ruby-2.5"
display_name: ruby-2.5
variables:
RVM_RUBY: "ruby-2.5"
- id: "ruby-head"
display_name: ruby-head
variables:
RVM_RUBY: "ruby-head"
- id: "jruby-9.2"
display_name: jruby-9.2
variables:
RVM_RUBY: "jruby-9.2"
- id: "jruby-9.3"
display_name: jruby-9.3
variables:
Expand Down Expand Up @@ -405,4 +393,3 @@ axes:
API_VERSION_REQUIRED: 1
- id: no
display_name: No

25 changes: 8 additions & 17 deletions .evergreen/config/standard.yml.erb
Original file line number Diff line number Diff line change
@@ -1,33 +1,27 @@
<%
topologies = %w( standalone replica-set sharded-cluster )

# jruby-9.4 is available in the toolchain, but tests break. It will
# require some investigation. Once available:
# 1. replace jruby-9.3 with jruby-9.4 in `recent_rubies` and
# `sample_rubies`.
# 2. add jruby-9.4 to the front of `jrubies`.

# latest_ruby = the most recently released, stable version of Ruby
# (make sure this version is being built by 10gen/mongo-ruby-toolchain)
latest_ruby = "ruby-3.2".inspect # so it gets quoted as a string

# these are used for testing against a few recent ruby versions
recent_rubies = %w( ruby-3.2 ruby-3.1 jruby-9.3 )
recent_rubies = %w( ruby-3.2 ruby-3.1 jruby-9.4 )

# this is a list of the most most recent 3.x and 2.x MRI ruby versions
sample_mri_rubies = %w( ruby-3.2 ruby-2.7 )

# as above, but including the most recent JRuby release
sample_rubies = sample_mri_rubies + %w( jruby-9.3 )
sample_rubies = sample_mri_rubies + %w( jruby-9.4 )

# older Ruby versions provided by 10gen/mongo-ruby-toolchain
older_rubies = %w( ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 )
older_rubies = %w( ruby-3.0 ruby-2.7 )

# all supported JRuby versions provided by 10gen/mongo-ruby-toolchain
jrubies = %w( jruby-9.3 jruby-9.2 )
jrubies = %w( jruby-9.4 jruby-9.3 )

supported_mri_rubies = %w( ruby-3.2 ruby-3.1 ruby-3.0
ruby-2.7 ruby-2.6 ruby-2.5 )
ruby-2.7 )

supported_rubies = supported_mri_rubies + jrubies

Expand All @@ -45,7 +39,7 @@ buildvariants:
- matrix_name: DriverBench
matrix_spec:
ruby: <%= latest_ruby %>
mongodb-version: latest
mongodb-version: <%= latest_stable_mdb %>
topology: standalone
run_on: rhel80-large
display_name: DriverBench
Expand Down Expand Up @@ -75,9 +69,6 @@ buildvariants:
tasks:
- name: "test-mlaunch"

# Only JRuby-9.4 is built for arm in the current toolchain, but 9.4 has other
# issues. Either we fix those issues, or we build 9.3 for arm in the toolchain,
# and hope it fixes the issues... Until then, we can only test MRI ruby on arm.
- matrix_name: "mongo-recent-arm"
matrix_spec:
ruby: <%= latest_ruby %>
Expand Down Expand Up @@ -110,7 +101,7 @@ buildvariants:

- matrix_name: "mongo-3.6"
matrix_spec:
ruby: "ruby-2.5"
ruby: "ruby-2.7"
mongodb-version: ['3.6']
topology: <%= topologies %>
os: rhel8
Expand Down Expand Up @@ -175,7 +166,7 @@ buildvariants:

- matrix_name: mmapv1
matrix_spec:
ruby: "ruby-2.5"
ruby: "ruby-2.7"
mongodb-version: ['3.6', '4.0']
topology: <%= topologies %>
storage-engine: mmapv1
Expand Down
2 changes: 1 addition & 1 deletion .evergreen/update-evergreen-configs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class Runner
def transform(output_file_name)
contents = <<-EOT
# GENERATED FILE - DO NOT EDIT.
# Run ./.evergreen/update-evergreen-configs to regenerate this file.
# Run `rake eg` to regenerate this file.
EOT

Expand Down
16 changes: 2 additions & 14 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,10 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-20.04 ]
ruby: ["2.5", "2.6", "2.7", "3.0", "3.1", "3.2"]
mongodb: ["3.6", "4.4", "5.0"]
ruby: ["2.7", "3.0", "3.1", "3.2"]
mongodb: ["3.6", "4.4", "5.0", "6.0", "7.0"]
topology: [replica_set, sharded_cluster]
include:
- os: macos
ruby: "2.6"
mongodb: "5.0"
topology: server
- os: macos
ruby: "2.7"
mongodb: "5.0"
Expand All @@ -32,10 +28,6 @@ jobs:
ruby: "3.0"
mongodb: "5.0"
topology: server
- os: ubuntu-latest
ruby: "2.6"
mongodb: "5.0"
topology: server
- os: ubuntu-latest
ruby: "2.7"
mongodb: "5.0"
Expand All @@ -48,10 +40,6 @@ jobs:
ruby: "3.2"
mongodb: "5.0"
topology: server
- os: ubuntu-18.04
ruby: "2.5"
mongodb: "3.6"
topology: replica_set
- os: ubuntu-latest
ruby: "3.2"
mongodb: "6.0"
Expand Down
Loading

0 comments on commit 74e4e38

Please sign in to comment.