RUBY-3726 Use new toolchain#2958
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements a new toolchain setup for Ruby testing by replacing the previous set_env_ruby function with a custom rbenv installation that downloads pre-built Ruby versions from a MongoDB toolchain repository. The changes also modernize the test matrix by removing support for older MongoDB versions (3.6, 4.0, "latest") and adding JUnit XML test result output formatting.
Key changes:
- Replaces
set_env_rubywith custom rbenv installation using pre-built Ruby toolchains - Adds
rspec_junit_formatterdependency and configures RSpec to output JUnit XML results - Updates test matrix to remove MongoDB 3.6 and 4.0 support, removes "latest" version testing
- Adds
require_mrito several integration test files to restrict them to MRI Ruby
Reviewed Changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| spec/shared | Updates submodule commit reference |
| spec/integration/versioned_api_examples_spec.rb | Adds MRI requirement |
| spec/integration/transaction_pinning_spec.rb | Adds MRI requirement |
| spec/integration/time_zone_querying_spec.rb | Adds MRI requirement |
| spec/integration/srv_monitoring_spec.rb | Adds MRI requirement |
| gemfiles/standard.rb | Adds rspec_junit_formatter dependency |
| .evergreen/run-tests.sh | Replaces set_env_ruby with custom rbenv setup and adds JUnit XML output |
| .evergreen/run-tests-serverless.sh | Replaces set_env_ruby with custom rbenv setup |
| .evergreen/run-tests-kerberos-unit.sh | Replaces set_env_ruby with custom rbenv setup and adds JUnit XML output |
| .evergreen/run-tests-kerberos-integration.sh | Replaces set_env_ruby with custom rbenv setup and adds JUnit XML output |
| .evergreen/run-tests-gcp.sh | Replaces set_env_ruby with custom rbenv setup |
| .evergreen/run-tests-ecs.sh | Replaces set_env_ruby with custom rbenv setup |
| .evergreen/run-tests-deployed-lambda.sh | Replaces set_env_ruby with custom rbenv setup |
| .evergreen/run-tests-azure.sh | Replaces set_env_ruby with custom rbenv setup |
| .evergreen/run-tests-atlas.sh | Replaces set_env_ruby with custom rbenv setup and adds JUnit XML output |
| .evergreen/run-tests-atlas-full.sh | Replaces set_env_ruby with custom rbenv setup and adds JUnit XML output |
| .evergreen/config/standard.yml.erb | Updates test matrix removing older MongoDB versions and latest, updates OS versions |
| .evergreen/config/common.yml.erb | Configures JUnit XML output path and re-enables test result uploads |
| .evergreen/config/axes.yml.erb | Removes "latest" MongoDB version axis and updates mmapv1 OS |
| .evergreen/config.yml | Generated config file reflecting all changes from ERB templates |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "Running tests" | ||
| bundle exec rspec spec/kerberos | ||
| bundle exec rspec spec/kerberos \ | ||
| --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml |
There was a problem hiding this comment.
Inconsistent indentation: line 102 uses a tab character while all other similar lines in the PR use spaces. This should use spaces for consistency.
| --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml | |
| --format Rfc::Riff --format RspecJunitFormatter --out tmp/rspec.xml |
--------- Co-authored-by: Dmitry Rybakov <dmitry@rybakov.eu>
--------- Co-authored-by: Dmitry Rybakov <dmitry@rybakov.eu>
--------- Co-authored-by: Dmitry Rybakov <dmitry@rybakov.eu>
* Use correct repository for drivers-github-tools * RUBY-3652 Remove serverless testing (#2942) * RUBY-3652 Remove serverless testing * don't kill all server sessions for the atlas full tests * RUBY-3705 Skip tests that fail on latest (#2953) * RUBY-3726 Use new toolchain (#2958) --------- Co-authored-by: Dmitry Rybakov <dmitry@rybakov.eu> --------- Co-authored-by: Dmitry Rybakov <160598371+comandeo-mongo@users.noreply.github.com> Co-authored-by: Dmitry Rybakov <dmitry@rybakov.eu>
No description provided.