Skip to content

Commit ed8c663

Browse files
authored
Merge branch 'master' into fix-test-coll-panic
2 parents 9c1a3fe + 21e96b6 commit ed8c663

File tree

263 files changed

+2575
-1009
lines changed

Some content is hidden

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

263 files changed

+2575
-1009
lines changed

Diff for: .evergreen/config.yml

+52-49
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ functions:
5757
handle-test-artifacts:
5858
- command: gotest.parse_files
5959
params:
60+
optional_output: "true"
6061
files:
6162
- "src/go.mongodb.org/mongo-driver/*.suite"
6263
- command: ec2.assume_role
@@ -1420,16 +1421,15 @@ tasks:
14201421
vars:
14211422
MONGO_GO_DRIVER_COMPRESSOR: "snappy"
14221423

1423-
# Build the compilecheck submodule with the oldest supported version of Go.
1424-
- name: go1.18-build
1424+
# Build the compilecheck submodule with all supported versions of Go >=
1425+
# the minimum supported version.
1426+
- name: go-build
14251427
tags: ["compile-check"]
14261428
commands:
14271429
- command: subprocess.exec
14281430
params:
14291431
binary: bash
1430-
env:
1431-
GO_VERSION: "1.18"
1432-
args: [*task-runner, build-compile-check]
1432+
args: [*task-runner, build-compile-check-all]
14331433

14341434
# Build with the same Go version that we're using for tests.
14351435
- name: build
@@ -1481,6 +1481,23 @@ tasks:
14811481
SSL: "nossl"
14821482
REQUIRE_API_VERSION: true
14831483

1484+
- name: "test-sharded-versioned-api"
1485+
tags: ["versioned-api"]
1486+
commands:
1487+
- func: bootstrap-mongo-orchestration
1488+
vars:
1489+
TOPOLOGY: "sharded_cluster"
1490+
AUTH: "auth"
1491+
SSL: "nossl"
1492+
REQUIRE_API_VERSION: true
1493+
- func: start-cse-servers
1494+
- func: run-versioned-api-test
1495+
vars:
1496+
TOPOLOGY: "sharded_cluster"
1497+
AUTH: "auth"
1498+
SSL: "nossl"
1499+
REQUIRE_API_VERSION: true
1500+
14841501
- name: "test-standalone-versioned-api-test-commands"
14851502
tags: ["versioned-api"]
14861503
commands:
@@ -1722,10 +1739,6 @@ axes:
17221739
display_name: "4.0"
17231740
variables:
17241741
VERSION: "4.0"
1725-
- id: "3.6"
1726-
display_name: "3.6"
1727-
variables:
1728-
VERSION: "3.6"
17291742
- id: "rapid"
17301743
display_name: "rapid"
17311744
variables:
@@ -1745,7 +1758,7 @@ axes:
17451758
- windows-vsCurrent-small
17461759
variables:
17471760
GCC_PATH: "/cygdrive/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin"
1748-
GO_DIST: "C:\\golang\\go1.22"
1761+
GO_DIST: "C:\\golang\\go1.23"
17491762
VENV_BIN_DIR: "Scripts"
17501763
DEFAULT_TASK: evg-test
17511764
# CSOT tests are unreliable on our slow Windows hosts.
@@ -1754,14 +1767,14 @@ axes:
17541767
display_name: "RHEL 8.7"
17551768
run_on: rhel8.7-large
17561769
variables:
1757-
GO_DIST: "/opt/golang/go1.22"
1770+
GO_DIST: "/opt/golang/go1.23"
17581771
DEFAULT_TASK: evg-test
17591772
- id: "macos"
17601773
display_name: "MacOS 14.0"
17611774
run_on: macos-14
17621775
batchtime: 1440 # Run at most once per 24 hours.
17631776
variables:
1764-
GO_DIST: "/opt/golang/go1.22"
1777+
GO_DIST: "/opt/golang/go1.23"
17651778
DEFAULT_TASK: evg-test-load-balancers
17661779
# CSOT tests are unreliable on our slow macOS hosts.
17671780
SKIP_CSOT_TESTS: true
@@ -1776,7 +1789,7 @@ axes:
17761789
- windows-vsCurrent-small
17771790
variables:
17781791
GCC_PATH: "/cygdrive/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin"
1779-
GO_DIST: "C:\\golang\\go1.22"
1792+
GO_DIST: "C:\\golang\\go1.23"
17801793
VENV_BIN_DIR: "Scripts"
17811794
DEFAULT_TASK: evg-test
17821795
# CSOT tests are unreliable on our slow Windows hosts.
@@ -1785,14 +1798,14 @@ axes:
17851798
display_name: "RHEL 8.7"
17861799
run_on: rhel8.7-large
17871800
variables:
1788-
GO_DIST: "/opt/golang/go1.22"
1801+
GO_DIST: "/opt/golang/go1.23"
17891802
DEFAULT_TASK: evg-test
17901803
- id: "macos"
17911804
display_name: "MacOS 14.0"
17921805
run_on: macos-14
17931806
batchtime: 1440 # Run at most once per 24 hours.
17941807
variables:
1795-
GO_DIST: "/opt/golang/go1.22"
1808+
GO_DIST: "/opt/golang/go1.23"
17961809
DEFAULT_TASK: evg-test-load-balancers
17971810
# CSOT tests are unreliable on our slow macOS hosts.
17981811
SKIP_CSOT_TESTS: true
@@ -1804,7 +1817,7 @@ axes:
18041817
display_name: "RHEL 8.7"
18051818
run_on: rhel8.7-large
18061819
variables:
1807-
GO_DIST: "/opt/golang/go1.22"
1820+
GO_DIST: "/opt/golang/go1.23"
18081821
DEFAULT_TASK: evg-test
18091822

