Skip to content

Commit 41de284

Browse files
Merge branch 'master' into merge-9.0-stable-to-master
2 parents 28c43be + 8eb4727 commit 41de284

File tree

22 files changed

+173
-201
lines changed

22 files changed

+173
-201
lines changed

.evergreen/config.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ functions:
3939
git submodule update --init --recursive
4040
4141
"create expansions":
42-
# Make an evergreen expansion file with dynamic values
42+
# Make an evergreen exapansion file with dynamic values
4343
- command: shell.exec
4444
params:
4545
working_dir: "src"
@@ -427,6 +427,10 @@ axes:
427427
display_name: Sharded Cluster
428428
variables:
429429
TOPOLOGY: "sharded-cluster"
430+
- id: "load-balanced"
431+
display_name: Load Balanced
432+
variables:
433+
TOPOLOGY: "load-balanced"
430434

431435
- id: "auth"
432436
display_name: Authentication
@@ -639,22 +643,22 @@ buildvariants:
639643
tasks:
640644
- name: "test"
641645

642-
- matrix_name: "ruby-3.3"
646+
- matrix_name: "ruby-3.2 + db-7.0"
643647
matrix_spec:
644648
ruby: ["ruby-3.2"]
645649
driver: ["current"]
646-
topology: '*'
650+
topology: ['standalone', 'replica-set', 'sharded-cluster']
647651
mongodb-version: ['7.0']
648652
os: ubuntu-22.04
649653
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
650654
tasks:
651655
- name: "test"
652656

653-
- matrix_name: "ruby-3.2"
657+
- matrix_name: "ruby-3.2 + db-6.0"
654658
matrix_spec:
655659
ruby: ["ruby-3.2"]
656660
driver: ["current"]
657-
topology: '*'
661+
topology: ['standalone', 'replica-set', 'sharded-cluster']
658662
mongodb-version: ['6.0']
659663
os: ubuntu-22.04
660664
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
@@ -665,7 +669,7 @@ buildvariants:
665669
matrix_spec:
666670
ruby: ["ruby-3.1"]
667671
driver: ["current"]
668-
topology: '*'
672+
topology: ['standalone', 'replica-set', 'sharded-cluster']
669673
mongodb-version: ['6.0']
670674
os: ubuntu-22.04
671675
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
@@ -698,7 +702,7 @@ buildvariants:
698702
matrix_spec:
699703
ruby: ["ruby-2.7"]
700704
driver: ["current"]
701-
topology: '*'
705+
topology: ['standalone', 'replica-set', 'sharded-cluster']
702706
mongodb-version: ['4.4']
703707
os: ubuntu-20.04
704708
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"

.evergreen/config/axes.yml.erb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ axes:
5454
display_name: Sharded Cluster
5555
variables:
5656
TOPOLOGY: "sharded-cluster"
57+
- id: "load-balanced"
58+
display_name: Load Balanced
59+
variables:
60+
TOPOLOGY: "load-balanced"
5761

5862
- id: "auth"
5963
display_name: Authentication

.evergreen/config/commands.yml.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ functions:
1313
git submodule update --init --recursive
1414

1515
"create expansions":
16-
# Make an evergreen exapanstion file with dynamic values
16+
# Make an evergreen exapansion file with dynamic values
1717
- command: shell.exec
1818
params:
1919
working_dir: "src"

.evergreen/config/variants.yml.erb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,22 @@ buildvariants:
1010
tasks:
1111
- name: "test"
1212

13-
- matrix_name: "ruby-3.3"
13+
- matrix_name: "ruby-3.2 + db-7.0"
1414
matrix_spec:
1515
ruby: ["ruby-3.2"]
1616
driver: ["current"]
17-
topology: '*'
17+
topology: ['standalone', 'replica-set', 'sharded-cluster']
1818
mongodb-version: ['7.0']
1919
os: ubuntu-22.04
2020
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
2121
tasks:
2222
- name: "test"
2323

24-
- matrix_name: "ruby-3.2"
24+
- matrix_name: "ruby-3.2 + db-6.0"
2525
matrix_spec:
2626
ruby: ["ruby-3.2"]
2727
driver: ["current"]
28-
topology: '*'
28+
topology: ['standalone', 'replica-set', 'sharded-cluster']
2929
mongodb-version: ['6.0']
3030
os: ubuntu-22.04
3131
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
@@ -36,7 +36,7 @@ buildvariants:
3636
matrix_spec:
3737
ruby: ["ruby-3.1"]
3838
driver: ["current"]
39-
topology: '*'
39+
topology: ['standalone', 'replica-set', 'sharded-cluster']
4040
mongodb-version: ['6.0']
4141
os: ubuntu-22.04
4242
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
@@ -69,7 +69,7 @@ buildvariants:
6969
matrix_spec:
7070
ruby: ["ruby-2.7"]
7171
driver: ["current"]
72-
topology: '*'
72+
topology: ['standalone', 'replica-set', 'sharded-cluster']
7373
mongodb-version: ['4.4']
7474
os: ubuntu-20.04
7575
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"

