Skip to content

Commit e8e8ff9

Browse files
MONGOID-5908 Run upcoming Ruby and Rails builds on a bi-weekly schedule (#6166)
1 parent 7150a40 commit e8e8ff9

3 files changed

Lines changed: 68 additions & 0 deletions

File tree

.evergreen/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Evergreen configuration
2+
3+
This directory contains configuration and scripts used to run Mongoid's test
4+
suite in Evergreen, MongoDB's continuous integration system.
5+
6+
`config.yml` is generated. Do not edit it by hand. Edit the ERB templates under
7+
`config/` and regenerate with:
8+
9+
```
10+
ruby .evergreen/update-evergreen-configs
11+
```
12+
13+
14+
## Scheduled upcoming-version builds (MONGOID-5908)
15+
16+
Two build variants run the test suite against the upcoming, in-development
17+
versions of Ruby and Rails, so that incompatibilities are caught before those
18+
versions ship:
19+
20+
- `ruby-dev` — the main test suite against `ruby-dev` (provided by
21+
`mongo-ruby-toolchain`).
22+
- `rails-master` — the main test suite against Rails `master`.
23+
24+
Both are defined in `config/variants.yml.erb`. Two properties matter:
25+
26+
- They are not tagged `pr`, so they never run on pull requests. They only run
27+
on the `master` waterfall.
28+
- Their `test` task carries `batchtime: 20160` (14 days), so Evergreen
29+
activates each at most once every two weeks instead of on every commit.
30+
31+
### Failure notification
32+
33+
Failures of these scheduled runs should open a Jira issue in the `MONGOID`
34+
project. This is not expressed in `config.yml`; it is an Evergreen project
35+
notification, configured once by a project admin in the Evergreen UI:
36+
37+
1. Open the `mongoid` project in Evergreen, go to
38+
**Settings -> Notifications** (project subscriptions).
39+
2. Add a subscription:
40+
- **Event**: a task finishes -> the task fails.
41+
- **Scope**: limit to the build variants, using a regex that matches the
42+
`ruby-dev` and `rails-master` variant display names (they contain
43+
`ruby-dev` and `Rails master`).
44+
- **Action**: Create a Jira issue.
45+
- **Project**: `MONGOID`; pick an appropriate issue type (e.g. `Task`/`Bug`).
46+
3. Evergreen fills the issue with the failing task, the build variant (which
47+
names the Ruby or Rails version), the version/commit, and links to the
48+
failed tasks, so the report includes the version, commit hash, and the list
49+
of failures.
50+
51+
Because this lives in project settings rather than the repository, it must be
52+
recreated if the project is reconfigured.

.evergreen/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,9 @@ buildvariants:
743743
tasks:
744744
- name: "test"
745745

746+
# MONGOID-5908: test master against the upcoming Ruby (ruby-dev). Runs off-PR
747+
# (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID Jira
748+
# issues via an Evergreen project notification; see .evergreen/README.md.
746749
- matrix_name: "ruby-dev"
747750
matrix_spec:
748751
ruby: ["ruby-dev"]
@@ -753,6 +756,7 @@ buildvariants:
753756
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
754757
tasks:
755758
- name: "test"
759+
batchtime: 20160 # run at most once every 14 days
756760

757761
- matrix_name: "driver-upcoming"
758762
matrix_spec:
@@ -811,6 +815,9 @@ buildvariants:
811815
tasks:
812816
- name: "test"
813817

818+
# MONGOID-5908: test master against the upcoming Rails (rails master). Runs
819+
# off-PR (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID
820+
# Jira issues via an Evergreen project notification; see .evergreen/README.md.
814821
- matrix_name: "rails-master"
815822
matrix_spec:
816823
ruby: ["ruby-4.0"]
@@ -823,6 +830,7 @@ buildvariants:
823830
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
824831
tasks:
825832
- name: "test"
833+
batchtime: 20160 # run at most once every 14 days
826834

827835
- matrix_name: "rails-8"
828836
matrix_spec:

.evergreen/config/variants.yml.erb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ buildvariants:
9494
tasks:
9595
- name: "test"
9696

97+
# MONGOID-5908: test master against the upcoming Ruby (ruby-dev). Runs off-PR
98+
# (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID Jira
99+
# issues via an Evergreen project notification; see .evergreen/README.md.
97100
- matrix_name: "ruby-dev"
98101
matrix_spec:
99102
ruby: ["ruby-dev"]
@@ -104,6 +107,7 @@ buildvariants:
104107
display_name: "${ruby}, ${driver}, ${mongodb-version}, ${topology}"
105108
tasks:
106109
- name: "test"
110+
batchtime: 20160 # run at most once every 14 days
107111

108112
- matrix_name: "driver-upcoming"
109113
matrix_spec:
@@ -162,6 +166,9 @@ buildvariants:
162166
tasks:
163167
- name: "test"
164168

169+
# MONGOID-5908: test master against the upcoming Rails (rails master). Runs
170+
# off-PR (no "pr" tag) on a ~2-week cadence. Failures are reported as MONGOID
171+
# Jira issues via an Evergreen project notification; see .evergreen/README.md.
165172
- matrix_name: "rails-master"
166173
matrix_spec:
167174
ruby: ["ruby-4.0"]
@@ -174,6 +181,7 @@ buildvariants:
174181
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
175182
tasks:
176183
- name: "test"
184+
batchtime: 20160 # run at most once every 14 days
177185

178186
- matrix_name: "rails-8"
179187
matrix_spec:

0 commit comments

Comments
 (0)