18101823
- id: os-aws-auth
@@ -1816,7 +1829,7 @@ axes:
18161829
- windows-vsCurrent-small
18171830
variables:
18181831
GCC_PATH: "/cygdrive/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin"
1819-
GO_DIST: "C:\\golang\\go1.22"
1832+
GO_DIST: "C:\\golang\\go1.23"
18201833
SKIP_ECS_AUTH_TEST: true
18211834
DEFAULT_TASK: evg-test
18221835
# CSOT tests are unreliable on our slow Windows hosts.
@@ -1825,14 +1838,14 @@ axes:
18251838
display_name: "Ubuntu 20.04"
18261839
run_on: ubuntu2004-test
18271840
variables:
1828-
GO_DIST: "/opt/golang/go1.22"
1841+
GO_DIST: "/opt/golang/go1.23"
18291842
DEFAULT_TASK: evg-test
18301843
- id: "macos"
18311844
display_name: "MacOS 14.0"
18321845
run_on: macos-14
18331846
batchtime: 1440 # Run at most once per 24 hours.
18341847
variables:
1835-
GO_DIST: "/opt/golang/go1.22"
1848+
GO_DIST: "/opt/golang/go1.23"
18361849
SKIP_ECS_AUTH_TEST: true
18371850
SKIP_EC2_AUTH_TEST: true
18381851
SKIP_WEB_IDENTITY_AUTH_TEST: true
@@ -1847,7 +1860,7 @@ axes:
18471860
display_name: "RHEL 8.7"
18481861
run_on: rhel8.7-large
18491862
variables:
1850-
GO_DIST: "/opt/golang/go1.22"
1863+
GO_DIST: "/opt/golang/go1.23"
18511864

18521865
- id: os-serverless
18531866
display_name: OS
@@ -1856,7 +1869,7 @@ axes:
18561869
display_name: "RHEL 8.7"
18571870
run_on: rhel8.7-small
18581871
variables:
1859-
GO_DIST: "/opt/golang/go1.22"
1872+
GO_DIST: "/opt/golang/go1.23"
18601873

18611874
task_groups:
18621875
- name: serverless_task_group
@@ -1932,7 +1945,10 @@ task_groups:
19321945
- name: testoidc_task_group
19331946
setup_group_can_fail_task: true
19341947
setup_group_timeout_secs: 1800
1935-
teardown_task_can_fail_task: true
1948+
# TODO(DRIVERS-3141): Uncomment the following line once the teardown bug is
1949+
# fixed. See DRIVERS-3141 for more context.
1950+
#
1951+
# teardown_task_can_fail_task: true
19361952
teardown_group_timeout_secs: 180 # 3 minutes (max allowed time)
19371953
setup_group:
19381954
- func: setup-system
@@ -2095,7 +2111,7 @@ buildvariants:
20952111
- rhel8.7-small
20962112
expansions:
20972113
# Keep this in sync with go version used in etc/golangci-lint.sh
2098-
GO_DIST: "/opt/golang/go1.22"
2114+
GO_DIST: "/opt/golang/go1.23"
20992115
tasks:
21002116
- name: ".static-analysis"
21012117

