From 17bcad5df4efe458bd11a3b7107644d40887ff16 Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 17 Jul 2026 11:52:40 +0200 Subject: [PATCH 1/2] MONGOID-5908 Run upcoming Ruby and Rails builds on a bi-weekly schedule --- .evergreen/README.md | 52 ++++++++++++++++++++++++++++++ .evergreen/config.yml | 8 +++++ .evergreen/config/variants.yml.erb | 8 +++++ 3 files changed, 68 insertions(+) create mode 100644 .evergreen/README.md diff --git a/.evergreen/README.md b/.evergreen/README.md new file mode 100644 index 0000000000..3f7a4efa00 --- /dev/null +++ b/.evergreen/README.md @@ -0,0 +1,52 @@ +# Evergreen configuration + +This directory contains configuration and scripts used to run Mongoid's test +suite in Evergreen, MongoDB's continuous integration system. + +`config.yml` is generated. Do not edit it by hand. Edit the ERB templates under +`config/` and regenerate with: + +``` +ruby .evergreen/update-evergreen-configs +``` + + +## Scheduled upcoming-version builds (MONGOID-5908) + +Two build variants run the test suite against the upcoming, in-development +versions of Ruby and Rails, so that incompatibilities are caught before those +versions ship: + +- `ruby-dev` — the main test suite against `ruby-dev` (provided by + `mongo-ruby-toolchain`). +- `rails-master` — the main test suite against Rails `master`. + +Both are defined in `config/variants.yml.erb`. Two properties matter: + +- They are not tagged `pr`, so they never run on pull requests. They only run + on the `master` waterfall. +- Their `test` task carries `batchtime: 20160` (14 days), so Evergreen + activates each at most once every two weeks instead of on every commit. + +### Failure notification + +Failures of these scheduled runs should open a Jira issue in the `MONGOID` +project. This is not expressed in `config.yml`; it is an Evergreen project +notification, configured once by a project admin in the Evergreen UI: + +1. Open the `mongoid` project in Evergreen, go to + **Settings -> Notifications** (project subscriptions). +2. Add a subscription: + - **Event**: a task finishes -> the task fails. + - **Scope**: limit to the build variants, using a regex that matches the + `ruby-dev` and `rails-master` variant display names (they contain + `ruby-dev` and `Rails master`). + - **Action**: Create a Jira issue. + - **Project**: `MONGOID`; pick an appropriate issue type (e.g. `Task`/`Bug`). +3. Evergreen fills the issue with the failing task, the build variant (which + names the Ruby or Rails version), the version/commit, and links to the + failed tasks, so the report includes the version, commit hash, and the list + of failures. + +Because this lives in project settings rather than the repository, it must be +recreated if the project is reconfigured. diff --git a/.evergreen/config.yml b/.evergreen/config.yml index e6c63093b7..9a6edc420b 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -743,6 +743,9 @@ buildvariants: tasks: - name: "test" +# MONGOID-5908: test master against the upcoming Ruby (ruby-dev). Runs off-PR +# (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID Jira +# issues via an Evergreen project notification; see .evergreen/README.md. - matrix_name: "ruby-dev" matrix_spec: ruby: ["ruby-dev"] @@ -753,6 +756,7 @@ buildvariants: display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}" tasks: - name: "test" + batchtime: 20160 # run at most once every 14 days - matrix_name: "driver-upcoming" matrix_spec: @@ -811,6 +815,9 @@ buildvariants: tasks: - name: "test" +# MONGOID-5908: test master against the upcoming Rails (rails master). Runs +# off-PR (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID +# Jira issues via an Evergreen project notification; see .evergreen/README.md. - matrix_name: "rails-master" matrix_spec: ruby: ["ruby-4.0"] @@ -823,6 +830,7 @@ buildvariants: display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})" tasks: - name: "test" + batchtime: 20160 # run at most once every 14 days - matrix_name: "rails-8" matrix_spec: diff --git a/.evergreen/config/variants.yml.erb b/.evergreen/config/variants.yml.erb index b7b93dec6b..1206513748 100644 --- a/.evergreen/config/variants.yml.erb +++ b/.evergreen/config/variants.yml.erb @@ -94,6 +94,9 @@ buildvariants: tasks: - name: "test" +# MONGOID-5908: test master against the upcoming Ruby (ruby-dev). Runs off-PR +# (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID Jira +# issues via an Evergreen project notification; see .evergreen/README.md. - matrix_name: "ruby-dev" matrix_spec: ruby: ["ruby-dev"] @@ -104,6 +107,7 @@ buildvariants: display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}" tasks: - name: "test" + batchtime: 20160 # run at most once every 14 days - matrix_name: "driver-upcoming" matrix_spec: @@ -162,6 +166,9 @@ buildvariants: tasks: - name: "test" +# MONGOID-5908: test master against the upcoming Rails (rails master). Runs +# off-PR (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID +# Jira issues via an Evergreen project notification; see .evergreen/README.md. - matrix_name: "rails-master" matrix_spec: ruby: ["ruby-4.0"] @@ -174,6 +181,7 @@ buildvariants: display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})" tasks: - name: "test" + batchtime: 20160 # run at most once every 14 days - matrix_name: "rails-8" matrix_spec: From 790854c0fc4695cd8557243f80c34180100fa17a Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov Date: Fri, 17 Jul 2026 11:56:50 +0200 Subject: [PATCH 2/2] Bumpd det --- .mod/drivers-evergreen-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mod/drivers-evergreen-tools b/.mod/drivers-evergreen-tools index b26580ac7b..18aed4f176 160000 --- a/.mod/drivers-evergreen-tools +++ b/.mod/drivers-evergreen-tools @@ -1 +1 @@ -Subproject commit b26580ac7b03a7eb282053871da0a050c7075288 +Subproject commit 18aed4f176dab1ed505c9a2a53466ddf3f4796ec