.evergreen/run-tests.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ set -o errexit # Exit the script with error if any of the commands fail
88
# RVM_RUBY Define the Ruby version to test with, using its RVM identifier.
99
# For example: "ruby-3.0" or "jruby-9.2"
1010

11-
. `dirname "$0"`/../spec/shared/shlib/distro.sh
12-
. `dirname "$0"`/../spec/shared/shlib/set_env.sh
13-
. `dirname "$0"`/../spec/shared/shlib/server.sh
11+
MRSS_ROOT=`dirname "$0"`/../spec/shared
12+
13+
. $MRSS_ROOT/shlib/distro.sh
14+
. $MRSS_ROOT/shlib/set_env.sh
15+
. $MRSS_ROOT/shlib/server.sh
1416
. `dirname "$0"`/functions.sh
1517

1618
arch=`host_distro`
@@ -28,6 +30,10 @@ prepare_server $arch
2830

2931
install_mlaunch_venv
3032

33+
if test "$TOPOLOGY" = load-balanced; then
34+
install_haproxy
35+
fi
36+
3137
# Launching mongod under $MONGO_ORCHESTRATION_HOME
3238
# makes its log available through log collecting machinery
3339

.github/workflows/test.yml

Lines changed: 12 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -7,145 +7,22 @@ name: Run Mongoid Tests
77
- pull_request
88
jobs:
99
build:
10-
name: "${{matrix.ruby}} drv:${{matrix.driver}} db:${{matrix.mongodb}}
10+
name: "${{matrix.ruby}} db:${{matrix.mongodb}}
1111
rails:${{matrix.rails}} fle:${{matrix.fle}} ${{matrix.topology}}"
1212
env:
1313
CI: true
1414
TESTOPTS: "-v"
15-
runs-on: ${{matrix.os}}
16-
continue-on-error: "${{matrix.experimental}}"
15+
BUNDLE_GEMFILE: "${{ matrix.rails == '' && 'Gemfile' || format('gemfiles/rails-{0}.gemfile', matrix.rails) }}"
16+
runs-on: ubuntu-22.04
17+
continue-on-error: false
1718
strategy:
1819
fail-fast: false
1920
matrix:
20-
include:
21-
- mongodb: '7.0'
22-
ruby: ruby-3.3
23-
topology: replica_set
24-
os: ubuntu-20.04
25-
task: test
26-
driver: current
27-
gemfile: Gemfile
28-
experimental: false
29-
- mongodb: '6.0'
30-
ruby: ruby-3.2
31-
topology: replica_set
32-
os: ubuntu-20.04
33-
task: test
34-
driver: current
35-
gemfile: Gemfile
36-
experimental: false
37-
- mongodb: '6.0'
38-
ruby: ruby-3.1
39-
topology: replica_set
40-
os: ubuntu-20.04
41-
task: test
42-
driver: current
43-
gemfile: Gemfile
44-
experimental: false
45-
- mongodb: '6.0'
46-
ruby: ruby-3.0
47-
topology: replica_set
48-
os: ubuntu-20.04
49-
task: test
50-
driver: stable
51-
gemfile: gemfiles/driver_stable.gemfile
52-
experimental: false
53-
- mongodb: '7.0'
54-
ruby: ruby-3.3
55-
topology: server
56-
os: ubuntu-22.04
57-
task: test
58-
driver: current
59-
rails: '8.0'
60-
fle: helper
61-
gemfile: gemfiles/rails-8.0.gemfile
62-
experimental: false
63-
- mongodb: '7.0'
64-
ruby: ruby-3.2
65-
topology: server
66-
os: ubuntu-20.04
67-
task: test
68-
driver: current
69-
rails: '7.2'
70-
fle: helper
71-
gemfile: gemfiles/rails-7.2.gemfile
72-
experimental: false
73-
- mongodb: '7.0'
74-
ruby: ruby-3.2
75-
topology: server
76-
os: ubuntu-20.04
77-
task: test
78-
driver: current
79-
rails: '7.1'
80-
fle: helper
81-
gemfile: gemfiles/rails-7.1.gemfile
82-
experimental: false
83-
- mongodb: '7.0'
84-
ruby: ruby-3.1
85-
topology: server
86-
os: ubuntu-20.04
87-
task: test
88-
driver: current
89-
rails: '7.0'
90-
fle: helper
91-
gemfile: gemfiles/rails-7.0.gemfile
92-
experimental: false
93-
- mongodb: '6.0'
94-
ruby: ruby-3.1
95-
topology: server
96-
os: ubuntu-20.04
97-
task: test
98-
driver: current
99-
rails: '6.1'
100-
fle: helper
101-
gemfile: gemfiles/rails-6.1.gemfile
102-
experimental: false
103-
- mongodb: '6.0'
104-
ruby: ruby-3.0
105-
topology: server
106-
os: ubuntu-20.04
107-
task: test
108-
driver: current
109-
rails: '6.1'
110-
fle: helper
111-
gemfile: gemfiles/rails-6.1.gemfile
112-
experimental: false
113-
- mongodb: '6.0'
114-
ruby: ruby-3.0
115-
topology: server
116-
os: ubuntu-20.04
117-
task: test
118-
driver: current
119-
rails: '6.0'
120-
fle: helper
121-
gemfile: gemfiles/rails-6.0.gemfile
122-
experimental: false
123-
- mongodb: '6.0'
124-
ruby: jruby-9.4
125-
topology: server
126-
os: ubuntu-20.04
127-
task: test
128-
driver: current
129-
rails: '6.0'
130-
fle: helper
131-
gemfile: gemfiles/rails-6.0.gemfile
132-
experimental: false
133-
- mongodb: '5.0'
134-
ruby: ruby-3.1
135-
topology: replica_set
136-
os: ubuntu-20.04
137-
task: test
138-
driver: current
139-
gemfile: Gemfile
140-
experimental: false
141-
- mongodb: '4.4'
142-
ruby: ruby-2.7
143-
topology: replica_set
144-
os: ubuntu-20.04
145-
task: test
146-
driver: current
147-
gemfile: Gemfile
148-
experimental: false
21+
ruby: [ "3.3" ]
22+
mongodb: [ "8.0" ]
23+
rails: [ ~, "8.0" ]
24+
fle: [ ~, "helper" ]
25+
topology: [ replica_set, sharded_cluster ]
14926