@@ -2105,7 +2121,7 @@ buildvariants:
21052121
run_on:
21062122
- rhel8.7-small
21072123
expansions:
2108-
GO_DIST: "/opt/golang/go1.22"
2124+
GO_DIST: "/opt/golang/go1.23"
21092125
tasks:
21102126
- name: "pull-request-helpers"
21112127

@@ -2114,17 +2130,17 @@ buildvariants:
21142130
display_name: "Performance"
21152131
run_on: rhel90-dbx-perf-large
21162132
expansions:
2117-
GO_DIST: "/opt/golang/go1.22"
2133+
GO_DIST: "/opt/golang/go1.23"
21182134
tasks:
21192135
- name: ".performance"
21202136

21212137
- name: build-check
21222138
tags: ["pullrequest"]
21232139
display_name: "Compile Only Checks"
21242140
run_on:
2125-
- rhel8.7-small
2141+
- ubuntu2204-small
21262142
expansions:
2127-
GO_DIST: "/opt/golang/go1.22"
2143+
GO_DIST: "/opt/golang/go1.23"
21282144
tasks:
21292145
- name: ".compile-check"
21302146

@@ -2133,7 +2149,7 @@ buildvariants:
21332149
run_on:
21342150
- rhel8.7-small
21352151
expansions:
2136-
GO_DIST: "/opt/golang/go1.22"
2152+
GO_DIST: "/opt/golang/go1.23"
21372153
tasks:
21382154
- name: "backport-pr"
21392155

@@ -2143,7 +2159,7 @@ buildvariants:
21432159
run_on:
21442160
- rhel8.7-large
21452161
expansions:
2146-
GO_DIST: "/opt/golang/go1.22"
2162+
GO_DIST: "/opt/golang/go1.23"
21472163
tasks:
21482164
- name: "atlas-test"
21492165

@@ -2153,7 +2169,7 @@ buildvariants:
21532169
run_on:
21542170
- ubuntu2004-large
21552171
expansions:
2156-
GO_DIST: "/opt/golang/go1.22"
2172+
GO_DIST: "/opt/golang/go1.23"
21572173
tasks:
21582174
- name: "test-atlas-data-lake"
21592175

@@ -2163,7 +2179,7 @@ buildvariants:
21632179
run_on:
21642180
- ubuntu2204-large
21652181
expansions:
2166-
GO_DIST: "/opt/golang/go1.22"
2182+
GO_DIST: "/opt/golang/go1.23"
21672183
tasks:
21682184
- name: "test-docker-runner"
21692185

@@ -2173,23 +2189,10 @@ buildvariants:
21732189
run_on:
21742190
- ubuntu2204-large
21752191
expansions:
2176-
GO_DIST: "/opt/golang/go1.22"
2192+
GO_DIST: "/opt/golang/go1.23"
21772193
tasks:
21782194
- name: ".goleak"
21792195

