Skip to content

Commit d44d19f

Browse files
authored
RUBY-3200 add Ruby 3.2 to CI (#2728)
* add ruby-3.2 to the matrices * fix (one of?) the failing tests under ruby 3.2 * basic style pass * fix another 3.2 error * bump the GH actions to also use ruby 3.2 * add aws-sdk-sts to dev/test dependencies CI under ruby-3.2 complains about missing constant Aws::STS *shrug* * tweak again--make sure both AWS sts and core are loaded * add Ruby 3.2, deprecate Ruby 2.5 and 2.6
1 parent 32543f3 commit d44d19f

File tree

8 files changed

+252
-286
lines changed

8 files changed

+252
-286
lines changed

.evergreen/config.yml

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,7 @@ buildvariants:
10621062
- matrix_name: "auth/ssl"
10631063
matrix_spec:
10641064
auth-and-ssl: ["auth-and-ssl", "noauth-and-nossl"]
1065-
ruby: "ruby-3.1"
1065+
ruby: "ruby-3.2"
10661066
mongodb-version: ["latest", "7.0", "6.0"]
10671067
topology: ["standalone", "replica-set", "sharded-cluster"]
10681068
os: rhel8
@@ -1072,7 +1072,7 @@ buildvariants:
10721072

10731073
- matrix_name: "mongo-recent"
10741074
matrix_spec:
1075-
ruby: ["ruby-3.1", "jruby-9.3"]
1075+
ruby: ["ruby-3.2", "ruby-3.1", "jruby-9.3"]
10761076
mongodb-version: ["latest", "7.0", "6.0"]
10771077
topology: ["standalone", "replica-set", "sharded-cluster"]
10781078
os: ['rhel8']
@@ -1090,7 +1090,7 @@ buildvariants:
10901090
# RUBY-3226)
10911091
- matrix_name: "mongo-recent-arm"
10921092
matrix_spec:
1093-
ruby: "ruby-3.1"
1093+
ruby: "ruby-3.2"
10941094
#mongodb-version: ['latest', '6.0']
10951095
mongodb-version: ['6.0']
10961096
topology: ["standalone", "replica-set", "sharded-cluster"]
@@ -1101,7 +1101,7 @@ buildvariants:
11011101

11021102
- matrix_name: "mongo-5.x"
11031103
matrix_spec:
1104-
ruby: ["ruby-3.1", "ruby-2.7", "jruby-9.3"]
1104+
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
11051105
mongodb-version: ['5.3', '5.0']
11061106
topology: ["standalone", "replica-set", "sharded-cluster"]
11071107
os: rhel8
@@ -1131,7 +1131,7 @@ buildvariants:
11311131

11321132
- matrix_name: "single-lb"
11331133
matrix_spec:
1134-
ruby: "ruby-3.1"
1134+
ruby: "ruby-3.2"
11351135
mongodb-version: "6.0"
11361136
topology: load-balanced
11371137
single-mongos: single-mongos
@@ -1142,7 +1142,7 @@ buildvariants:
11421142

11431143
- matrix_name: "mongo-5.0-api-version"
11441144
matrix_spec:
1145-
ruby: "ruby-3.1"
1145+
ruby: "ruby-3.2"
11461146
mongodb-version: '5.0'
11471147
topology: standalone
11481148
api-version-required: yes
@@ -1153,7 +1153,7 @@ buildvariants:
11531153

11541154
- matrix_name: "single-mongos"
11551155
matrix_spec:
1156-
ruby: "ruby-3.1"
1156+
ruby: "ruby-3.2"
11571157
mongodb-version: "6.0"
11581158
topology: "sharded-cluster"
11591159
single-mongos: single-mongos
@@ -1165,7 +1165,7 @@ buildvariants:
11651165
- matrix_name: "no-retry-reads"
11661166
matrix_spec:
11671167
retry-reads: no-retry-reads
1168-
ruby: "ruby-3.1"
1168+
ruby: "ruby-3.2"
11691169
mongodb-version: "6.0"
11701170
topology: ["standalone", "replica-set", "sharded-cluster"]
11711171
os: rhel8
@@ -1176,7 +1176,7 @@ buildvariants:
11761176
- matrix_name: "no-retry-writes"
11771177
matrix_spec:
11781178
retry-writes: no-retry-writes
1179-
ruby: "ruby-3.1"
1179+
ruby: "ruby-3.2"
11801180
mongodb-version: "6.0"
11811181
topology: [replica-set, sharded-cluster]
11821182
os: rhel8
@@ -1198,7 +1198,7 @@ buildvariants:
11981198
- matrix_name: "lint"
11991199
matrix_spec:
12001200
lint: on
1201-
ruby: "ruby-3.1"
1201+
ruby: "ruby-3.2"
12021202
mongodb-version: "6.0"
12031203
topology: '*'
12041204
os: rhel8
@@ -1209,7 +1209,7 @@ buildvariants:
12091209
- matrix_name: "fork"
12101210
matrix_spec:
12111211
fork: on
1212-
ruby: "ruby-3.1"
1212+
ruby: "ruby-3.2"
12131213
mongodb-version: "6.0"
12141214
topology: ["standalone", "replica-set", "sharded-cluster"]
12151215
os: rhel8
@@ -1220,7 +1220,7 @@ buildvariants:
12201220
- matrix_name: "solo"
12211221
matrix_spec:
12221222
solo: on
1223-
ruby: ["ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
1223+
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"]
12241224
mongodb-version: "6.0"
12251225
topology: ["standalone", "replica-set", "sharded-cluster"]
12261226
os: rhel8
@@ -1242,7 +1242,7 @@ buildvariants:
12421242
- matrix_name: "stress"
12431243
matrix_spec:
12441244
stress: on
1245-
ruby: "ruby-3.1"
1245+
ruby: "ruby-3.2"
12461246
mongodb-version: ["6.0", "5.3"]
12471247
topology: replica-set
12481248
os: rhel8
@@ -1256,7 +1256,7 @@ buildvariants:
12561256
# - matrix_name: "x509-tests"
12571257
# matrix_spec:
12581258
# auth-and-ssl: "x509"
1259-
# ruby: "ruby-3.1"
1259+
# ruby: "ruby-3.2"
12601260
# # needs the latest_5x_mdb because run-tests.sh uses `mongo` to configure
12611261
# # the server for certain auth mechanisms. Once run-tests.sh is made smart
12621262
# # enough to install mongosh, and then use either mongo or mongosh
@@ -1283,7 +1283,7 @@ buildvariants:
12831283
- matrix_name: "zlib"
12841284
matrix_spec:
12851285
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
1286-
ruby: ["ruby-3.1", "ruby-2.7", "jruby-9.3"]
1286+
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
12871287
mongodb-version: "6.0"
12881288
topology: "replica-set"
12891289
compressor: 'zlib'
@@ -1295,7 +1295,7 @@ buildvariants:
12951295
- matrix_name: "snappy"
12961296
matrix_spec:
12971297
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
1298-
ruby: ["ruby-3.1", "ruby-2.7", "jruby-9.3"]
1298+
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
12991299
mongodb-version: "6.0"
13001300
topology: "replica-set"
13011301
compressor: 'snappy'
@@ -1311,7 +1311,7 @@ buildvariants:
13111311
- matrix_name: "zstd-auth"
13121312
matrix_spec:
13131313
auth-and-ssl: [ "auth-and-ssl", "noauth-and-nossl" ]
1314-
ruby: ["ruby-3.1", "ruby-2.7"]
1314+
ruby: ["ruby-3.2", "ruby-2.7"]
13151315
mongodb-version: "6.0"
13161316
topology: "replica-set"
13171317
compressor: 'zstd'
@@ -1322,7 +1322,7 @@ buildvariants:
13221322

13231323
- matrix_name: "activesupport"
13241324
matrix_spec:
1325-
ruby: ["ruby-3.1", "ruby-2.7", "jruby-9.3"]
1325+
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
13261326
mongodb-version: "6.0"
13271327
topology: replica-set
13281328
as: as
@@ -1333,7 +1333,7 @@ buildvariants:
13331333

13341334
- matrix_name: "bson"
13351335
matrix_spec:
1336-
ruby: ["ruby-3.1", "ruby-2.7", "jruby-9.3"]
1336+
ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
13371337
mongodb-version: "6.0"
13381338
topology: replica-set
13391339
bson: "*"
@@ -1345,15 +1345,15 @@ buildvariants:
13451345
# kerberos integration tests are broken (RUBY-3266)
13461346
# - matrix_name: "kerberos-integration"
13471347
# matrix_spec:
1348-
# ruby: ["ruby-3.1", "ruby-2.7", "jruby-9.3"]
1348+
# ruby: ["ruby-3.2", "ruby-2.7", "jruby-9.3"]
13491349
# os: rhel8
13501350
# display_name: "Kerberos integration ${os} ${ruby}"
13511351
# tasks:
13521352
# - name: "test-kerberos-integration"
13531353

13541354
- matrix_name: "kerberos-unit"
13551355
matrix_spec:
1356-
ruby: "ruby-3.1"
1356+
ruby: "ruby-3.2"
13571357
mongodb-version: "6.0"
13581358
topology: standalone
13591359
os: rhel8
@@ -1365,7 +1365,7 @@ buildvariants:
13651365
- matrix_name: "fle-latest"
13661366
matrix_spec:
13671367
auth-and-ssl: "noauth-and-nossl"
1368-
ruby: "ruby-3.1"
1368+
ruby: "ruby-3.2"
13691369
topology: [replica-set, sharded-cluster]
13701370
mongodb-version: [ 'latest', '7.0' ]
13711371
os: rhel8
@@ -1377,7 +1377,7 @@ buildvariants:
13771377
- matrix_name: "fle"
13781378
matrix_spec:
13791379
auth-and-ssl: "noauth-and-nossl"
1380-
ruby: ["ruby-3.1", "ruby-2.7"]
1380+
ruby: ["ruby-3.2", "ruby-2.7"]
13811381
topology: [replica-set, sharded-cluster]
13821382
mongodb-version: [ '6.0', '4.4', '4.2', '4.0' ]
13831383
os: rhel8
@@ -1389,7 +1389,7 @@ buildvariants:
13891389
- matrix_name: aws-auth-regular
13901390
matrix_spec:
13911391
auth-and-ssl: [ aws-regular, aws-assume-role, aws-ec2, aws-ecs, aws-web-identity ]
1392-
ruby: "ruby-3.1"
1392+
ruby: "ruby-3.2"
13931393
topology: standalone
13941394
# needs the latest_5x_mdb because run-tests.sh uses `mongo` to configure
13951395
# the server for certain auth mechanisms. Once run-tests.sh is made smart
@@ -1406,7 +1406,7 @@ buildvariants:
14061406
matrix_spec:
14071407
ocsp-verifier: true
14081408
# No JRuby due to https://github.com/jruby/jruby-openssl/issues/210
1409-
ruby: ["ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
1409+
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
14101410
topology: standalone
14111411
mongodb-version: "6.0"
14121412
os: rhel8
@@ -1419,7 +1419,7 @@ buildvariants:
14191419
ocsp-algorithm: ecdsa
14201420
ocsp-must-staple: on
14211421
ocsp-delegate: on
1422-
ruby: ["ruby-3.1", "ruby-2.7"]
1422+
ruby: ["ruby-3.2", "ruby-2.7"]
14231423
topology: standalone
14241424
mongodb-version: "6.0"
14251425
os: rhel8
@@ -1432,7 +1432,7 @@ buildvariants:
14321432
matrix_spec:
14331433
ocsp-algorithm: rsa
14341434
ocsp-status: unknown
1435-
ruby: ["ruby-3.1", "ruby-2.7"]
1435+
ruby: ["ruby-3.2", "ruby-2.7"]
14361436
topology: standalone
14371437
mongodb-version: "6.0"
14381438
os: rhel8
@@ -1448,7 +1448,7 @@ buildvariants:
14481448
ocsp-delegate: '*'
14491449
ocsp-connectivity: pass
14501450
extra-uri-options: "none"
1451-
ruby: ["ruby-3.1", "ruby-2.7"]
1451+
ruby: ["ruby-3.2", "ruby-2.7"]
14521452
topology: standalone
14531453
mongodb-version: "6.0"
14541454
os: rhel8
@@ -1462,7 +1462,7 @@ buildvariants:
14621462
ocsp-delegate: '*'
14631463
ocsp-connectivity: pass
14641464
extra-uri-options: "none"
1465-
ruby: ["ruby-3.1", "ruby-2.7"]
1465+
ruby: ["ruby-3.2", "ruby-2.7"]
14661466
topology: standalone
14671467
mongodb-version: "6.0"
14681468
os: rhel8
@@ -1476,7 +1476,7 @@ buildvariants:
14761476
ocsp-delegate: '*'
14771477
ocsp-connectivity: fail
14781478
extra-uri-options: "none"
1479-
ruby: ["ruby-3.1", "ruby-2.7"]
1479+
ruby: ["ruby-3.2", "ruby-2.7"]
14801480
topology: standalone
14811481
mongodb-version: "6.0"
14821482
os: rhel8
@@ -1490,7 +1490,7 @@ buildvariants:
14901490
ocsp-delegate: '*'
14911491
ocsp-connectivity: pass
14921492
extra-uri-options: "tlsInsecure=true"
1493-
ruby: ["ruby-3.1", "ruby-2.7"]
1493+
ruby: ["ruby-3.2", "ruby-2.7"]
14941494
topology: standalone
14951495
mongodb-version: "6.0"
14961496
os: rhel8
@@ -1504,7 +1504,7 @@ buildvariants:
15041504
ocsp-delegate: '*'
15051505
ocsp-connectivity: pass
15061506
extra-uri-options: "tlsInsecure=true"
1507-
ruby: ["ruby-3.1", "ruby-2.7"]
1507+
ruby: ["ruby-3.2", "ruby-2.7"]
15081508
topology: standalone
15091509
mongodb-version: "6.0"
15101510
os: rhel8
@@ -1518,7 +1518,7 @@ buildvariants:
15181518
ocsp-delegate: '*'
15191519
ocsp-connectivity: pass
15201520
extra-uri-options: "tlsInsecure=true"
1521-
ruby: ["ruby-3.1", "ruby-2.7"]
1521+
ruby: ["ruby-3.2", "ruby-2.7"]
15221522
topology: standalone
15231523
mongodb-version: "6.0"
15241524
os: rhel8
@@ -1532,7 +1532,7 @@ buildvariants:
15321532
ocsp-delegate: '*'
15331533
ocsp-connectivity: pass
15341534
extra-uri-options: "tlsAllowInvalidCertificates=true"
1535-
ruby: ["ruby-3.1", "ruby-2.7"]
1535+
ruby: ["ruby-3.2", "ruby-2.7"]
15361536
topology: standalone
15371537
mongodb-version: "6.0"
15381538
os: rhel8
@@ -1546,7 +1546,7 @@ buildvariants:
15461546
ocsp-delegate: '*'
15471547
ocsp-connectivity: pass
15481548
extra-uri-options: "tlsAllowInvalidCertificates=true"
1549-
ruby: ["ruby-3.1", "ruby-2.7"]
1549+
ruby: ["ruby-3.2", "ruby-2.7"]
15501550
topology: standalone
15511551
mongodb-version: "6.0"
15521552
os: rhel8
@@ -1560,7 +1560,7 @@ buildvariants:
15601560
ocsp-delegate: '*'
15611561
ocsp-connectivity: pass
15621562
extra-uri-options: "tlsAllowInvalidCertificates=true"
1563-
ruby: ["ruby-3.1", "ruby-2.7"]
1563+
ruby: ["ruby-3.2", "ruby-2.7"]
15641564
topology: standalone
15651565
mongodb-version: "6.0"
15661566
os: rhel8
@@ -1590,7 +1590,7 @@ buildvariants:
15901590

15911591
- matrix_name: testgcpkms-variant
15921592
matrix_spec:
1593-
ruby: "ruby-3.1"
1593+
ruby: "ruby-3.2"
15941594
fle: helper
15951595
topology: standalone
15961596
os: rhel8
@@ -1614,7 +1614,7 @@ buildvariants:
16141614

16151615
- matrix_name: "atlas"
16161616
matrix_spec:
1617-
ruby: ["ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
1617+
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"]
16181618
os: rhel8
16191619
display_name: "Atlas tests ${ruby}"
16201620
tasks:
@@ -1623,8 +1623,8 @@ buildvariants:
16231623
- matrix_name: "serverless"
16241624
matrix_spec:
16251625
# https://jira.mongodb.org/browse/RUBY-3217
1626-
# ruby: ["ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5", "jruby-9.3", "jruby-9.2"]
1627-
ruby: ["ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
1626+
# 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"]
1627+
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "ruby-2.6", "ruby-2.5"]
16281628
fle: path
16291629
os: rhel8
16301630
display_name: "Atlas serverless ${ruby} single mongos"

.evergreen/config/standard.yml.erb

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
<%
22
topologies = %w( standalone replica-set sharded-cluster )
33

4-
# ruby-3.2 is available in the toolchain, but tests break. It will
5-
# require some investigation. Once available:
6-
# 1. set `latest_ruby` to ruby-3.2
7-
# 2. add ruby-3.2 to `recent_rubies` and `supported_mri_rubies`
8-
# 3. replace ruby-3.1 with ruby-3.2 in `sample_mri_rubies`.
9-
104
# jruby-9.4 is available in the toolchain, but tests break. It will
115
# require some investigation. Once available:
126
# 1. replace jruby-9.3 with jruby-9.4 in `recent_rubies` and
@@ -15,13 +9,13 @@
159

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

2014
# these are used for testing against a few recent ruby versions
21-
recent_rubies = %w( ruby-3.1 jruby-9.3 )
15+
recent_rubies = %w( ruby-3.2 ruby-3.1 jruby-9.3 )
2216

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

2620
# as above, but including the most recent JRuby release
2721
sample_rubies = sample_mri_rubies + %w( jruby-9.3 )
@@ -32,7 +26,7 @@
3226
# all supported JRuby versions provided by 10gen/mongo-ruby-toolchain
3327
jrubies = %w( jruby-9.3 jruby-9.2 )
3428

35-
supported_mri_rubies = %w( ruby-3.1 ruby-3.0
29+
supported_mri_rubies = %w( ruby-3.2 ruby-3.1 ruby-3.0
3630
ruby-2.7 ruby-2.6 ruby-2.5 )
3731

3832
supported_rubies = supported_mri_rubies + jrubies

0 commit comments

Comments
 (0)