15027
steps:
15128
- name: repo checkout
@@ -169,20 +46,20 @@ jobs:
16946
uses: ruby/setup-ruby@v1
17047
env:
17148
FLE: "${{matrix.fle}}"
172-
BUNDLE_GEMFILE: "${{matrix.gemfile}}"
49+
BUNDLE_GEMFILE: "${{env.BUNDLE_GEMFILE}}"
17350
with:
17451
ruby-version: "${{matrix.ruby}}"
17552
bundler: 2
17653
- name: bundle
17754
run: bundle install --jobs 4 --retry 3
17855
env:
17956
FLE: "${{matrix.fle}}"
180-
BUNDLE_GEMFILE: "${{matrix.gemfile}}"
57+
BUNDLE_GEMFILE: "${{env.BUNDLE_GEMFILE}}"
18158
- name: test
18259
timeout-minutes: 60
18360
continue-on-error: "${{matrix.experimental}}"
18461
run: bundle exec rake ci
18562
env:
186-
BUNDLE_GEMFILE: "${{matrix.gemfile}}"
63+
BUNDLE_GEMFILE: "${{env.BUNDLE_GEMFILE}}"
18764
FLE: "${{matrix.fle}}"
18865
MONGODB_URI: "${{ steps.start-mongodb.outputs.cluster-uri }}"

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ if RUBY_PLATFORM =~ /java/
1717
end
1818

1919
gem 'i18n', *i18n_versions
20+
21+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
22+
gem "tzinfo-data", platforms: %i[ windows jruby ]

gemfiles/standard.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ def standard_dependencies
4949
end
5050

5151
if ENV['FLE'] == 'helper'
52-
gem 'libmongocrypt-helper', '~> 1.8.0'
52+
gem 'libmongocrypt-helper', '~> 1.14.0'
5353
end
5454
end

lib/mongoid/association/embedded/embeds_one/proxy.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ def initialize(base, target, association)
3636
bind_one
3737
characterize_one(_target)
3838
update_attributes_hash(_target)
39-
_base._reset_memoized_descendants!
4039
_target.save if persistable?
40+
_base._reset_memoized_descendants!
4141
end
4242
end
4343

lib/mongoid/contextual/mongo.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1122,7 +1122,7 @@ def retrieve_nth_to_last(n)
11221122
end
11231123

11241124
def retrieve_nth_to_last_with_limit(n, limit)
1125-
v = view.sort(inverse_sorting).skip(n).limit(limit || 1)
1125+
v = view.sort(inverse_sorting).limit(limit || 1)
11261126
v = v.skip(n) if n > 0
11271127
raw_docs = v.to_a.reverse
11281128
process_raw_docs(raw_docs, limit)

0 commit comments

Comments
 (0)