2180-
- matrix_name: "tests-rhel-36-with-zlib-support"
2181-
tags: ["pullrequest"]
2182-
matrix_spec: { version: ["3.6"], os-ssl-32: ["rhel87-64"] }
2183-
display_name: "${version} ${os-ssl-32}"
2184-
tasks:
2185-
- name: ".test !.enterprise-auth !.snappy !.zstd"
2186-
2187-
- matrix_name: "tests-windows-36-with-zlib-support"
2188-
matrix_spec: { version: ["3.6"], os-ssl-32: ["windows-64"] }
2189-
display_name: "${version} ${os-ssl-32}"
2190-
tasks:
2191-
- name: ".test !.enterprise-auth !.snappy !.zstd"
2192-
21932196
- matrix_name: "tests-rhel-40-with-snappy-support"
21942197
tags: ["pullrequest"]
21952198
matrix_spec: { version: ["4.0"], os-ssl-40: ["rhel87-64"] }
@@ -2340,7 +2343,7 @@ buildvariants:
23402343
run_on:
23412344
- rhel8.7-small
23422345
expansions:
2343-
GO_DIST: "/opt/golang/go1.22"
2346+
GO_DIST: "/opt/golang/go1.23"
23442347
tasks:
23452348
- name: testgcpkms_task_group
23462349
batchtime: 20160 # Use a batchtime of 14 days as suggested by the CSFLE test README
@@ -2351,7 +2354,7 @@ buildvariants:
23512354
run_on:
23522355
- rhel8.7-small
23532356
expansions:
2354-
GO_DIST: "/opt/golang/go1.22"
2357+
GO_DIST: "/opt/golang/go1.23"
23552358
tasks:
23562359
- testawskms-task
23572360
- testawskms-fail-task
@@ -2361,7 +2364,7 @@ buildvariants:
23612364
run_on:
23622365
- rhel8.7-small
23632366
expansions:
2364-
GO_DIST: "/opt/golang/go1.22"
2367+
GO_DIST: "/opt/golang/go1.23"
23652368
tasks:
23662369
- name: testazurekms_task_group
23672370
batchtime: 20160 # Use a batchtime of 14 days as suggested by the CSFLE test README
@@ -2372,7 +2375,7 @@ buildvariants:
23722375
run_on:
23732376
- ubuntu2204-small
23742377
expansions:
2375-
GO_DIST: "/opt/golang/go1.22"
2378+
GO_DIST: "/opt/golang/go1.23"
23762379
tasks:
23772380
- name: testoidc_task_group
23782381
- name: testazureoidc_task_group

Diff for: README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ See the following resources to learn more about upgrading from version 1.x to 2.
1818
## Requirements
1919

2020
- Go 1.18 or higher. We aim to support the latest versions of Go.
21-
- Go 1.22 or higher is required to run the driver test suite.
22-
- MongoDB 3.6 and higher.
21+
- Go 1.23 or higher is required to run the driver test suite.
22+
- MongoDB 4.0 and higher.
2323

2424
## Installation
2525

Diff for: Taskfile.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ tasks:
3030

3131
build-compile-check: bash etc/compile_check.sh
3232

33+
build-compile-check-all: bash etc/run-compile-check-test.sh
34+
3335
build-aws-ecs-test: go build ${BUILD_TAGS} ./internal/cmd/testaws/main.go
3436

3537
cross-compile:
@@ -199,7 +201,7 @@ tasks:
199201

200202
evg-test-deployed-lambda-aws: bash ${DRIVERS_TOOLS}/.evergreen/aws_lambda/run-deployed-lambda-aws-tests.sh
201203

202-
evg-gather-test-suites: find . -name \*.suite | xargs tar czf test_suite.tgz
204+
evg-gather-test-suites: find . -name \*.suite | xargs --no-run-if-empty tar czf test_suite.tgz
203205

204206
build-kms-test: go build ${BUILD_TAGS} ./internal/cmd/testkms
205207

Diff for: docs/CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ We are building this software together and strongly encourage contributions from
66

77
## Requirements
88

9-
Go 1.22 or higher is required to run the driver test suite. We use [task](https://taskfile.dev/) as our task runner.
9+
Go 1.23 or higher is required to run the driver test suite. We use [task](https://taskfile.dev/) as our task runner.
1010

1111
## Bug Fixes and New Features
1212

@@ -17,7 +17,7 @@ Before starting to write code, look for existing [tickets](https://jira.mongodb.
1717
The Go Driver team uses GitHub to manage and review all code changes. Patches should generally be made against the master (default) branch and include relevant tests, if
1818
applicable.
1919

20-
Code should compile and tests should pass under all Go versions which the driver currently supports. Currently the Go Driver supports a minimum version of Go 1.18 and requires Go 1.22 for development. Please run the following `Taskfile` targets to validate your changes:
20+
Code should compile and tests should pass under all Go versions which the driver currently supports. Currently the Go Driver supports a minimum version of Go 1.18 and requires Go 1.23 for development. Please run the following `Taskfile` targets to validate your changes:
2121

2222
- `task fmt`
2323
- `task lint`

0 commit comments

Comments
 (0)