Compare commits

...

61 Commits

Author SHA1 Message Date
henrikedin
c531abff36 SERVER-126021 Prohibit measurements with duplicate field names in timeseries (#53225)
GitOrigin-RevId: 89f54eb32e217d2f7bfcad50e5919f3033bb9611
2026-05-14 03:09:58 +00:00
Matt Olma
cd88685188 SERVER-124974 Ensure memory lifetime during $match pushdown analysis (#52290)
Co-authored-by: David Storch <david.storch@mongodb.com>
Co-authored-by: henrinikku <henri.nikku@mongodb.com>
GitOrigin-RevId: 094e631246d5b5bee5bd5f20b12f882bc8e286ea
2026-05-14 03:08:37 +00:00
Militsa Sotirova
1b6af0bdb5 SERVER-125064 Move featureFlagCostBasedRanker and featureFlagMultiPlanLimiter back to in_development (#52365)
GitOrigin-RevId: 74e341a41c3a29c34bbf4baecf816aaf768ce6d9
2026-05-14 03:06:01 +00:00
Zack Winter
1403b21b62 SERVER-124296: Remove evergreen yaml sync (#52003) (#52300)
GitOrigin-RevId: ef5825e31ead54317ad82fa315a09090eecb55b4
2026-05-14 03:04:24 +00:00
Zack Winter
90299c2835 SERVER-124313 Rotate Key (#52298)
GitOrigin-RevId: 5aec3824d194bcacb0219302db24b6b3b6122bf8
2026-05-14 03:03:01 +00:00
Alya Carina Berciu
0f29b043a5 SERVER-122961 Prevent wildcard_index_distinct_scan.js from running with chunk migrations (#50731) (#51038)
GitOrigin-RevId: 16f5cb0a5641b5b3549e10d45ec5eee853574e84
2026-05-14 03:01:42 +00:00
Christopher M. Wolff
97d228f704 SERVER-120450 [v8.3] Upgrade MozJS to 140.9 (#50703) (#51098)
GitOrigin-RevId: f5af85fa793dbcd9962aa559bcb17adb1627bc6c
2026-05-14 03:00:21 +00:00
Billy Donahue
b0a421a6ae SERVER-123337 ScopedDebugInfo integrity checks (#51070) (#51099)
Co-authored-by: Alex Li <alex.li@mongodb.com>
Co-authored-by: Ryan Berryhill <ryan.berryhill@mongodb.com>
Co-authored-by: Guillaume Racicot <guillaume.racicot@mongodb.com>
Co-authored-by: Alex Li <alex.li@mongodb.com>
Co-authored-by: Ryan Berryhill <ryan.berryhill@mongodb.com>
Co-authored-by: Guillaume Racicot <guillaume.racicot@mongodb.com>
GitOrigin-RevId: c30d29c3fb72d0e33f5af5a5e2639597c16e7c6e
2026-05-14 02:59:01 +00:00
Nick Jefferies
442ae3df3b SERVER-122534: [8.3] Fix generate-fuzz-config crash when config.MODULES is … (#50684)
GitOrigin-RevId: d46e704295262048a633ef064a547a17d04db4d8
2026-05-14 02:57:39 +00:00
Steve McClure
6f4b54716a SERVER-122695 [v8.3] move binaries for Jepsen tests, not the whole directory (#51073)
GitOrigin-RevId: f86d3111d9e97934c9675b5b9927ddd1383be2c4
2026-05-14 02:56:20 +00:00
Mike Nugent
b6abd1dd49 SERVER-123339: Separate expired state from the connection pool health (#51105)
Co-authored-by: Didier Nadeau <didier.nadeau@mongodb.com>
Co-authored-by: Joseph Prince <joseph.d.prince@me.com>
GitOrigin-RevId: 8f4376a2148a19b76802da90121a93d905b9c770
2026-05-14 02:54:56 +00:00
Blake Oler
f2e9b16c06 SERVER-123240 Ensure that polls to serverStatus in the egress connection establishment rate limiter test account for a constantly-running server (#51003)
GitOrigin-RevId: c4cca71bc8e0b0bd3aa775670242b255de0cf821
2026-05-14 02:53:37 +00:00
Eric Lavigne
06ecce7def SERVER-123024: Remove devcontainer testing from 8.3 branch (#50781)
GitOrigin-RevId: 7a5bf8490915f5ec520b2a6cba9e8198498378cb
2026-05-14 02:52:13 +00:00
Allison Easton
0dfb6d98ca SERVER-122374 Handle NoSuchKey errors in cluster_parameter_commands.js (#50168) (#50625)
GitOrigin-RevId: 2a5814195d31bcc78aa521970f21c63c88d605ad
2026-05-14 02:50:50 +00:00
Varun Ravichandran
a5ad8f670b SERVER-121821 Load test certs separately for macOS on ssl_modes_not_disabled_ingress.js (#50704)
GitOrigin-RevId: d3967fb6ddee24e6a89a34879e97e6a6178c150c
2026-05-14 02:49:28 +00:00
Catalin Sumanaru
677c8c8a94 SERVER-122775 Revert interleaved BSONColumn schema cache from v8.3 (#50866)
GitOrigin-RevId: 467bfc82616b5fd52478cf6b981277d936a36f98
2026-05-14 02:48:08 +00:00
Sean Lyons
ac3f94f336 SERVER-120810 SERVER-122566 Improve bazel-resmoke task generation (#50184)
GitOrigin-RevId: e4f1090773ece0cd0f7cf500a5790462331e91c6
2026-05-14 02:46:47 +00:00
Trevor Guidry
dd23f352d3 SERVER-122920: skip test_external_suite_with_fixture_runs on TSAN (#50764)
GitOrigin-RevId: c10aa525dbd35f7f1dc6e49dfd678bcccdd0369f
2026-05-14 02:45:25 +00:00
Guillaume Racicot
763e93473a SERVER-122576 Make kernel 6.19 crash more graceful than status quo (#50791)
GitOrigin-RevId: e1989306c726e1fe401519c3196363bad8764863
2026-05-14 02:43:48 +00:00
Mathias Stearn
257cfbbe6c SERVER-122207 check return of tomcrypt md5 functions (#50846)
GitOrigin-RevId: ab3bca75bfaca371cb5335be4fdb0529fd2f28a5
2026-05-14 02:42:24 +00:00
Daniel Segel
85717daaaf SERVER-123036 Update etc/extensions.yml for mongot-extension v1.0.2 (#50816)
GitOrigin-RevId: 921ce8a7865ca2b168773b22d31bc5102c7f1748
2026-05-14 02:41:02 +00:00
Timour Katchaounov
402fed2bda SERVER-122868 Disable CBR for large in-lists (#50739)
GitOrigin-RevId: 4b30228acb3c6273ac272703d365fda66fb2d55f
2026-05-14 02:39:40 +00:00
Aditya Deshpande
b66da4ef3d SERVER-122483 Add std::to_chars compatibility for macOS < 10.15 (#50486)
GitOrigin-RevId: ee068ce5b15ba3de9e0ea48979407aca14dda1a6
2026-05-14 02:38:18 +00:00
CALVIN NGUYEN
8f7fada499 SERVER-121610 Make emit() function error when cached and called outside of map stage and $_internalJsEmit (#50769)
GitOrigin-RevId: 650ee6ac524499232e93ed882405d0d96356c9ba
2026-05-14 02:36:57 +00:00
Ian Boros
445db18dfb SERVER-122449 Disable $bit* expressions in SBE and add knob to limit their memory use (#50788)
GitOrigin-RevId: d5deca976b230d0726c7c9e26a3fe00378479697
2026-05-14 02:35:36 +00:00
Mickey J Winters
dfe461c174 SERVER-121895 fix document validation log messages (#50542)
GitOrigin-RevId: ca5ef0299dfe2825bbb0bec793b7d5a67d30152a
2026-05-14 02:34:15 +00:00
Ian Boros
1c7b07a7b0 Revert "SERVER-122449 Disable $bit* expressions in SBE and add knob t… (#50784)
GitOrigin-RevId: 97c7c8c0262d9c429b99a63c79aa6f787ad03a83
2026-05-14 02:32:53 +00:00
Catalin Sumanaru
ca08e60b44 SERVER-122775: Discover and cache interleaved BSONColumn schema for decode (#50402) (#50730)
GitOrigin-RevId: 3d321696148279c1e4253f1fac9407d86d024c8e
2026-05-14 02:31:30 +00:00
Trevor Guidry
4d44dff8b3 SERVER-122921 Delete antithesis tasks from v8.3 (#50737)
GitOrigin-RevId: 023673bbd052cb7d15efa2d76d714a1fc0278c08
2026-05-14 02:30:09 +00:00
Joseph Prince
8e7ffa9d80 SERVER-122836: Emit source client address in Client::getRemote if connected to proxy unix socket (#50599)
GitOrigin-RevId: 93fc218d1254c74914741f56c38048348d543909
2026-05-14 02:28:48 +00:00
Tommaso Tocci
3e2d007aa1 SERVER-121847 backup builtin role cannot perform rawData finds on adm… (#50396)
GitOrigin-RevId: c8e57dd7a78d4eb324012166751346513d403096
2026-05-14 02:27:28 +00:00
henrikedin
c5f85b4fee SERVER-122629 Allow docDiff to be applied to non-column subtypes (#50524)
GitOrigin-RevId: 0f49c0984bb7dbe3ffd798d686afc9a518dbd27a
2026-05-14 02:26:06 +00:00
karlbozdogan
69df7550a9 SERVER-117488 Multiplan only CBR best candidate + not estimables when CBR cannot estimate (#50082)
GitOrigin-RevId: 63e1834c52c6047c38bdc7e3903d45c6ae57cdbf
2026-05-14 02:24:45 +00:00
James H
9abcc3a8d8 SERVER-117208: Avoid recording sensitive requests for traffic recording [v8.3] (#50508)
GitOrigin-RevId: 637d75b12453740e8d2c0a3836bb8c5dfb018099
2026-05-14 00:02:46 +00:00
Meryama
b1ece78fec SERVER-122617 Exclude getMore and chunk ddl commands from being counted in system.buckets metrics (#50505)
GitOrigin-RevId: 7e7fd369a07816399d039645a14af2b7aeab083a
2026-05-14 00:01:20 +00:00
Tommaso Tocci
adc3127169 SERVER-121886 dbAdmin builtin role should be able to perform rawData operations (#50312)
GitOrigin-RevId: 0ef279687f02bda980f5f3d18ce2d78484fe037d
2026-05-13 23:59:17 +00:00
Ian Boros
e74a432bb0 SERVER-122449 Disable $bit* expressions in SBE and add knob to limit their memory use (#50442)
GitOrigin-RevId: b2ff61d350fe6abd50f9c51e3fea40bc5d6579f0
2026-05-13 23:57:52 +00:00
Jason Hills
58b8bb3260 SERVER-122016: [v8.3] exclude first-party components from README.third_party.md and re-add WiredTiger vendored test library table (#50444)
GitOrigin-RevId: 0aca6ab9dbedf41daa5478fbea6592b212152ced
2026-05-13 23:56:30 +00:00
Finley Lau
b59bd51a17 SERVER-121534 [v8.3] Make geo matcher expressions 2dsphereIndex version aware (#50415)
GitOrigin-RevId: 344e4c482a4fcbacc4f0c9746825d05d16ba88ac
2026-05-13 23:55:06 +00:00
Parker Felix
cd5753c295 SERVER-122573 [v8.3] Revert cross-db $unionWith/$lookup support (#50370)
Co-authored-by: Gil Alon <gil.alon@mongodb.com>
GitOrigin-RevId: 682c79de5abd3d7be9dff8ccf199000ead31c0fd
2026-05-13 23:53:41 +00:00
Daniel Segel
eccf1d6f34 SERVER-122290 Use 3-node replica set to stabilize timeseries_dollar_prefixed_timefield_errors.js (#50251)
GitOrigin-RevId: fcbc78f515cacadffe9cbb22c5d38ec62c76a6f2
2026-03-25 19:15:16 +00:00
Pol Piñol Castuera
711b8cf20d SERVER-122485 Revert "Enable feature flag for SPM-3729" (Shards persist database metadata authoritatively) (#50294)
GitOrigin-RevId: a9d96c61b967c79c0696795772de9feb019fd7ca
2026-03-25 19:14:59 +00:00
Finley Lau
e653a2f9a8 Revert "SERVER-121534 [v8.3] Make geo matcher expressions 2dsphereInd… (#50414)
GitOrigin-RevId: 402d255f90d1d7058d5d9ccf491f993cf82c362f
2026-03-25 19:14:42 +00:00
Mike Nugent
b322c043eb SERVER-122461: Suppress LSAN on __res_context_query (#50279)
GitOrigin-RevId: 6c152c09450efb9388794ffcd5c06d70bc00d9dc
2026-03-25 19:14:25 +00:00
Finley Lau
27cf3e042e SERVER-121534 [v8.3] Make geo matcher expressions 2dsphereIndex version awar… (#50218)
GitOrigin-RevId: 8d8b065b3c64d74178a04e5811d8916bfb06d720
2026-03-25 19:14:07 +00:00
Daniel Segel
f8bc6391fd SERVER-122050 Update etc/extensions.yml for mongot-extension v1.0.1 (#50249)
GitOrigin-RevId: ff8aeb44c6a999512be1d96801385d66a8fbe06f
2026-03-25 19:13:50 +00:00
Alice Doherty
6486dfdbb6 SERVER-122533 Stop running GenerateAndCheckPerfResults on benchmarks_sep on release branches (#50324)
GitOrigin-RevId: 142894b76645849c00fa5a488d84f145cd778908
2026-03-25 19:13:33 +00:00
Alice Doherty
be0241629e SERVER-122517 Fix override logic for sep_benchmarks threshold check (#50298)
GitOrigin-RevId: b0c7e75de7ad3bf1d9bee044be16df69f7b5c8e7
2026-03-25 19:13:15 +00:00
Spencer Jackson
7d32a2d6b1 SERVER-119317 Improve object lifecycle of MD5 hash state (#47823) (#50143)
GitOrigin-RevId: 7fb8558b3ee301f0a468c285437eb17ad6e7900d
2026-03-24 16:18:59 +00:00
Patrick Freed
7a6a03060b SERVER-121740 Disable overload-retargeting by default (#49904) (#50004)
GitOrigin-RevId: d7f71b345b1d3eaedff3cc4e9f954b56387b9fce
2026-03-24 16:18:41 +00:00
Lynne Wang
ffe55caba5 SERVER-121891 Fix $lookup extended range flag loss during eseries view resolution (#50025)
GitOrigin-RevId: 2e4d1bc46f43aeed054b7ff44254df55402707ff
2026-03-24 16:18:23 +00:00
Militsa Sotirova
e94a292ed8 SERVER-121739 Mark index skip scan plans as unsupported by CBR (#49739) (#49963)
GitOrigin-RevId: 1821caf8d46b44dd8ad50c3c3dccf2517e3f0ed5
2026-03-24 16:18:06 +00:00
Militsa Sotirova
fe7245b196 SERVER-121973 Fix tassert for replanning a rooted $or query (#49880) (#49964)
GitOrigin-RevId: 7ca6e6cc752f9e1d4461bf2f2080d03024706d58
2026-03-24 16:17:48 +00:00
Gabriel Marks
d5e9d58bc3 Revert "SERVER-116025 Track egress in authCounter" (#50096)
GitOrigin-RevId: 8c5d7fd700c61beeb8f7db503b119bd3333becef
2026-03-24 16:17:31 +00:00
fotiniAlvanaki
31e9e5ddaf SERVER-119319 fix ExprCtx use-after-free for $lookup/$graphLookup clone (#49955)
Co-authored-by: zixuan zhuang <zixuan.zhuang@mongodb.com>
GitOrigin-RevId: b0c70db297f4e1a13b71550b976495626942c407
2026-03-24 16:17:14 +00:00
Daniel Segel
1bda66fa50 SERVER-121890 Update etc/extensions.yml for mongot-extension v1.0.0 (#49855)
GitOrigin-RevId: 4b6c6e04a6afc6914a2b21da45fd8dd1b9ed9f58
2026-03-19 22:39:08 +00:00
Sean Lyons
9dae7c89b7 SERVER-122132 Include variants used for LTS branches (#49974)
GitOrigin-RevId: 4151813040c578450693cb185afa391e481510be
2026-03-19 22:38:51 +00:00
Daniel Segel
c26523df06 SERVER-121851 Handle empty pipelines on views in $rankFusion and $scoreFusion (#49860)
GitOrigin-RevId: 2174bf3f624044c535139925e58e12ba92d07550
2026-03-19 22:38:33 +00:00
Billy Donahue
df69233f0a SERVER-121903 avoid floating point UDLs (#49838) (#49899)
GitOrigin-RevId: de1403b9fff46dbe78a64a98f178beefb86b11bd
2026-03-19 07:05:49 +00:00
Zack Winter
7566a2fe21 SERVER-116432 Add server-release as a codeowner on the v8.3 branch (#49823)
GitOrigin-RevId: d925ab0e47298cc9725c1101f4ed0403f740541d
2026-03-19 07:05:31 +00:00
Sean Lyons
dd7b1f909f SERVER-116418 8.3 Build and Verification Branching Task (#49820)
GitOrigin-RevId: eea68328459dad4d8ab61bdab2977d829a7f1563
2026-03-19 07:05:12 +00:00
391 changed files with 8099 additions and 32347 deletions

View File

@ -1,5 +0,0 @@
version: 2.0.0
filters:
- "resmoke":
approvers:
- 10gen/devprod-correctness

View File

@ -1,175 +0,0 @@
---
name: resmoke
description: Run MongoDB integration and correctness tests using the resmoke test orchestrator. Use when working with jstests, test suites, or running MongoDB integration tests.
---
# Resmoke Test Orchestrator
Resmoke is MongoDB's integration testing framework for running JavaScript tests, C++ integration tests, and multiversion tests. Resmoke manages its own clean test environment; no pre-cleanup of data directories is needed.
## Basic Usage
Activate the virtual environment before running resmoke:
```bash
source python3-venv/bin/activate
```
### Running Tests
Run a test suite:
```bash
python3 buildscripts/resmoke.py run --suites=core
```
Run multiple suites:
```bash
python3 buildscripts/resmoke.py run --suites=core,no_passthrough
```
Run a single test file:
```bash
python3 buildscripts/resmoke.py run --suites=core jstests/core/administrative/auth1.js
```
Run multiple test files:
```bash
python3 buildscripts/resmoke.py run --suites=core jstests/core/administrative/auth1.js jstests/core/administrative/auth2.js
```
Run tests matching a pattern:
```bash
python3 buildscripts/resmoke.py run --suites=core jstests/core/administrative/*.js
```
Dry run to see what tests would execute:
```bash
python3 buildscripts/resmoke.py run --suites=core -n
```
### Common Test Suites
| Suite | Purpose |
| ---------------- | -------------------------------------------- |
| `core` | General mongod tests (runs as standalone) |
| `no_passthrough` | Tests that manage their own mongod instances |
| `auth` | Authentication/authorization tests |
| `sharding` | Sharded cluster tests |
| `replica_sets` | Replication tests |
| `concurrency` | Concurrency and locking tests |
## Exploring Tests
List available suites:
```bash
python3 buildscripts/resmoke.py list-suites
```
Discover tests in a suite:
```bash
python3 buildscripts/resmoke.py test-discovery --suite=core
```
View suite configuration:
```bash
python3 buildscripts/resmoke.py suiteconfig --suite=core
```
List available tags:
```bash
python3 buildscripts/resmoke.py list-tags
```
## Output Format and Parallel Execution
### Output Structure
Resmoke logs are prefixed with component tags:
```
[resmoke] 2026-03-02T12:59:22.431Z Starting test execution...
[job0] 2026-03-02T12:59:23.123Z Running jstests/core/administrative/auth1.js...
[job1] 2026-03-02T12:59:23.145Z Running jstests/core/administrative/auth2.js...
```
Useful patterns to grep for:
- `\[resmoke\]` - Main orchestrator messages
- `\[job\d+\]` - Individual job execution logs
- `FAILED` - Test failures
- `PASSED` - Successful test completion
- `Running` - Currently executing test
- `Starting.*test|test.*complete` - Test execution lifecycle
### Parallel Execution
By default, resmoke runs tests sequentially. Use `-j` for parallel execution:
```bash
python3 buildscripts/resmoke.py run --suites=core -j4
python3 buildscripts/resmoke.py run --suites=core -j$(nproc)
```
Each parallel job:
- Gets a unique `jobN` prefix in logs for identification
- Has isolated port ranges for fixture processes
- Maintains separate data directories
When debugging failures in parallel runs, use `--continueOnFailure` to run all tests before reporting:
```bash
python3 buildscripts/resmoke.py run --suites=core -j4 --continueOnFailure
```
> [!NOTE]
> Full suites can take well over 10 minutes. For long runs, use `--alwaysUseLogFiles`; the per-job log files can be read or searched incrementally while the suite is running.
## Common Options
| Option | Description |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `-n` / `--dryRun=tests` | Dry run mode (shows tests without running) |
| `-j JOBS` | Parallel job count |
| `--continueOnFailure` | Continue after test failures |
| `--testTimeout SECONDS` | Timeout per test |
| `--logLevel DEBUG` | Verbose logging |
| `--alwaysUseLogFiles` | Write per-job log files (`resmoke_job0.log`, etc.) to the working directory; useful for monitoring long-running suites |
### Additional options
You can always run `resmoke -h` to discover all available options. It can also be passed to subcommands like `resmoke run -h`. If you discover something generically helpful that isn't listed anywhere in this skill yet, you should add it to one of the other files so other agents can benefit.
## Debugging Failed Tests
### Hang Analyzer
Analyze hung processes:
```bash
python3 buildscripts/resmoke.py hang-analyzer -p mongod,mongos
```
### Core Dump Analysis
Analyze core dumps:
```bash
python3 buildscripts/resmoke.py core-analyzer -c core.dump
```
## Advanced Topics
For detailed information on:
- **Advanced options & multiversion testing**: See [advanced-usage.md](advanced-usage.md)

View File

@ -1,95 +0,0 @@
# Resmoke Advanced Usage
## Multiversion Testing
Run tests against multiple MongoDB versions:
```bash
# Generate multiversion config
python3 buildscripts/resmoke.py multiversion-config -f multiversion.yml
# Run with multiversion binaries
python3 buildscripts/resmoke.py run --suites=aggregation_multiversion_fuzzer_last_lts \
--multiversionDir=/path/to/binaries
```
## Tag-based Test Selection
Include/exclude tests by tags:
```bash
# Exclude tests with specific tags
python3 buildscripts/resmoke.py run --suites=core --excludeWithAnyTags=requires_replication,sharding
# Include only tests with specific tags
python3 buildscripts/resmoke.py run --suites=core --includeWithAnyTags=requires_auth
```
Common tags: `requires_auth`, `requires_replication`, `requires_sharding`, `assumes_standalone_mongod`, `assumes_against_mongod_not_mongos`
## Fixture Configuration
Override fixture settings via command line:
```bash
# Replica set with 3 nodes
python3 buildscripts/resmoke.py run --suites=replica_sets --numReplSetNodes=3
# Sharded cluster with 2 shards
python3 buildscripts/resmoke.py run --suites=sharding --numShards=2
# Custom storage engine
python3 buildscripts/resmoke.py run --suites=core --storageEngine=wiredTiger
```
## Server Parameters
Set mongod/mongos parameters:
```bash
python3 buildscripts/resmoke.py run --suites=core \
--mongodSetParameters='{enableTestCommands: 1, logComponentVerbosity: {command: 2}}'
```
## Repeating Tests
Repeat tests for flake detection:
```bash
# Repeat each test N times
python3 buildscripts/resmoke.py run --suites=core --repeatTests=5
# Repeat for minimum duration
python3 buildscripts/resmoke.py run --suites=core --repeatTestsSecs=300
# Shuffle test order
python3 buildscripts/resmoke.py run --suites=core --shuffle
```
## Running Without Hooks
Disable all test hooks for debugging:
```bash
python3 buildscripts/resmoke.py run --suites=core --noHooks
```
## Powercycle Tests
Test server robustness across power events:
```bash
python3 buildscripts/resmoke.py powercycle --sshConnectionString=user@host
```
## Fuzz Testing
Generate and run with fuzzed configurations:
```bash
# Generate fuzz config
python3 buildscripts/resmoke.py generate-fuzz-config
# Run with fuzzing enabled
python3 buildscripts/resmoke.py run --suites=core --fuzzMongodConfigs=on --configFuzzSeed=12345
```

View File

@ -1 +0,0 @@
@AGENTS.md

View File

@ -34,8 +34,6 @@ a notice will be included in
| [fmt] | MIT | 11.2.0 | | ✗ |
| [folly] | Apache-2.0 | 2023.12.25.00 | | ✗ |
| [fuzztest] | BSD-3-Clause, Apache-2.0, HPND | 2025-07-28 | | |
| [github.com/apache/arrow-nanoarrow] | Apache-2.0 | apache-arrow-nanoarrow-0.7.0 | | |
| [github.com/apache/iceberg-cpp] | Apache-2.0 | v0.2.0-rc1 | | |
| [googletest] | BSD-3-Clause | 1.17.0 | | |
| [gperftools] | BSD-3-Clause | 2.9.1 | | ✗ |
| [gRPC (C++)] | Apache-2.0 | 1.74.1 | | ✗ |
@ -45,12 +43,10 @@ a notice will be included in
| [JSON Schema Store] | Apache-2.0 | 6847cfc3a17a04a7664474212db50c627e1e3408 | | |
| [JSON-Schema-Test-Suite] | MIT | 728066f9c5c258ba3b1804a22a5b998f2ec77ec0 | | |
| [libdwarf] | LGPL-2.1-or-later, BSD-3-Clause, Public Domain | 2.1.0 | | |
| [libmongocrypt] | Apache-2.0 | 1.15.0 | ✗ | ✗ |
| [LibTomCrypt] | Unlicense | 1.18.2 | ✗ | ✗ |
| [libunwind] | MIT | 1.8.1 | | ✗ |
| [linenoise] | BSD-2-Clause | 6cdc775807e57b2c3fd64bd207814f8ee1fe35f3 | | ✗ |
| [MongoDB C Driver] | Apache-2.0 | 1.28.1 | ✗ | ✗ |
| [Mozilla Firefox ESR] | MPL-2.0 | 140.7.0esr | | ✗ |
| [Mozilla Firefox ESR] | MPL-2.0 | 140.9.0esr | | ✗ |
| [MurmurHash3] | Public Domain | a6bd3ce7be8ad147ea820a7cf6229a975c0c96bb | | ✗ |
| [nlohmann/json] | MIT | 3.11.3 | ✗ | |
| [node] | ISC | 22.1.0 | | |
@ -71,9 +67,8 @@ a notice will be included in
| [timelib] | MIT | 2022.13 | | ✗ |
| [Unicode Character Database] | Unicode-DFS-2016 | 8.0.0 | ✗ | ✗ |
| [valgrind.h] | BSD-4-Clause | 093bef43d69236287ccc748591c9560a71181b0a | | ✗ |
| [WiredTiger] | GPL-2.0-only OR GPL-3.0-only | 12.0.0 | ✗ | ✗ |
| [yaml-cpp] | MIT | 0.6.3 | | ✗ |
| [zlib] | Zlib | 1.3 | ✗ | ✗ |
| [zlib] | Zlib | 1.3.2 | ✗ | ✗ |
| [Zstandard (zstd)] | BSD-3-Clause OR GPL-2.0-only | 1.5.5 | ✗ | ✗ |
[Abseil Common Libraries (C++)]: https://github.com/abseil/abseil-cpp.git
@ -86,7 +81,6 @@ a notice will be included in
[JSON Schema Store]: https://github.com/schemastore/schemastore.git
[JSON-Schema-Test-Suite]: https://github.com/json-schema-org/JSON-Schema-Test-Suite.git
[LibTomCrypt]: https://github.com/libtom/libtomcrypt.git
[MongoDB C Driver]: https://github.com/mongodb/mongo-c-driver.git
[Mozilla Firefox ESR]: https://github.com/mozilla-firefox/firefox.git
[MurmurHash3]: https://github.com/aappleby/smhasher/blob/a6bd3ce/
[PCRE2 - Perl-Compatible Regular Expressions]: https://github.com/pcre2project/pcre2.git
@ -96,7 +90,6 @@ a notice will be included in
[SafeInt]: https://github.com/dcleblanc/safeint.git
[Snowball Stemming Algorithms (libstemmer)]: http://github.com/snowballstem/snowball.git
[Unicode Character Database]: https://www.unicode.org/Public/8.0.0/
[WiredTiger]: https://github.com/wiredtiger/wiredtiger.git
[Zstandard (zstd)]: https://github.com/facebook/zstd.git
[benchmark]: https://github.com/google/benchmark.git
[c-ares]: https://github.com/c-ares/c-ares.git
@ -105,13 +98,10 @@ a notice will be included in
[folly]: https://github.com/facebook/folly.git
[fuzztest]: https://github.com/google/fuzztest.git
[gRPC (C++)]: https://github.com/grpc/grpc.git
[github.com/apache/arrow-nanoarrow]: pkg:github/apache/arrow-nanoarrow@apache-arrow-nanoarrow-0.7.0
[github.com/apache/iceberg-cpp]: pkg:github/apache/iceberg-cpp@v0.2.0-rc1
[googletest]: https://github.com/google/googletest.git
[gperftools]: https://github.com/gperftools/gperftools.git
[immer]: https://github.com/arximboldi/immer.git
[libdwarf]: https://github.com/davea42/libdwarf-code.git
[libmongocrypt]: https://github.com/mongodb/libmongocrypt.git
[libunwind]: https://github.com/libunwind/libunwind.git
[linenoise]: https://github.com/antirez/linenoise
[nlohmann/json]: https://github.com/nlohmann/json.git
@ -129,6 +119,22 @@ a notice will be included in
[yaml-cpp]: https://github.com/jbeder/yaml-cpp.git
[zlib]: https://zlib.net/fossils/
## WiredTiger Vendored Test Libraries
The following libraries are transitively included by WiredTiger,
and are used by that component for testing. They don't appear in
released binary artifacts.
| Name |
| ------------------------------ |
| pkg:pypi/concurrencytest@0.1.2 |
| pkg:pypi/discover@0.4.0 |
| pkg:pypi/extras@0.0.3 |
| pkg:pypi/iso8601@2.1.0 |
| pkg:pypi/python-subunit@1.4.4 |
| pkg:pypi/testscenarios@0.4 |
| pkg:pypi/testtools@2.7.1 |
## Dynamically Linked Libraries
Sometimes MongoDB needs to load libraries provided and managed by the

View File

@ -94,6 +94,18 @@ bool_flag(
build_setting_default = False,
)
bool_flag(
name = "skip_deps_for_cquery",
build_setting_default = False,
)
config_setting(
name = "skip_deps_for_cquery_enabled",
flag_values = {
"//bazel/resmoke:skip_deps_for_cquery": "True",
},
)
config_setting(
name = "installed_dist_test_enabled",
flag_values = {

View File

@ -155,6 +155,7 @@ def resmoke_suite_test(
"//buildscripts:bazel_local_resources",
] + select({
"//bazel/resmoke:installed_dist_test_enabled": [],
"//bazel/resmoke:skip_deps_for_cquery_enabled": [],
"//conditions:default": deps,
}),
main = resmoke_shim,
@ -175,6 +176,7 @@ def resmoke_suite_test(
"GIT_PYTHON_REFRESH": "quiet", # Ignore "Bad git executable" error when importing git python. Git commands will still error if run.
} | select({
"//bazel/resmoke:installed_dist_test_enabled": {},
"//bazel/resmoke:skip_deps_for_cquery_enabled": {},
"//conditions:default": {"DEPS_PATH": deps_path},
}),
exec_properties = exec_properties | test_exec_properties(tags),

View File

@ -309,6 +309,8 @@ py_binary(
],
visibility = ["//visibility:public"],
deps = [
"//buildscripts/ciconfig",
"//buildscripts/util",
dependency(
"typer",
group = "core",
@ -324,24 +326,6 @@ py_binary(
],
)
py_binary(
name = "append_result_tasks",
srcs = ["append_result_tasks.py"],
visibility = ["//visibility:public"],
deps = [
"//buildscripts:bazel_burn_in",
"//buildscripts:gather_failed_tests",
dependency(
"typer",
group = "core",
),
dependency(
"shrub-py",
group = "testing",
),
],
)
sh_binary(
name = "setup_node_env",
srcs = ["setup_node_env.sh"],

View File

@ -50,7 +50,7 @@ filters:
- "ciconfig":
approvers:
- 10gen/devprod-correctness
- "append_result_tasks.py":
- "evergreen_activate_result_tasks.py":
approvers:
- 10gen/devprod-correctness
- "generate_result_tasks.py":

View File

@ -1,192 +0,0 @@
"""
Add generated tasks for displaying bazel test results to the current variant.
This script creates a json config used in Evergreen's generate.tasks to add
the appropriate subset of tasks to the variant, based on what tests were
reported to run in the build events JSON.
A task group is used to speed up successive tasks, and reduce the penalty of
setup costs.
See also: buildscripts/generate_result_tasks.py
Usage:
bazel run //buildscripts:append_result_tasks -- --outfile=generated_tasks.json
Options:
--outfile File path for the generated task config.
--build_events Location of the build events JSON, default "./build_events.json".
"""
import json
import os
import re
import typer
from shrub.v2 import BuildVariant, FunctionCall, ShrubProject, TaskGroup
from shrub.v2.command import BuiltInCommand
from shrub.v2.task import ExistingTask
from typing_extensions import Annotated
from buildscripts.bazel_burn_in import BAZEL_BURN_IN_TESTS
from buildscripts.gather_failed_tests import process_bep
from buildscripts.util.read_config import read_config_file
app = typer.Typer(pretty_exceptions_show_locals=False)
@app.command()
def main(outfile: Annotated[str, typer.Option()], build_events: str = "build_events.json"):
os.chdir(os.environ.get("BUILD_WORKSPACE_DIRECTORY", "."))
expansions = read_config_file("../expansions.yml")
build_variant = expansions.get("build_variant")
task_name = expansions.get("task_name")
failed_tests, successful_tests = process_bep(build_events)
tasks = failed_tests + successful_tests
if not tasks:
print("No test executions reported in the build events, exiting...")
return
# Shrub's TaskGroup doesn't supporting adding existing tasks, so leave `tasks` empty and patch
# the real list in later.
task_group = TaskGroup(
name=f"{task_name}_results_{build_variant}",
tasks=[],
max_hosts=len(tasks),
setup_group_can_fail_task=True,
setup_group=[
FunctionCall("git get project and add git tag"),
FunctionCall("get engflow cert"),
FunctionCall("get engflow key"),
BuiltInCommand(
"s3.get",
{
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_file": "build_events.json",
"remote_file": "${project}/${version_id}/${build_variant}/"
+ f"{task_name}/build_events.json",
"bucket": "mciuploads",
},
),
BuiltInCommand(
"s3.get",
{
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_file": "resmoke-tests-bazel-invocation.txt",
"remote_file": "${project}/${build_variant}/${revision}/"
+ f"bazel-invocation-{task_name}-0.txt",
"bucket": "mciuploads",
},
),
],
# Between tasks, remove the test logs and outputs. The tasks share hosts and leaving them
# can cause the task to include test logs from other bazel targets.
setup_task=[BuiltInCommand("shell.exec", {"script": "rm -rf build/ results/ report.json"})],
teardown_task=[
BuiltInCommand("attach.results", {"file_location": "report.json"}),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_file": "bazel-invocation.txt",
"remote_file": "${project}/${build_variant}/${revision}/bazel-invocation-${task_id}.txt",
"bucket": "mciuploads",
"permissions": "public-read",
"content_type": "text/plain",
"display_name": "Bazel invocation for local usage",
},
),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*outputs.zip",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "application/zip",
},
),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*_MANIFEST",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "text/plain",
},
),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*test.log",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "text/plain",
},
),
FunctionCall("generate result task hang analyzer"),
],
teardown_group=[
FunctionCall("kill processes"),
BuiltInCommand("shell.exec", {"script": "rm -rf build/ results/ report.json"}),
],
)
build_variant = BuildVariant(name=build_variant)
if re.match(BAZEL_BURN_IN_TESTS, task_name):
build_variant.display_task(
display_name="burn_in_tests",
execution_existing_tasks=[ExistingTask(task_name)]
+ [ExistingTask(task) for task in tasks],
)
build_variant.add_task_group(task_group)
shrub_project = ShrubProject.empty()
shrub_project.add_build_variant(build_variant)
# Patch in the real list of tasks in the task group.
project = shrub_project.as_dict()
project["task_groups"][0]["tasks"] = tasks
# Typical variants running resmoke tests set a variant-wide dependency. During conversion,
# these are not a dependency for the `resmoke_tests` task or the results tasks added here.
# Set an explicitly depends_on in the task group's reference to override it.
# The task that generated the task is used as a no-op dependency, as a workaround for not
# being able to set an empty depends_on. Remove with SERVER-119809.
if re.match(BAZEL_BURN_IN_TESTS, task_name):
depends_on = {"name": "version_burn_in_gen", "variant": "generate-tasks-for-version"}
else:
depends_on = {"name": "bazel_result_tasks_gen", "variant": "generate-tasks-for-version"}
for variant in project.get("buildvariants", []):
for task in variant.get("tasks", []):
task["depends_on"] = depends_on
with open(outfile, "w") as f:
f.write(json.dumps(project, indent=4))
if __name__ == "__main__":
app()

View File

@ -34,6 +34,7 @@ import yaml
from git import Repo
from shrub.v2 import BuildVariant, FunctionCall, ShrubProject, Task, TaskGroup
from shrub.v2.command import BuiltInCommand
from shrub.v2.task import ExistingTask
from typing_extensions import Annotated
if __name__ == "__main__" and __package__ is None:
@ -45,7 +46,7 @@ from buildscripts.burn_in_tests import (
MockFileChangeDetector,
)
from buildscripts.ciconfig.evergreen import parse_evergreen_file
from buildscripts.generate_result_tasks import make_results_task
from buildscripts.generate_result_tasks import make_results_task, make_task_group
from buildscripts.util import buildozer_utils as buildozer
BAZEL_BURN_IN_TESTS = r"resmoke_tests_burn_in_*"
@ -220,26 +221,27 @@ def make_task(targets_to_run, variant_name):
"--test_tag_filters=${resmoke_tests_tag_filter},-incompatible_with_bazel_remote_test "
"--test_arg=--testTimeout=960 "
"--test_timeout=1500 "
"--test_sharding_strategy=disabled "
"--test_arg=--sanityCheck"
"--config=evg "
),
"task_compile_flags": (
"--keep_going "
"--verbose_failures "
"--simple_build_id=True "
"--define=MONGO_VERSION=${version} "
"--config=evg "
"--linkstatic=True "
"--features=strip_debug "
"--separate_debug=False "
"--remote_download_outputs=minimal "
"--zip_undeclared_test_outputs"
),
"generate_burn_in_targets": True,
"compiling_for_test": True,
"build_timeout_seconds": 1800,
},
),
],
)
return TaskGroup(
return task, TaskGroup(
name=f"resmoke_tests_burn_in_{variant_name}-TG",
tasks=[task],
max_hosts=-1,
@ -256,35 +258,7 @@ def make_task(targets_to_run, variant_name):
FunctionCall("get engflow creds"),
],
teardown_task=[
BuiltInCommand("generate.tasks", {"optional": True, "files": ["generated_tasks.json"]}),
BuiltInCommand(
"s3.put",
{
"optional": True,
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_file": "src/generated_tasks.json",
"remote_file": "${project}/${version_id}/${build_variant}/${task_name}/generated_tasks.json",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"content_type": "application/json",
},
),
BuiltInCommand(
"s3.put",
{
"optional": True,
"aws_key": "${aws_key}",
"aws_secret": "${aws_secret}",
"local_file": "src/build_events.json",
"remote_file": "${project}/${version_id}/${build_variant}/${task_name}/build_events.json",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"content_type": "application/json",
},
),
FunctionCall("s3.put bazel build events"),
FunctionCall("debug full disk"),
FunctionCall("attach bazel invocation"),
FunctionCall("save failed tests"),
@ -333,10 +307,14 @@ def generate_tasks(
evg_conf = parse_evergreen_file("etc/evergreen.yml")
project = {"tasks": [], "task_groups": [], "buildvariants": []}
shrub_project = ShrubProject.empty()
results_tasks = []
seen_targets = set()
targets_all = set()
resmoke_tests_tasks = []
result_tasks = {}
for variant_name in evg_conf.variant_names:
variant = evg_conf.get_variant(variant_name)
if not (variant.is_required_variant() or variant.is_suggested_variant()):
@ -354,26 +332,60 @@ def generate_tasks(
if target.original_target in targets_with_tag
]
if burn_in_targets_to_run:
burn_in_task = make_task(burn_in_targets_to_run, variant_name)
targets_all.update(burn_in_targets_to_run)
for target in burn_in_targets_to_run:
if target not in seen_targets:
seen_targets.add(target)
results_tasks.append(make_results_task(target))
build_variant = BuildVariant(name=variant.name)
burn_in_task, burn_in_task_group = make_task(burn_in_targets_to_run, variant_name)
resmoke_tests_tasks.append(burn_in_task)
build_variant.add_task_group(burn_in_task_group)
results_task_group = make_task_group(
"resmoke_tests_burn_in",
variant.name,
targets,
f"resmoke_tests_burn_in_{variant.name}",
)
result_tasks[results_task_group.name] = burn_in_targets_to_run
build_variant.add_task_group(results_task_group)
build_variant.display_task(
display_name="burn_in_tests",
execution_existing_tasks=[ExistingTask(burn_in_task.name)]
+ [ExistingTask(task) for task in burn_in_targets_to_run],
activate=False,
)
build_variant = BuildVariant(name=variant_name)
build_variant.add_task_group(burn_in_task)
shrub_project.add_build_variant(build_variant)
# Patch in fields that not supported by shrub
project = shrub_project.as_dict()
project["tasks"] = project.get("tasks", [])
tasks = [make_results_task(target) for target in targets_all] + [
task.as_dict() for task in resmoke_tests_tasks
]
project["tasks"] = tasks
for variant in project.get("buildvariants", []):
for task in variant.get("tasks", []):
task["activate"] = False
# Typical variants running resmoke tests set a variant-wide dependency. During conversion,
# these are not a dependency for the `resmoke_tests` task or the results tasks added here.
# Set an explicitly depends_on in the task group's reference to override it. Remove with SERVER-119809.
if task["name"] in result_tasks:
task["depends_on"] = {
"name": f"resmoke_tests_burn_in_{variant["name"]}",
}
else:
task["depends_on"] = {
"name": "version_burn_in_gen",
"variant": "generate-tasks-for-version",
"omit_generated_tasks": True,
}
for task in project["tasks"]:
task["exec_timeout_secs"] = 1800
project["tasks"].extend([task for task in results_tasks])
task["exec_timeout_secs"] = 3720
for task_group in project.get("task_groups", []):
if task_group["name"] in result_tasks:
task_group["tasks"] = result_tasks[task_group["name"]]
with open(outfile, "w") as f:
f.write(json.dumps(project, indent=4))

View File

@ -33,7 +33,6 @@ LOGGER = structlog.getLogger(__name__)
EVG_CONFIG_FILE = "./.evergreen.yml"
BURN_IN_TAGS = "burn_in_tags"
BURN_IN_TESTS = "burn_in_tests"
BAZEL_BURN_IN_TESTS = r"resmoke_tests_burn_in*"
BURN_IN_VARIANT_SUFFIX = "generated-by-burn-in-tags"
@ -92,7 +91,7 @@ def activate_task(expansions: EvgExpansions, evg_api: EvergreenApi) -> None:
tasks_not_activated.append(task.task_id)
else:
for task in task_list:
if re.match(BAZEL_BURN_IN_TESTS, task.display_name):
if re.match(BURN_IN_TESTS, task.display_name):
LOGGER.info(
"Activating task", task_id=task.task_id, task_name=task.display_name
)

View File

@ -0,0 +1,210 @@
"""Activate result task groups in the existing build."""
import json
import os
import sys
from typing import Annotated, Optional
import structlog
import typer
from urllib3.util import Retry
from evergreen.api import (
DEFAULT_HTTP_RETRY_ATTEMPTS,
DEFAULT_HTTP_RETRY_BACKOFF_FACTOR,
DEFAULT_HTTP_RETRY_CODES,
EvergreenApi,
RetryingEvergreenApi,
)
if __name__ == "__main__" and __package__ is None:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from buildscripts.util.cmdutils import enable_logging
from buildscripts.util.fileops import read_yaml_file
LOGGER = structlog.getLogger(__name__)
EVG_CONFIG_FILE = "./.evergreen.yml"
app = typer.Typer(pretty_exceptions_show_locals=False)
def get_executed_test_labels(build_events_file: str) -> set[str]:
"""
Parse a Bazel build events NDJSON file and return all executed test target labels.
:param build_events_file: Path to the build_events.json NDJSON file.
:return: Set of Bazel target labels that had test results.
"""
labels = set()
with open(build_events_file) as f:
for line in f:
line = line.strip()
if not line:
continue
event = json.loads(line)
if "testResult" in event:
label = event["id"]["testResult"]["label"]
labels.add(label)
return labels
def activate_result_task_group(
build_variant: str,
task_name: str,
version_id: str,
evg_api: EvergreenApi,
build_events_file: Optional[str] = None,
) -> None:
"""
Activate the result task group for the given variant and task.
:param build_variant: The build variant name.
:param task_name: The task name (e.g., "resmoke_tests").
:param version_id: The Evergreen version ID.
:param evg_api: Evergreen API client.
:param build_events_file: Optional path to build_events.json. When provided, asserts that
every executed test has a corresponding Evergreen task; raises RuntimeError otherwise.
"""
result_task_group_name = f"{task_name}_results_{build_variant}"
try:
version = evg_api.version_by_id(version_id)
build_id = version.build_variants_map.get(build_variant)
if not build_id:
LOGGER.warning(
"Build variant not found in version",
build_variant=build_variant,
version_id=version_id,
)
return
task_list = evg_api.tasks_by_build(build_id)
# Collect all task names that need activation
tasks_to_activate = []
already_activated_count = 0
evg_task_names = set()
for task in task_list:
# Result tasks are bazel targets that start with "//"
if task.display_name.startswith("//") and "_burn_in_" not in task.display_name:
evg_task_names.add(task.display_name)
if task.activated:
already_activated_count += 1
LOGGER.debug(
"Task already activated, skipping",
task_id=task.task_id,
task_name=task.display_name,
)
else:
tasks_to_activate.append(task.display_name)
LOGGER.debug(
"Found result task to activate",
task_id=task.task_id,
task_name=task.display_name,
)
if build_events_file:
executed_labels = get_executed_test_labels(build_events_file)
missing = executed_labels - evg_task_names
if missing:
missing_sorted = sorted(missing)
LOGGER.error(
"Executed tests have no corresponding Evergreen task — "
"this indicates a bug in task generation",
missing_count=len(missing_sorted),
missing_tasks=missing_sorted,
)
raise RuntimeError(
f"{len(missing_sorted)} executed test(s) have no corresponding Evergreen task: "
+ ", ".join(missing_sorted)
)
if not tasks_to_activate and not already_activated_count:
LOGGER.warning(
"No result tasks found to activate",
task_group=result_task_group_name,
build_variant=build_variant,
)
return
LOGGER.info(
"Activating result tasks",
count=len(tasks_to_activate),
already_activated=already_activated_count,
task_group=result_task_group_name,
)
variants = [{"name": build_variant, "tasks": tasks_to_activate}]
evg_api.activate_version_tasks(version_id, variants)
LOGGER.info(
"Successfully activated result tasks",
count=len(tasks_to_activate),
task_group=result_task_group_name,
)
except Exception:
LOGGER.error(
"Failed to activate result task group",
task_group=result_task_group_name,
build_variant=build_variant,
version_id=version_id,
exc_info=True,
)
raise
@app.command()
def main(
expansion_file: Annotated[
str, typer.Option(help="Location of expansions file generated by evergreen.")
],
evergreen_config: Annotated[
str, typer.Option(help="Location of evergreen configuration file.")
] = EVG_CONFIG_FILE,
build_events_file: Annotated[
Optional[str],
typer.Option(
help="Path to the Bazel build events NDJSON file (build_events.json). "
"When provided, asserts that every executed test has a corresponding "
"Evergreen task, raising an error if any are missing."
),
] = None,
verbose: Annotated[bool, typer.Option(help="Enable verbose logging.")] = False,
) -> None:
"""
Activate the result task group for the current build variant and task.
"""
enable_logging(verbose)
expansions = read_yaml_file(expansion_file)
build_variant = expansions.get("build_variant")
task_name = expansions.get("task_name")
version_id = expansions.get("version_id")
if not all([build_variant, task_name, version_id]):
LOGGER.error(
"Missing required expansions",
build_variant=build_variant,
task_name=task_name,
version_id=version_id,
)
return
evg_api = RetryingEvergreenApi.get_api(config_file=evergreen_config, log_on_error=True)
evg_api._http_retry = Retry(
total=DEFAULT_HTTP_RETRY_ATTEMPTS + 10,
backoff_factor=DEFAULT_HTTP_RETRY_BACKOFF_FACTOR,
status_forcelist=DEFAULT_HTTP_RETRY_CODES,
raise_on_status=False,
raise_on_redirect=False,
)
activate_result_task_group(build_variant, task_name, version_id, evg_api, build_events_file)
if __name__ == "__main__":
app()

View File

@ -2,10 +2,12 @@
Generate tasks for displaying bazel test results for all resmoke bazel tests.
This script creates a json config used in Evergreen's generate.tasks to add
tasks for displaying test results. It does not add the tasks to any variant.
They are added to variants by the resmoke_tests task based on which tests ran.
tasks for displaying test results AND assigns them to appropriate variants upfront.
Queries bazel to determine which test targets will run on each variant based on
tag filters and other expansions, then generates both task definitions and
variant assignments in a single step.
See also: buildscripts/append_result_tasks.py
Usage:
bazel run //buildscripts:generate_result_tasks -- --outfile=generated_tasks.json
@ -17,6 +19,8 @@ Options:
import glob
import json
import os
import re
import shlex
import subprocess
import sys
from functools import cache
@ -25,10 +29,20 @@ from typing import Optional
import runfiles
import typer
import yaml
from shrub.v2 import FunctionCall, Task
from shrub.v2 import BuildVariant, FunctionCall, Task, TaskGroup
from shrub.v2.command import BuiltInCommand
from typing_extensions import Annotated
from buildscripts.ciconfig.evergreen import Task as EvergreenTask
from buildscripts.ciconfig.evergreen import Variant as EvergreenVariant
from buildscripts.ciconfig.evergreen import parse_evergreen_file
from buildscripts.util.read_config import read_config_file
RESMOKE_TEST_QUERY = 'attr(tags, "resmoke_suite_test", //...)'
RESMOKE_TESTS_TAG_FILTER = "resmoke_tests_tag_filter"
MASTER_PROJECT_NAME = "mongodb-mongo-master"
MASTER_PROJECT_CONFIG = "etc/evergreen.yml"
NIGHTLY_PROJECT_CONFIG = "etc/evergreen_nightly.yml"
app = typer.Typer(pretty_exceptions_show_locals=False)
@ -47,6 +61,118 @@ def make_results_task(target: str) -> Task:
return task
def make_task_group(
name: str,
variant: str,
targets,
resmoke_task: Optional[str] = "resmoke_tests",
) -> TaskGroup:
task_group = TaskGroup(
name=f"{name}_results_{variant}",
tasks=[],
max_hosts=len(targets),
setup_group_can_fail_task=True,
setup_group=[
FunctionCall("git get project and add git tag"),
FunctionCall("get engflow cert"),
FunctionCall("get engflow key"),
BuiltInCommand(
"s3.get",
{
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "build_events.json",
"remote_file": "${project}/${version_id}/${build_variant}/"
+ f"{resmoke_task}/build_events.json",
"bucket": "mciuploads",
},
),
BuiltInCommand(
"s3.get",
{
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "resmoke-tests-bazel-invocation.txt",
"remote_file": "${project}/${build_variant}/${revision}/"
+ f"bazel-invocation-{resmoke_task}-0.txt",
"bucket": "mciuploads",
},
),
],
# Between tasks, remove the test logs and outputs. The tasks share hosts and leaving them
# can cause the task to include test logs from other bazel targets.
setup_task=[BuiltInCommand("shell.exec", {"script": "rm -rf build/ results/ report.json"})],
teardown_task=[
BuiltInCommand("attach.results", {"file_location": "report.json"}),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "bazel-invocation.txt",
"remote_file": "${project}/${build_variant}/${revision}/bazel-invocation-${task_id}.txt",
"bucket": "mciuploads",
"permissions": "public-read",
"content_type": "text/plain",
"display_name": "Bazel invocation for local usage",
},
),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*outputs.zip",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "application/zip",
},
),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*_MANIFEST",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "text/plain",
},
),
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*test.log",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "text/plain",
},
),
FunctionCall("generate result task hang analyzer"),
],
teardown_group=[
FunctionCall("kill processes"),
BuiltInCommand("shell.exec", {"script": "rm -rf build/ results/ report.json"}),
],
)
return task_group
def get_assignment_tag(target: str) -> Optional[str]:
# Format is like "assigned_to_jira_team_devprod_build".
# See also docs/evergreen-testing/yaml_configuration/task_ownership_tags.md
@ -104,7 +230,7 @@ def resolve_assignment_tags() -> dict[str, str]:
def resolve_codeowners() -> dict[str, list[str]]:
try:
result = subprocess.run(
'find * -name "BUILD.bazel" | xargs bazel run @codeowners_binary//:codeowners --',
'find * -name "BUILD.bazel" | xargs bazel run --config=local @codeowners_binary//:codeowners --',
shell=True,
capture_output=True,
text=True,
@ -131,32 +257,290 @@ def resolve_codeowners() -> dict[str, list[str]]:
return {}
def query_targets() -> list[str]:
try:
result = subprocess.run(
["bazel", "query", RESMOKE_TEST_QUERY],
capture_output=True,
text=True,
check=True,
def expand_evergreen_variables(text: str, expansions: dict) -> str:
"""Expand Evergreen ${variable} syntax in a string.
Args:
text: String potentially containing ${var} expansions
expansions: Dict of expansion values
Returns:
String with ${var} replaced by expansion values
"""
def replace_var(match):
var_name = match.group(1)
return str(expansions.get(var_name, ""))
return re.sub(r"\$\{([^}]+)\}", replace_var, text)
def get_task_vars(task: EvergreenTask, func_name: str = "execute resmoke tests via bazel") -> dict:
"""Extract vars from a specific function call in task commands."""
for command in task.raw.get("commands", []):
if command.get("func") == func_name:
return command.get("vars", {})
return {}
def get_variant_expansion(
variant: EvergreenVariant, task: EvergreenTask, expansion_name: str
) -> str:
"""Get expansion value from variant or task vars.
Checks variant expansions first, then task vars, then returns defaults.
"""
task_vars = get_task_vars(task)
value = task_vars.get(expansion_name)
if value:
return value
value = variant.expansion(expansion_name)
if value:
return value
return ""
def query_targets(
variant,
resmoke_task,
expansions,
) -> list[str]:
target_pattern = expansions.get("resmoke_test_targets", "//...")
tag_filter = get_variant_expansion(variant, resmoke_task, RESMOKE_TESTS_TAG_FILTER)
tags = [t.strip() for t in tag_filter.split(",") if t.strip()]
if not tags:
print(
f"Warning: No tags found in filter '{tag_filter}' for variant {variant.name}",
file=sys.stderr,
)
# Parse the output - each line is a target label
return [line.strip() for line in result.stdout.strip().split("\n") if line.strip()]
except subprocess.CalledProcessError as e:
print(f"Bazel query failed with return code {e.returncode}")
print(f"Command: {' '.join(e.cmd)}")
print(f"STDOUT:\n{e.stdout}")
print(f"STDERR:\n{e.stderr}")
raise
return []
bazel_flags = []
for flag_name in ["bazel_args", "bazel_compile_flags", "task_compile_flags"]:
flag_value = get_variant_expansion(variant, resmoke_task, flag_name)
if flag_value:
flag_value = expand_evergreen_variables(flag_value, expansions)
bazel_flags.extend(shlex.split(flag_value))
flags_list = list(bazel_flags)
flags_list.append("--//bazel/resmoke:skip_deps_for_cquery")
flags_list.append("--noincompatible_enable_cc_toolchain_resolution")
flags_list.append("--repo_env=no_c++_toolchain=1")
flags_list.append("--keep_going")
# If target_pattern contains multiple space-separated targets, wrap them in set()
# to create valid Bazel query syntax
if " " in target_pattern and not target_pattern.startswith("set("):
target_pattern = f"set({target_pattern})"
# Query for tests with tags that match the variant. Only py_test rules are considered,
# since resmoke_suite_test is a macro for a py_test.
if len(tags) == 1:
# Single tag - simple query
tag = tags[0]
query = f"attr(tags, '\\b{tag}(?![a-zA-Z0-9_-])', kind('py_test', {target_pattern}))"
else:
# Multiple tags - use + operator to combine them in a single query
tag_queries = [
f"attr(tags, '\\b{tag}(?![a-zA-Z0-9_-])', kind('py_test', {target_pattern}))"
for tag in tags
]
query = " + ".join(tag_queries)
cmd = (
["bazel", "cquery"]
+ flags_list
+ [
query,
"--output=starlark",
"--starlark:expr",
'target.label if "IncompatiblePlatformProvider" not in providers(target) else ""',
]
)
result = subprocess.run(cmd, capture_output=True, text=True)
targets = [
line.strip().removeprefix("@@")
for line in result.stdout.strip().split("\n")
if line.strip()
]
print(f"Variant {variant.name}: Found {len(targets)} targets total", file=sys.stderr)
if target_pattern == "//..." and not targets:
error_msg = (
f"Bazel cquery failed. No targets found for variant {variant.name}\n"
f"Bazel cquery: {query}\n"
f"Command: {' '.join(cmd)}\n"
f"STDOUT:\n{result.stdout}\n"
f"STDERR:\n{result.stderr}"
)
raise RuntimeError(error_msg)
return targets
def create_task_group_for_variant(variant_name: str, task_name: str, targets: list[str]) -> dict:
"""Create task group definition for displaying test results.
Structure is similar to append_result_tasks.py but generated upfront.
"""
return {
"name": f"{task_name}_results_{variant_name}",
"tasks": targets,
"max_hosts": len(targets),
"setup_group_can_fail_task": True,
"setup_group": [
{"func": "git get project and add git tag"},
{"func": "get engflow cert"},
{"func": "get engflow key"},
{
"command": "s3.get",
"params": {
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "build_events.json",
"remote_file": f"${{project}}/${{version_id}}/${{build_variant}}/{task_name}/build_events.json",
"bucket": "mciuploads",
},
},
{
"command": "s3.get",
"params": {
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "resmoke-tests-bazel-invocation.txt",
"remote_file": f"${{project}}/${{build_variant}}/${{revision}}/bazel-invocation-{task_name}-0.txt",
"bucket": "mciuploads",
},
},
],
"setup_task": [
{"command": "shell.exec", "params": {"script": "rm -rf build/ results/ report.json"}}
],
"teardown_task": [
{"command": "attach.results", "params": {"file_location": "report.json"}},
{
"command": "s3.put",
"params": {
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "bazel-invocation.txt",
"remote_file": "${project}/${build_variant}/${revision}/bazel-invocation-${task_id}.txt",
"bucket": "mciuploads",
"permissions": "public-read",
"content_type": "text/plain",
"display_name": "Bazel invocation for local usage",
},
},
{
"command": "s3.put",
"params": {
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*outputs.zip",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "application/zip",
},
},
{
"command": "s3.put",
"params": {
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*_MANIFEST",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "text/plain",
},
},
{
"command": "s3.put",
"params": {
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_files_include_filter_prefix": "results",
"local_files_include_filter": "**/*test.log",
"remote_file": "${project}/${build_variant}/${revision}/${task_id}/",
"bucket": "mciuploads",
"permissions": "private",
"visibility": "signed",
"preserve_path": "true",
"content_type": "text/plain",
},
},
{"func": "generate result task hang analyzer"},
],
"teardown_group": [
{"func": "kill processes"},
{"command": "shell.exec", "params": {"script": "rm -rf build/ results/ report.json"}},
],
}
def get_evergreen_config_path(project_name: str) -> str:
if project_name == MASTER_PROJECT_NAME:
return MASTER_PROJECT_CONFIG
return NIGHTLY_PROJECT_CONFIG
@app.command()
def main(outfile: Annotated[str, typer.Option()]):
os.chdir(os.environ.get("BUILD_WORKSPACE_DIRECTORY", "."))
test_targets = query_targets()
expansions = read_config_file("../expansions.yml")
project_name = expansions.get("project", MASTER_PROJECT_NAME)
evg_config_path = get_evergreen_config_path(project_name)
tasks = [make_results_task(target) for target in test_targets]
project = {"tasks": [task for task in tasks]}
print(f"Parsing Evergreen configuration from {evg_config_path}...", file=sys.stderr)
evg_config = parse_evergreen_file(evg_config_path)
project = {"tasks": [], "task_groups": [], "buildvariants": []}
targets_all = set()
for variant in evg_config.variants:
resmoke_task = variant.get_task("resmoke_tests")
if not resmoke_task:
continue
targets = query_targets(variant, resmoke_task, expansions)
if not targets:
continue
targets_all.update(targets)
task_group = make_task_group("resmoke_tests", variant.name, targets).as_dict()
task_group["tasks"] = targets
project["task_groups"].append(task_group)
build_variant = BuildVariant(name=variant.name).as_dict()
# Typical variants running resmoke tests set a variant-wide dependency. During conversion,
# these are not a dependency for the `resmoke_tests` task or the results tasks added here.
# Set an explicitly depends_on in the task group's reference to override it.
# The task that generated the task is used as a no-op dependency, as a workaround for not
# being able to set an empty depends_on. Remove with SERVER-119809.
build_variant["tasks"] = {
"name": task_group["name"],
"activate": False,
"depends_on": {
"name": "bazel_result_tasks_gen",
"variant": "generate-tasks-for-version",
"omit_generated_tasks": True,
},
}
project["buildvariants"].append(build_variant)
project["tasks"] = [make_results_task(target) for target in targets_all]
with open(outfile, "w") as f:
f.write(json.dumps(project, indent=4))

View File

@ -61,8 +61,8 @@ def generate_version_expansions():
raise ValueError("Unable to parse version from stdin and no version.json provided")
if version_parts[0]:
expansions["suffix"] = "latest"
expansions["src_suffix"] = "latest"
expansions["suffix"] = "v8.3-latest"
expansions["src_suffix"] = "v8.3-latest"
expansions["is_release"] = "false"
else:
expansions["suffix"] = version_line

View File

@ -36,6 +36,7 @@ selector:
exclude_files:
- jstests/noPassthrough/libs/**/*.js
exclude_with_any_tags:
- requires_kernel_619
- incompatible_with_execution_control_with_prioritization
roots:
- jstests/noPassthrough/**/*.js

View File

@ -38,6 +38,7 @@ executor:
matrix_suite: true
selector:
exclude_with_any_tags:
- requires_kernel_619
- primary_driven_index_builds_incompatible
- rolling_index_builds
- requires_commit_quorum

View File

@ -213,6 +213,9 @@ filters:
- "*rate_limited.yml":
approvers:
- 10gen/server-workload-resilience
- "*rseq_kernel_check*":
approvers:
- 10gen/server-workload-resilience
- "secondary_reads_passthrough_with_replica_set_endpoint.yml":
approvers:
- 10gen/server-cluster-scalability

View File

@ -6,6 +6,7 @@ selector:
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
check_result: True
# TODO SERVER-122547 Re-enable GenerateAndCheckPerfResults on benchmarks_sep on release branches
# hooks:
# - class: GenerateAndCheckPerfResults
# check_result: True

View File

@ -19,6 +19,7 @@ selector:
exclude_files:
- jstests/noPassthrough/libs/**/*.js
exclude_with_any_tags:
- requires_kernel_619
# noPassthrough tests start their own mongod's.
executor:

View File

@ -37,6 +37,9 @@ selector:
- jstests/core/query/release_memory/group.js
# Running analyze on a query from this test creates a BSON document that is larger than 16 MB
- jstests/core/index/geo/geo_circle_spilling.js
# TODO SERVER-121749: CBR hits MONGO_UNREACHABLE_TASSERT(5837103) when estimating a plan whose
# FetchNode filter contains $_internalBucketGeoWithin.
- jstests/core/timeseries/geo/timeseries_2dsphere_index_version_matcher_consistency.js
# TODO SERVER-100451: $elemMatch estimation using histograms
- jstests/core/query/boolean_expression_simplification.js

View File

@ -31,6 +31,8 @@ selector:
- jstests/core/query/sbe/plan_cache_sbe_with_or_queries.js
- jstests/core/query/sbe/from_plan_cache_flag.js
- jstests/core/query/plan_cache/cached_plan_trial_does_not_discard_work.js
- jstests/core/query/force_plan.js
executor:
archive:
hooks:

View File

@ -50,6 +50,8 @@ selector:
- jstests/aggregation/sources/lookup/lookup_unwind_equijoin.js
# TODO SERVER-118416 Fix join reordering tripwire assertions for lookup+unwind pipelines and re-enable lookup_unwind_pbt PBT
- jstests/aggregation/sources/lookup/lookup_unwind_pbt.js
exclude_with_any_tags:
- requires_kernel_619
executor:
config:
shell_options:

View File

@ -0,0 +1,20 @@
test_kind: js_test
description: |
Tests for rseq/tcmalloc kernel compatibility on Linux >= 6.19.
Only runs on the ubuntu2404-kernel619-rseq-check variant.
selector:
roots:
- jstests/noPassthrough/rseq_linux_compatibility/**/*.js
include_with_any_tags:
- requires_kernel_619
executor:
config:
shell_options:
nodb: ""
process_kwargs:
env_vars:
# We need to set the environment variable at the suite level because
# mongo shell would also crash due to the tcmalloc issue otherwise.
GLIBC_TUNABLES: "glibc.pthread.rseq=1"

View File

@ -398,7 +398,7 @@ CONFIG_SHARD = None
MODULES_CONFIG_PATH = None
# list of enabled modules
MODULES = None
MODULES = []
# list of dirs from enabled modules to get suites from
MODULE_SUITE_DIRS = []

View File

@ -7,6 +7,18 @@ import stat
from buildscripts.resmokelib import config, utils
def is_enterprise_param_available(param_config: dict) -> bool:
"""
Check if a parameter is available for fuzzing.
Returns True if the parameter is available (either not enterprise-only, or the
enterprise module is loaded). This handles the case where config.MODULES is empty
(e.g., when generate-fuzz-config is run standalone without module initialization).
"""
return not param_config.get("enterprise_only", False) or "enterprise" in (config.MODULES or [])
# Parameter sets with different behaviors.
flow_control_params = [
"flowControlTicketAdderConstant",
@ -218,7 +230,7 @@ def generate_encryption_config(rng: random.Random):
# encryption also required an enterprise binary.
if (
config.STORAGE_ENGINE != "wiredTiger"
or "enterprise" not in config.MODULES
or "enterprise" not in (config.MODULES or [])
or config.DISABLE_ENCRYPTION_FUZZING
):
return ret
@ -375,8 +387,7 @@ def generate_mongod_parameters(rng):
params = {
param: val
for param, val in config_fuzzer_params["mongod"].items()
if "startup" in val.get("fuzz_at", [])
and not (val.get("enterprise_only", False) and "enterprise" not in config.MODULES)
if "startup" in val.get("fuzz_at", []) and is_enterprise_param_available(val)
}
# TODO (SERVER-75632): Remove/comment out the below line to enable passthrough testing.
@ -412,7 +423,7 @@ def generate_mongod_extra_configs(rng):
generated_config = {
key: generate_normal_mongo_parameters(rng, value, key)
for key, value in config_fuzzer_extra_configs["mongod"].items()
if not (value.get("enterprise_only", False) and "enterprise" not in config.MODULES)
if is_enterprise_param_available(value)
}
# This is needed for our antithesis setup
@ -434,8 +445,7 @@ def generate_mongos_parameters(rng):
params = {
param: val
for param, val in config_fuzzer_params["mongos"].items()
if "startup" in val.get("fuzz_at", [])
and not (val.get("enterprise_only", False) and "enterprise" not in config.MODULES)
if "startup" in val.get("fuzz_at", []) and is_enterprise_param_available(val)
}
return {key: generate_normal_mongo_parameters(rng, value, key) for key, value in params.items()}

View File

@ -381,7 +381,7 @@ def _get_core_analyzer_commands(
BuiltInCommand(
"s3.put",
{
"aws_key": "${aws_key}",
"aws_key": "${aws_key_new}",
"aws_secret": "${aws_secret}",
"local_file": "src/mongo-coreanalysis.tgz",
"remote_file": core_analyzer_results_url,

View File

@ -13,6 +13,7 @@ from buildscripts.resmokelib import config, errors
from buildscripts.resmokelib.generate_fuzz_config.mongo_fuzzer_configs import (
generate_normal_mongo_parameters,
generate_special_runtime_parameters,
is_enterprise_param_available,
)
from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
from buildscripts.resmokelib.testing.fixtures import replicaset, shardedcluster, standalone
@ -123,21 +124,19 @@ class FuzzRuntimeParameters(interface.Hook):
runtime_mongod_params = {
param: val
for param, val in config_fuzzer_params["mongod"].items()
if "runtime" in val.get("fuzz_at", [])
and not (val.get("enterprise_only", False) and "enterprise" not in config.MODULES)
if "runtime" in val.get("fuzz_at", []) and is_enterprise_param_available(val)
}
runtime_mongos_params = {
param: val
for param, val in config_fuzzer_params["mongos"].items()
if "runtime" in val.get("fuzz_at", [])
and not (val.get("enterprise_only", False) and "enterprise" not in config.MODULES)
if "runtime" in val.get("fuzz_at", []) and is_enterprise_param_available(val)
}
# Get cluster parameters
cluster_params = {
param: val
for param, val in config_fuzzer_params["cluster"].items()
if not (val.get("enterprise_only", False) and "enterprise" not in config.MODULES)
if is_enterprise_param_available(val)
}
# Flow control-related parameters should only be fuzzed when enableFlowControl is set to True at startup.

View File

@ -417,8 +417,11 @@ class CheckPerfResultTestCase(interface.DynamicTestCase):
)
if any_metric_has_failed:
# If this in the merge queue, check to see if an override comment was made by an authorized user.
if _config.EVERGREEN_REQUESTER == "github_merge_queue":
# Check to see if an override comment was made by an authorized user.
if (
_config.EVERGREEN_REQUESTER == "github_pr"
or _config.EVERGREEN_REQUESTER == "github_merge_queue"
):
github_pr_number = int(get_expansion("github_pr_number", 0))
if not github_pr_number:
raise ServerFailure(

View File

@ -2408,6 +2408,10 @@
{
"name": "import_script_path",
"value": "src/third_party/libmongocrypt/import.sh"
},
{
"name": "mdb_first_party",
"value": "true"
}
]
},
@ -2457,6 +2461,10 @@
{
"name": "import_script_path",
"value": "src/third_party/libbson/import.sh"
},
{
"name": "mdb_first_party",
"value": "true"
}
]
},
@ -2502,6 +2510,10 @@
{
"name": "emits_persisted_data",
"value": "false"
},
{
"name": "mdb_first_party",
"value": "true"
}
]
},
@ -3209,6 +3221,10 @@
{
"name": "emits_persisted_data",
"value": "true"
},
{
"name": "mdb_first_party",
"value": "true"
}
]
},

View File

@ -34,6 +34,7 @@ EXCLUDED_PATTERNS = [
"AGENTS.md",
".github/CODEOWNERS",
"monguard/",
"etc/evergreen_yml_components/",
]
ACCEPTABLE_ERROR_MESSAGES = [
# Indicates the two repositories are identical.
@ -724,7 +725,7 @@ def main():
print("ERROR: prod workflow should not be run in patch builds!")
sys.exit(1)
test_args = []
branch = "master"
branch = "v8.3"
config_file = get_prod_copybara_config_from_master(current_dir)
else:
raise Exception(f"invalid workflow {args.workflow}")

View File

@ -149,6 +149,10 @@ class TestExternalModule(unittest.TestCase):
self.assertIn("/testfiles/two.js", result.stdout)
self.assertNotIn("/testfiles/one.js", result.stdout)
# skipping on TSAN because of the supressions file being relative to the root repo
# This would work fine on TSAN in an exteral repo beause they would specify the correct
# relative path.
@unittest.skipIf("TSAN_OPTIONS" in os.environ, "Skipping when TSAN_OPTIONS is set")
def test_external_suite_with_fixture_runs(self):
"""Test that external suite with MongoDFixture can run both external and builtin tests."""
env = os.environ.copy()

View File

@ -316,6 +316,7 @@ class TestSkyExclusionChecks(unittest.TestCase):
"AGENTS.md",
".github/CODEOWNERS",
"monguard/**",
"etc/evergreen_yml_components/**",
])
"""
)
@ -340,6 +341,7 @@ class TestSkyExclusionChecks(unittest.TestCase):
"AGENTS.md",
".github/CODEOWNERS",
"monguard/**",
"etc/evergreen_yml_components/**",
])
"""
)

View File

@ -20,7 +20,7 @@ DEFAULT_EVG_PROJECT_CONFIG = "etc/evergreen.yml"
DEFAULT_EVG_NIGHTLY_PROJECT_CONFIG = "etc/evergreen_nightly.yml"
# SET TO TRUE IN RAPID RELEASE BRANCHES - see docs/branching/README.md
RELEASE_BRANCH = False
RELEASE_BRANCH = True
UNMATCHED_REGEXES = [
re.compile(r".*buildvariant .+ has unmatched selector: .+"),
@ -88,6 +88,8 @@ def main(
DEFAULT_EVG_NIGHTLY_PROJECT_NAME: DEFAULT_EVG_NIGHTLY_PROJECT_CONFIG,
}
evergreen_bin = find_evergreen_binary("evergreen")
if RELEASE_BRANCH:
for _, project_config in evg_project_config_map.items():
cmd = [
@ -110,7 +112,6 @@ def main(
exit_code = 0
num_of_projects = len(evg_project_config_map)
evergreen_bin = find_evergreen_binary("evergreen")
for project, project_config in evg_project_config_map.items():
cmd = [
evergreen_bin,

View File

@ -1,87 +0,0 @@
# This configuration is for migrating code from one Git repository to another using Copybara.
# It selectively copies content, excluding specific paths and preserving authorship.
sourceUrl = "https://github.com/10gen/mongo.git"
prodUrl = "https://github.com/mongodb/mongo.git"
testUrl = "https://github.com/10gen/mongo-copybara.git"
testBranch = "copybara_test_branch"
prodRefForPinnedSourceCommit = "master"
def make_workflow(workflow_name, destination_url, source_ref, destination_ref):
core.workflow(
name = workflow_name,
origin = git.origin(
url = "https://github.com/10gen/mongo.git",
ref = source_ref,
),
destination = git.destination(
url = destination_url,
fetch = destination_ref,
push = destination_ref,
),
# Change path to the folder you want to publish publicly
origin_files = glob(["**"], exclude = [
"src/mongo/db/modules/**",
"buildscripts/modules/**",
".github/workflows/**",
"src/third_party/private/**",
"sbom.private.json",
".cursor/**",
".claude/**",
"AGENTS.md",
".github/CODEOWNERS",
"monguard/**",
]),
authoring = authoring.pass_thru("MongoDB <mongodb@mongodb.com>"),
mode = "ITERATIVE",
transformations = [
# The transformation rules below will remove the commit message's body, while preserving
# any trailer lines that have acceptable keys (Co-authored-by, etc). The first line of
# the commit message (ie. the commit's subject/summary line) is also always retained.
#
# Achieving this requires a 4 step process.
#
# STEP 1: Non-initial lines (ie. those which appear after a newline char) that start with
# an acceptable trailer key are preserved, but any other lines have their content removed
# (leaving a blank line).
#
# This works because the first .* (inside capture group 1) only matches if the line starts
# with a trailer key. If it doesn't, then the line is fully consumed by the second .*
# (which is outside the capture group, and therefore $1 is empty).
metadata.scrubber(
"\n((?:Co-authored-by|Signed-off-by|Reviewed-by): .*)?.*",
replacement = "\n$1",
),
#
# STEP 2: Remove blank lines, ie. sequences of newlines get condensed down to one newline.
metadata.scrubber("\n+", replacement = "\n"),
#
# STEP 3: Remove any trailing newline.
metadata.scrubber("\n$", replacement = ""),
#
# STEP 4: If there are trailer lines (ie. if the first line has a newline followed by more
# text), then add an extra blank line after the first line, ie. to separate the commit's
# trailers from the subject line.
#
# The first capture group (^.*?\n) is the first line (non-greedily consuming chars until a
# newline), while the second capture group ((\n|.)*) is the rest of the message (greedily
# consume all chars, including newlines).
# If there are no trailers, then there will only be a single line of text, with no newline
# chars, and so the pattern will fail to match.
metadata.scrubber("(^.*?\n)((?:\n|.)*)", replacement = "$1\n$2"),
#
# STEP 5: Replace any private links with their public equivalent.
core.replace(
before = "https://github.com/10gen/mongo",
after = "https://github.com/mongodb/mongo",
paths = glob(["**/*.md"]),
),
],
)
# push to the public repo
make_workflow("prod", prodUrl, prodRefForPinnedSourceCommit, "master")
# push to private test repo to validate configs
make_workflow("test", testUrl, testBranch, testBranch)

View File

@ -21,6 +21,8 @@
#
last-continuous:
all:
- test_file: jstests/core/administrative/filemd5.js
ticket: SERVER-119317
- test_file: jstests/core/index/elemmatch_index.js
ticket: SERVER-108945
- test_file: jstests/concurrency/fsm_workloads/ddl/collMod/collMod_options_with_index_ops.js
@ -164,6 +166,8 @@ last-continuous:
suites: null
last-lts:
all:
- test_file: jstests/core/administrative/filemd5.js
ticket: SERVER-119317
- test_file: jstests/core/index/elemmatch_index.js
ticket: SERVER-108945
- test_file: jstests/replsets/malformed_heartbeat_request.js

View File

@ -55,5 +55,5 @@ analyze:
commit:
connect:
stream: mongo.master
stream: mongo.v8.3
project: "MongoDB master"

View File

@ -63,7 +63,6 @@ include:
- filename: etc/evergreen_yml_components/tasks/compile_tasks_shared.yml
- filename: etc/evergreen_yml_components/tasks/misc_tasks.yml
- filename: etc/evergreen_yml_components/tasks/release_tasks.yml
- filename: etc/evergreen_yml_components/tasks/devcontainer_tasks.yml
- filename: etc/evergreen_yml_components/variants/misc/task_generation.yml
- filename: etc/evergreen_yml_components/variants/misc/misc.yml

View File

@ -15,11 +15,11 @@ include:
- filename: etc/evergreen_yml_components/variants/misc/task_generation.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/misc/misc.yml
- filename: etc/evergreen_yml_components/variants/misc/misc.yml
- filename: etc/evergreen_yml_components/variants/amazon/test_release.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/amazon/test_dev.yml
- filename: etc/evergreen_yml_components/variants/amazon/test_dev.yml
- filename: etc/evergreen_yml_components/variants/debian/test_release.yml
@ -30,33 +30,31 @@ include:
- filename: etc/evergreen_yml_components/variants/rhel/test_release.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/rhel/test_dev.yml
- filename: etc/evergreen_yml_components/variants/rhel/test_dev.yml
### Uncomment when using this file for a LTS release branch. ###
# - filename: etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
- filename: etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
- filename: etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/mongot/test_dev.yml
- filename: etc/evergreen_yml_components/variants/mongot/test_dev.yml
- filename: etc/evergreen_yml_components/variants/suse/test_release.yml
- filename: etc/evergreen_yml_components/variants/ubuntu/test_release.yml
### Uncomment when using this file for a LTS release branch. ###
# - filename: etc/evergreen_yml_components/variants/ubuntu/test_dev_master_and_lts_branches_only.yml
- filename: etc/evergreen_yml_components/variants/windows/test_release.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/windows/test_dev.yml
- filename: etc/evergreen_yml_components/variants/windows/test_dev.yml
### Uncomment when using this file for a LTS release branch. ###
# - filename: etc/evergreen_yml_components/variants/windows/test_dev_master_and_lts_branches_only.yml
- filename: etc/evergreen_yml_components/variants/windows/test_dev_master_and_lts_branches_only.yml
- filename: etc/evergreen_yml_components/tasks/coverity_tasks.yml
- filename: etc/evergreen_yml_components/variants/coverity.yml
- filename: etc/evergreen_yml_components/tasks/release_tasks.yml
### Uncomment when using this file for a LTS or Rapid release branch. ###
# - filename: etc/evergreen_yml_components/variants/release/release.yml
- filename: etc/evergreen_yml_components/variants/release/release.yml
- filename: src/mongo/db/modules/atlas/atlas_release.yml
- filename: etc/evergreen_yml_components/variants/amazon/streams/streams_release.yml
@ -65,8 +63,64 @@ parameters:
- key: evergreen_config_file_path
value: "etc/evergreen_nightly.yml"
description: "path to this file"
- key: enable_evergreen_api_test_selection
value: true
description: "Enable test selection using Evergreen API"
- key: test_selection_strategies_array
description: "Array of test selection strategies"
commit_queue_aliases:
- variant: "^(commit-queue)$"
task: "^(bazel_.*|run_.*|unit_test.*|compile_.*|lint_.*|resmoke_tests|check_for_noexcept|version_gen_validation|validate_commit_message|resmoke_validation_tests|buildscripts_test)$"
variant_tags: []
task_tags: []
- variant: "^(amazon-linux2023-arm64-static-compile)$"
variant_tags: []
task_tags: ["clang_tidy"]
- variant: "^(commit-queue-monorepo)$"
task: ".*"
variant_tags: []
task_tags: []
# Monguard
- variant: "^(amazon-linux2023-arm|Lint)$"
task: "^(.*)$"
variant_tags: []
task_tags: []
github_pr_aliases:
- variant: "^(commit-queue)$"
task: "^(bazel_.*|run_.*|unit_test.*|compile_.*|lint_.*|resmoke_tests|check_for_noexcept|version_gen_validation|validate_commit_message|resmoke_validation_tests|buildscripts_test)$"
variant_tags: []
task_tags: []
- variant: "^(amazon-linux2023-arm64-static-compile)$"
variant_tags: []
task_tags: ["clang_tidy"]
- variant: "^(al2023-arm64-sep-benchmark)$"
variant_tags: []
task_tags: ["benchmarks_sep"]
- variant: "^(commit-queue-monorepo)$"
task: ".*"
variant_tags: []
task_tags: []
# Monguard
- variant: "^(amazon-linux2023-arm|Lint)$"
task: "^(.*)$"
variant_tags: []
task_tags: []
patch_aliases:
- alias: required
variant_tags: ["required"]
task: ".*"
- alias: query
variant: "^(.*query-patch-only|amazon-linux2023-arm64-static-compile)$"
task: ".*"
- alias: query-quick
variant: "^(.*query-quick-patch-only|linux-x86-dynamic-compile)$"
task: ".*"
- alias: security
variant: "^(.*security-patch-only|linux-x86-dynamic-compile|windows-compile-required)$"
task: ".*"
- alias: bazel
description: "Runs bazel build system tests"
variant_tags: ["bazel_check"]
@ -75,6 +129,36 @@ patch_aliases:
description: "Runs bazel build system tests"
variant_tags: ["bazel_check"]
task: ".*"
- alias: search
description: "Runs all $search, $vectorSearch tests"
variant: ".*"
task: "^.*search*"
- alias: required-and-mongot-e2e-tests
description: >
This alias selects all tasks in all required variants and all tasks in variants that use a real mongot.
Once more e2e tests have been contributed and thus our coverage is better, this alias can be refined
to only select tests that use a real mongot.
variant_tags: ["required", "mongot_e2e"]
task: ".*"
- alias: codecoverage
description: "Run tests and report code coverage"
variant: ".*-coverage"
task: ".*"
- alias: unittestcoverage
description: "Run unit tests and report code coverage"
variant: ".*-coverage"
task: "^(unit_test_group.*|bazel_coverage)$"
- alias: cluster_scalability
variant_tags: ["cluster_scalability_only"]
task_tags: ["cluster_scalability_only"]
- alias: blocking-emergency-atlas-release-tasks
description: "Run variants that would potentially block an emergency release"
variant_tags: ["emergency_release"]
task: ".*"
- alias: streams
description: "Runs all streams variants"
variant: "^(enterprise-amazon2023-streams|enterprise-rhel8-streams-tsan|enterprise-rhel8-streams-aubsan)$"
task: ".*"
- alias: coverity_scan
variant: bv_coverity_analysis
task: run_coverity

View File

@ -1,3 +0,0 @@
# Evergreen testing documentation
Please see evergreen testing documentation [here](../../docs/evergreen-testing/README.md)

View File

@ -1,185 +0,0 @@
####################################################
# configuration.yml #
#####################################################
#
# This file contains global configuration values set for the mongodb-mongo-master and
# mongodb-mongo-master-nightly projects.
#
command_type: system
exec_timeout_secs: 21600 # 6 hours.
oom_tracker: true
pre_error_fails_task: true
stepback: true
## Parameters for parameterized builds (see https://github.com/evergreen-ci/evergreen/wiki/Parameterized-Builds)
parameters:
- key: patch_compile_flags
description: "Additional bazel flags to be applied during bazel compile invocations in this patch"
- key: future_git_tag
description: "Future git tag to be added. If empty, we will use the most recent git tag instead."
- key: last_lts_evg_version_id
description: "The Evergreen Version ID of the last-lts MongoDB binaries. Only binaries from release variants are used"
- key: last_continuous_evg_version_id
description: "The Evergreen Version ID of the last-continuous MongoDB binaries. Only binaries from release variants are used"
- key: antithesis_image_tag
description: "The docker tag to use when pushing images to Antithesis"
- key: build_patch_id
description: "Patch id of evergreen patch to pull binaries from for testing."
- key: bazel_build_tags
value: "--bazel-build-tag=dist_test"
description: "Default build tags"
- key: coverage_bazel_tags
value: "--remote_download_outputs=all --config=no-remote-exec --fission=no"
description: "Default coverage bazel tags"
- key: bazel_filters_for_cache_hydration
value: "compiledb,gen_source,mongo-tidy-tests,mongo-tidy-checks,dist_test,mongo_library,mongo_unittest,mongo_benchmark,mongo_integration_test,mongo_binary"
description: "Filters to pass Bazel to be built for the purpose of hydrating remote cache"
- key: run_covered_tests
description: >-
When set to `true`, patch builds will run all tests compatible with some suite_A even if a more complex suite_A_B will
also run the same test. For more information see SERVER-94816.
- key: skip_symbolization
value: true
description: >-
Automatically disables symbolizing stack traces from Resmoke tasks. If this is set to false, the steps on how to manually symbolize the unsymbolized stacktraces will not be generated.
- key: schedule_antithesis_tests
description: >-
Automatically schedules your antithesis tasks to run in antithesis.
Please only schedule one or two antithesis tasks when specifying this parameter.
- key: resmoke_test_targets
description: "Bazel targets to test in the resmoke_tests task. Subject to further filtering based on tags."
value: "//..."
## Cron parameters.
- key: project_required_suggested_cron
value: "0 */4 * * *" # Every 4 hours starting at 0000 UTC
description: "Cron schedule for required and suggested variants"
- key: project_nightly_cron
value: "0 4 * * *" # Every day starting at 0400 UTC
description: "Cron schedule for nightly variants"
- key: project_weekly_cron
value: "0 4 * * 0" # Every week starting 0400 UTC Sunday
description: "Cron schedule for nightly variants"
- key: convert_bazel_headers_target
description: "Target to generate bazel headers for"
#######################################
# Modules #
#######################################
# if a module is added and to be added to the manifest
# be sure to add the module to git.get_project revisions parameter
modules:
- name: wtdevelop
repo: git@github.com:wiredtiger/wiredtiger.git
prefix: src/third_party
branch: develop
- name: mongot
repo: git@github.com:10gen/mongot.git
prefix: ${workdir}/src
branch: master
- name: devprod_coverity
owner: mongodb-devprod-infrastructure
repo: coverity
prefix: "${workdir}/devprodCoveritySrc"
branch: main
auto_update: true
- name: asp-js-engine
owner: 10gen
# repo: git@github.com:10gen/asp-js-engine.git
repo: asp-js-engine
prefix: asp-js-engine
branch: master
ref: v0.1.3
auto_update: true
- name: mothra
owner: 10gen
repo: mothra
branch: main
prefix: ${workdir}/src
# Pre task steps
pre:
- func: "set task expansion macros"
- func: "f_expansions_write"
# Post task steps
post:
- func: "f_expansions_write"
- func: "cleanup external auth OIDC resources"
- func: "debug full disk"
- func: "upload npm logs"
- func: "generate clang-tidy report"
- func: "generate symbol-check report"
- func: "attach local resmoke invocation"
- func: "attach bazel invocation"
- func: "create bazel test report"
- func: "attach multiversion exclude tags"
- func: "attach report"
- func: "attach task errors"
- func: "attach artifacts"
- func: "upload mongodatafiles"
- func: "attach multiversion download links"
- func: "save ec2 task artifacts"
- func: "attach wiki page"
- func: "upload docker compose"
- func: "attach docker logs"
- func: "upload jstestfuzz minimized output"
- func: "generate and upload network diagnostics"
- func: "save tracing data"
- func: "kill processes"
- func: "save code coverage data"
- func: "save local client logs"
- func: "save jepsen artifacts"
- func: "save unsymbolized stacktraces and local invocation"
- func: "save mongo coredumps"
- func: "generate hang analyzer tasks"
- func: "attach bazel invocation text"
- func: "save failed tests"
- func: "save hang analyzer debugger files"
- func: "save disk statistics"
- func: "save system resource information"
- func: "save libfuzzertest corpora"
- func: "remove files"
vars:
files: >-
src/resmoke_error_code
src/*.gcda.gcov
src/gcov-intermediate-files.tgz
src/*.core src/*.mdmp src/*.core.gz src/*.mdmp.gz
mongo-coredumps.json
src/dist-tests/bin/*
src/dist-tests/lib/*
mongo-tests.tgz
src/debugger*.*
src/mongo-hanganalyzer.tgz
diskstats.tgz
system-resource-info.tgz
${report_file|src/report.json}
${archive_file|src/archive.json}
src/network_diagnostics.txt
${workdir}/build/OTelTraces/*trace.jsonl
tracing-data.tgz
- func: "umount tmp directory"
- func: "cleanup FUSE watchdog"
- func: "cleanup environment"
- func: "cleanup jepsen docker test"
# Timeout steps
timeout:
- func: "f_expansions_write"
- func: "run hang analyzer"
- func: "wait for resmoke to shutdown"
- func: "save bazel run logs"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,795 +0,0 @@
# This file contains compile and related tasks that only run on nightly/reference nightly exclusive variants
################################################
# Variable #
################################################
variables:
# TODO: split this up into the user files.
# List of all variants that make mongocryptd
# If a variant is listed here and has a push task, mongocryptd is pushed
- mongocryptd_variants: &mongocryptd_variants
- enterprise-amazon2023
- atlas-amazon2023
# TODO(SERVER-85904) - enterprise-amazon2023-lto
- enterprise-amazon2023-arm64
- atlas-amazon2023-arm64
- enterprise-amazon2023-arm64-grav4
# TODO(SERVER-85904) - enterprise-amazon2023-arm64-lto
- enterprise-debian12-64
- enterprise-linux-64-amazon-ami
- enterprise-macos
- enterprise-macos-arm64
- enterprise-rhel-81-ppc64le
- enterprise-rhel-8-64-bit
- enterprise-rhel-8-64-bit-coverage
- enterprise-rhel-8-64-bit-suggested
- enterprise-rhel-8-arm64
- enterprise-rhel-83-s390x
- enterprise-rhel-9-ppc64le
- enterprise-rhel-9-s390x
- enterprise-rhel-90-64-bit
- enterprise-rhel-90-arm64
- enterprise-rhel-93-64-bit
- enterprise-rhel-93-arm64
- enterprise-rhel-10-64-bit
- enterprise-rhel-10-arm64
- enterprise-suse15-64
- enterprise-ubuntu2004-arm64
- enterprise-ubuntu2204-arm64
- enterprise-ubuntu2404-arm64
- enterprise-ubuntu2004-64
- enterprise-ubuntu2204-64
- enterprise-ubuntu2404
- enterprise-windows
- enterprise-windows-debug-unoptimized
- enterprise-windows-inmem
- enterprise-windows-wtdevelop
################################################
# Tasks #
################################################
tasks:
- name: sign_windows_msi
run_on: rhel8.7-small
tags:
[
"assigned_to_jira_team_devprod_build",
"auxiliary",
"windows_release_critical",
"incompatible_development_variant",
"requires_compile_variant",
"publish",
]
depends_on:
- name: package
stepback: false
commands:
- command: manifest.load
- func: "git get project and add git tag"
- func: "get and apply version expansions"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "fetch packages"
- func: "set up remote credentials"
vars:
aws_key_remote: ${repo_aws_key}
aws_secret_remote: ${repo_aws_secret}
- func: "f_expansions_write"
- func: "log into devprod container registry"
# signing windows msi - will not sign in patch build but still pretend it did
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/garasign_jsign_sign.sh"
- command: archive.targz_pack
params:
target: "msi-files-signed.tgz"
source_dir: "src"
include:
- "mongodb-${push_name}-${push_arch}-${suffix}.msi"
- "mongodb-${push_name}-${push_arch}-${suffix}.msi.sha1"
- "mongodb-${push_name}-${push_arch}-${suffix}.msi.sha256"
- "mongodb-${push_name}-${push_arch}-${suffix}.msi.md5"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: msi-files-signed.tgz
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}-msi-files-signed.tgz
bucket: mciuploads
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: application/tar
display_name: MSI Files
- name: test_windows_msi
run_on: windows-2022-small
tags:
[
"assigned_to_jira_team_devprod_build",
"auxiliary",
"windows_release_critical",
"incompatible_development_variant",
"requires_compile_variant",
"publish",
]
depends_on:
- name: sign_windows_msi
stepback: false
commands:
- command: manifest.load
- func: "git get project and add git tag"
- func: "get and apply version expansions"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "fetch msi files"
# testing windows msi
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
args:
- "src/evergreen/run_python_script.sh"
- "buildscripts/msi_validation.py"
- "mongodb-${push_name}-${push_arch}-${suffix}.msi"
- name: push
run_on: rhel8.7-small
tags:
[
"assigned_to_jira_team_devprod_build",
"release_critical",
"incompatible_development_variant",
"requires_compile_variant",
"publish",
]
patchable: false
depends_on:
- name: package
- name: jsCore
- name: run_dbtest
- name: replica_sets_jscore_passthrough_gen
stepback: false
commands:
- command: manifest.load
- func: "git get project and add git tag"
- func: "get and apply version expansions"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "fetch packages"
- func: "fetch msi files"
- func: "fetch dist tarball"
# Fetch mongocryptd
- command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
remote_file: ${mongo_cryptd}
bucket: mciuploads
local_file: src/mongo-cryptd.tgz
build_variants: *mongocryptd_variants
- func: "f_expansions_write"
- func: "fetch dist debugsymbols"
- func: "set up remote credentials"
vars:
aws_key_remote: ${repo_aws_key}
aws_secret_remote: ${repo_aws_secret}
- func: "f_expansions_write"
- func: "log into devprod container registry"
# signing linux artifacts
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/garasign_gpg_sign.sh"
# Put the binaries tarball/zipfile
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
skip_existing: ${is_release}
# Put the cryptd tarball/zipfile
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols
# push directly to repo due to limitations in file size SERVER-63432
- command: s3.put
params:
aws_secret: ${aws_secret}
aws_key: ${aws_key}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
bucket: ${push_bucket}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
skip_existing: ${is_release}
optional: true
# Put the binaries tarball signature
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
skip_existing: ${is_release}
# Put the cryptd tarball signature
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols signature
- command: s3.put
params:
aws_secret: ${aws_secret}
aws_key: ${aws_key}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
bucket: ${push_bucket}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
skip_existing: ${is_release}
optional: true
# Put the signed MSI file
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi
bucket: ${push_bucket}
content_type: application/x-msi
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi
skip_existing: ${is_release}
# Put the binaries tarball sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
aws_key: ${aws_key}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
bucket: ${push_bucket}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
skip_existing: ${is_release}
# Put the cryptd tarball sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
aws_key: ${aws_key}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
bucket: ${push_bucket}
content_type: text/plain
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols sha1
- command: s3.put
params:
aws_secret: ${aws_secret}
aws_key: ${aws_key}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
bucket: ${push_bucket}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
skip_existing: ${is_release}
optional: true
# Push the signed MSI sha1
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.sha1
bucket: ${push_bucket}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha1
skip_existing: ${is_release}
# Put the binaries tarball sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
aws_key: ${aws_key}
bucket: ${push_bucket}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
skip_existing: ${is_release}
# Put the cryptd tarball sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
aws_key: ${aws_key}
bucket: ${push_bucket}
content_type: text/plain
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols sha256
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
skip_existing: ${is_release}
optional: true
# Put the signed MSI sha256
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.sha256
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha256
skip_existing: ${is_release}
content_type: text/plain
# Put the binaries tarball md5
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
skip_existing: ${is_release}
# Put the cryptd tarball md5
- command: s3.put
params:
aws_secret: ${aws_secret}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
aws_key: ${aws_key}
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: text/plain
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols md5
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
bucket: ${push_bucket}
content_type: text/plain
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
skip_existing: ${is_release}
optional: true
# Put the signed MSI md5
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.md5
bucket: ${push_bucket}
permissions: ${mciuploads_binary_permissions_push|private}
visibility: ${mciuploads_binary_visibility_push|signed}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.md5
skip_existing: ${is_release}
# Put the binaries tarball/zipfile
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
bucket: ${push_bucket_new}
permissions: private
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
skip_existing: ${is_release}
# Put the cryptd tarball/zipfile
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
bucket: ${push_bucket_new}
permissions: private
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols
# push directly to repo due to limitations in file size SERVER-63432
- command: s3.put
params:
role_arn: ${push_role_arn}
permissions: private
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
bucket: ${push_bucket_new}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
skip_existing: ${is_release}
optional: true
# Put the binaries tarball signature
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
bucket: ${push_bucket_new}
permissions: private
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
skip_existing: ${is_release}
# Put the cryptd tarball signature
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
bucket: ${push_bucket_new}
permissions: private
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols signature
- command: s3.put
params:
role_arn: ${push_role_arn}
permissions: private
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
bucket: ${push_bucket_new}
content_type: ${content_type|application/gzip}
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
skip_existing: ${is_release}
optional: true
# Put the signed MSI file
- command: s3.put
params:
role_arn: ${push_role_arn}
permissions: private
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi
bucket: ${push_bucket_new}
content_type: application/x-msi
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi
skip_existing: ${is_release}
# Put the binaries tarball sha1
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
permissions: private
bucket: ${push_bucket_new}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
skip_existing: ${is_release}
# Put the cryptd tarball sha1
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
permissions: private
bucket: ${push_bucket_new}
content_type: text/plain
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols sha1
- command: s3.put
params:
role_arn: ${push_role_arn}
permissions: private
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
bucket: ${push_bucket_new}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
skip_existing: ${is_release}
optional: true
# Push the signed MSI sha1
- command: s3.put
params:
role_arn: ${push_role_arn}
permissions: private
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.sha1
bucket: ${push_bucket_new}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha1
skip_existing: ${is_release}
# Put the binaries tarball sha256
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: private
bucket: ${push_bucket_new}
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
skip_existing: ${is_release}
# Put the cryptd tarball sha256
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
permissions: private
bucket: ${push_bucket_new}
content_type: text/plain
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols sha256
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
bucket: ${push_bucket_new}
permissions: private
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
skip_existing: ${is_release}
optional: true
# Put the signed MSI sha256
- command: s3.put
params:
role_arn: ${push_role_arn}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.sha256
bucket: ${push_bucket_new}
permissions: private
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha256
skip_existing: ${is_release}
content_type: text/plain
# Put the binaries tarball md5
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
bucket: ${push_bucket_new}
permissions: private
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
skip_existing: ${is_release}
# Put the cryptd tarball md5
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
bucket: ${push_bucket_new}
permissions: private
content_type: text/plain
remote_file: ${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
skip_existing: ${is_release}
build_variants: *mongocryptd_variants
# Put the debug symbols md5
- command: s3.put
params:
role_arn: ${push_role_arn}
local_file: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
bucket: ${push_bucket_new}
content_type: text/plain
permissions: private
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
skip_existing: ${is_release}
optional: true
# Put the signed MSI md5
- command: s3.put
params:
role_arn: ${push_role_arn}
build_variants: ["enterprise-windows", "windows"]
local_file: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.md5
bucket: ${push_bucket_new}
permissions: private
content_type: text/plain
remote_file: ${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.md5
skip_existing: ${is_release}
- command: subprocess.exec
params:
continue_on_err: true
binary: bash
env:
SERVER_TARBALL_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
SERVER_TARBALL_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}
CRYPTD_TARBALL_PATH: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
CRYPTD_TARBALL_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}
SOURCE_TARBALL_PATH: src/mongodb-src-${src_suffix}.${ext|tar.gz}
SOURCE_TARBALL_KEY: ${version_id}/${build_id}/push/src/mongodb-src-${src_suffix}.${ext|tar.gz}
DEBUG_SYMBOLS_TARBALL_PATH: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
DEBUG_SYMBOLS_TARBALL_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}
SERVER_TARBALL_SIGNATURE_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
SERVER_TARBALL_SIGNATURE_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
CRYPTD_TARBALL_SIGNATURE_PATH: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
CRYPTD_TARBALL_SIGNATURE_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sig
SOURCE_TARBALL_SIGNATURE_PATH: src/mongodb-src-${src_suffix}.${ext|tar.gz}.sig
SOURCE_TARBALL_SIGNATURE_KEY: ${version_id}/${build_id}/push/src/mongodb-src-${src_suffix}.${ext|tar.gz}.sig
DEBUG_SYMBOLS_TARBALL_SIGNATURE_PATH: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
DEBUG_SYMBOLS_TARBALL_SIGNATURE_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sig
MSI_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.msi
MSI_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi
SERVER_TARBALL_SHA1_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
SERVER_TARBALL_SHA1_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
CRYPTD_TARBALL_SHA1_PATH: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
CRYPTD_TARBALL_SHA1_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha1
SOURCE_TARBALL_SHA1_PATH: src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha1
SOURCE_TARBALL_SHA1_KEY: ${version_id}/${build_id}/push/src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha1
DEBUG_SYMBOLS_TARBALL_SHA1_PATH: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
DEBUG_SYMBOLS_TARBALL_SHA1_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha1
MSI_SHA1_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.sha1
MSI_SHA1_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha1
SERVER_TARBALL_SHA256_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
SERVER_TARBALL_SHA256_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
CRYPTD_TARBALL_SHA256_PATH: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
CRYPTD_TARBALL_SHA256_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.sha256
SOURCE_TARBALL_SHA256_PATH: src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha256
SOURCE_TARBALL_SHA256_KEY: ${version_id}/${build_id}/push/src/mongodb-src-${src_suffix}.${ext|tar.gz}.sha256
DEBUG_SYMBOLS_TARBALL_SHA256_PATH: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
DEBUG_SYMBOLS_TARBALL_SHA256_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.sha256
MSI_SHA256_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.sha256
MSI_SHA256_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.sha256
SERVER_TARBALL_MD5_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
SERVER_TARBALL_MD5_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
CRYPTD_TARBALL_MD5_PATH: src/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
CRYPTD_TARBALL_MD5_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-cryptd-${push_name}-${push_arch}-${suffix}.${ext|tgz}.md5
SOURCE_TARBALL_MD5_PATH: src/mongodb-src-${src_suffix}.${ext|tar.gz}.md5
SOURCE_TARBALL_MD5_KEY: ${version_id}/${build_id}/push/src/mongodb-src-${src_suffix}.${ext|tar.gz}.md5
DEBUG_SYMBOLS_TARBALL_MD5_PATH: src/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
DEBUG_SYMBOLS_TARBALL_MD5_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-debugsymbols-${suffix}.${ext|tgz}.md5
MSI_MD5_PATH: src/mongodb-${push_name}-${push_arch}-${suffix}.msi.md5
MSI_MD5_KEY: ${version_id}/${build_id}/push/${push_path}/mongodb-${push_name}-${push_arch}-${suffix}-signed.msi.md5
AWS_ACCESS_KEY_ID: ${upload_lock_access_key_id}
AWS_SECRET_ACCESS_KEY: ${upload_lock_secret_access_key}
UPLOAD_LOCK_IMAGE: ${upload_lock_image_ecr}
UPLOAD_BUCKET: ${upload_lock_bucket}
AWS_REGION: ${upload_lock_region}
EVERGREEN_TASK_ID: ${task_id}
args:
- "./src/evergreen/run_upload_lock_push.sh"
#Trace artifacts (binaries, cryptd, debug, MSI) using Papertrail
- command: subprocess.exec
params:
binary: bash
env:
IS_RELEASE: ${is_release}
args:
- "./src/evergreen/papertrail_generate_expansions.sh"
- command: expansions.update
params:
file: src/papertrail-expansions.yml
- func: "f_expansions_write"
- command: papertrail.trace
params:
key_id: ${papertrail_key_id}
secret_key: ${papertrail_secret_key}
product: ${product_for_papertrail}
version: ${release_version}
filenames:
- "src/mongodb-${push_name}-${push_arch}*"
- "src/mongodb-cryptd-${push_name}-${push_arch}*"
- name: streams_publish_manifest_al2023_gen
tags: ["assigned_to_jira_team_streams", "auxiliary"]
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: streams_build_and_push_gen
variant: enterprise-amazon2023-streams
# TODO(SERVER-120347): Re-add arm64 dependency once we are ready to switch to using arm64.
# - name: streams_build_and_push_gen
# variant: enterprise-amazon2023-streams-arm64
commands:
- func: "streams publish manifest"
# Break glass version - publishes manifest without waiting for tests
- name: streams_publish_manifest_al2023_break_glass_gen
tags: ["assigned_to_jira_team_streams", "auxiliary"]
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: streams_build_and_push_break_glass_gen
variant: enterprise-amazon2023-streams
# TODO(SERVER-120347): Re-add arm64 dependency once we are ready to switch to using arm64.
# - name: streams_build_and_push_break_glass_gen
# variant: enterprise-amazon2023-streams-arm64
commands:
- func: "streams publish manifest"
vars:
break_glass_arg: "--break-glass=true"

View File

@ -1,624 +0,0 @@
variables:
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/clusters_and_integrations/tasks.yml
# - etc/evergreen_yml_components/tasks/compile_tasks.yml
# - etc/evergreen_yml_components/tasks/compile_tasks_shared.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &compile_task_group_template
name: compile_task_group_template
max_hosts: 1
tasks: []
setup_task:
- func: "f_expansions_write"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "override task timeout"
- func: "get engflow creds"
teardown_task:
- func: "f_expansions_write"
- func: "create bazel test report"
- func: "attach report"
- func: "attach artifacts"
- func: "attach local resmoke invocation"
- func: "attach multiversion download links"
- func: "kill processes"
- func: "save code coverage data"
- func: "save mongo coredumps"
- func: "generate hang analyzer tasks"
- func: "attach bazel invocation text"
- func: "save failed tests"
- func: "save bazel headers"
- func: "save bazel jvm dump"
- func: "save bazel exec logs"
- func: "save hang analyzer debugger files"
- func: "save disk statistics"
- func: "save system resource information"
- func: "save libfuzzertest corpora"
- func: "remove files"
vars:
files: >-
src/resmoke_error_code
src/*.gcda.gcov
src/gcov-intermediate-files.tgz
src/*.core src/*.mdmp src/*.core.gz src/*.mdmp.gz
mongo-coredumps.json
src/dist-tests/bin/*
src/dist-tests/lib/*
mongo-tests.tgz
src/debugger*.*
src/mongo-hanganalyzer.tgz
diskstats.tgz
system-resource-info.tgz
${report_file|src/report.json}
${archive_file|src/archive.json}
setup_group_can_fail_task: true
setup_group:
- command: manifest.load
- func: "git get project and add git tag"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
# The python virtual environment is installed in ${workdir}, which is created in
# "set up venv".
- func: "set up venv"
- func: "upload pip requirements"
- func: "f_expansions_write"
- func: "configure evergreen api credentials"
- func: "get buildnumber"
- func: "f_expansions_write"
- func: "set up credentials"
- func: "f_expansions_write"
- func: "use WiredTiger develop" # noop if ${use_wt_develop} is not "true"
- func: "f_expansions_write"
teardown_group:
- func: "f_expansions_write"
- func: "cleanup environment"
timeout:
- func: "f_expansions_write"
- func: "run hang analyzer"
- func: "wait for resmoke to shutdown"
- func: "save bazel run logs"
task_groups:
- <<: *compile_task_group_template
name: compile_and_package_serial_no_unittests_TG
tasks:
- archive_dist_test
- archive_dist_test_debug
tasks:
- &version_expansions_gen
name: version_expansions_gen
tags: ["assigned_to_jira_team_devprod_build", "auxiliary"]
priority: 10
commands:
- command: manifest.load
- func: "git get shallow project"
- func: "f_expansions_write"
- func: "restore git history and tags"
- func: "add git tag"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "upload pip requirements"
- func: "generate and upload version expansions"
- func: "generate and upload resmoke constants"
- <<: *version_expansions_gen
name: version_expansions_future_git_tag_multiversion_gen
# Sys-perf relies on the name of this task, please reach out before changing it.
- &archive_dist_test
name: archive_dist_test
tags: ["assigned_to_jira_team_devprod_build", "auxiliary"]
priority: 5 # Boost the priority since most testing depends on this finishing early
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
commands:
- func: "activate task"
vars:
task_to_activate: ${archive_dist_test_debug_task_name|archive_dist_test_debug}
skip_for_patch_author: sys-perf-user
skip_activate_task: ${skip_archive_dist_test_debug_activate|False}
- func: "bazel compile"
vars:
targets: >-
archive-dist-test-stripped
${additional_compile_targets|}
bazel_args: >-
--config=evg
--config=opt_profiled
- func: "f_expansions_write"
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
args:
- "src/evergreen/run_python_script.sh"
- "evergreen/macos_notary.py"
- "bazel-bin/dist-test-stripped.${ext|tgz}"
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
args:
- "src/evergreen/run_python_script.sh"
- "buildscripts/s3_binary/sha256sum.py"
- "bazel-bin/dist-test-stripped.${ext|tgz}"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/dist-test-stripped.${ext|tgz}
remote_file: ${mongo_binaries}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: application/gzip
# Sys-perf relies on this display name, please reach out before changing it.
display_name: Binaries
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/dist-test-stripped.${ext|tgz}.sha256
remote_file: ${mongo_binaries}.sha256
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: text/plain
display_name: Binaries SHA256
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
continue_on_err: true
args:
- "src/evergreen/run_python_script.sh"
- "buildscripts/s3_binary/sha256sum.py"
- "bazel-bin/dist-test-stripped.zst"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/dist-test-stripped.zst
remote_file: ${mongo_binaries_zstd}
bucket: mciuploads
permissions: public-read
content_type: application/gzip
# Sys-perf relies on this display name, please reach out before changing it.
display_name: Binaries zstd
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/dist-test-stripped.zst.sha256
remote_file: ${mongo_binaries_zstd}.sha256
bucket: mciuploads
permissions: public-read
content_type: text/plain
display_name: Binaries SHA256 zstd
- func: "f_expansions_write"
- func: "gen feature flags"
- func: "fetch resmoke constants"
- func: "bazel run"
vars:
target: >-
//buildscripts:archive_artifacts --
--output=artifacts.tgz
--exclude="*_test.pdb"
--base_dir=".."
"./**/*.gcno"
"src/.bazel*"
"src/.gdbinit"
"src/.npmrc"
"src/.resmoke_mongo_release_values.yml"
"src/.resmoke_mongo_version.yml"
"src/BUILD.bazel"
"src/MODULE.bazel"
"src/WORKSPACE.bazel"
"src/bazel/**"
"src/buildscripts/**"
"src/docker_compose/**"
"src/etc/BUILD.bazel"
"src/etc/*san.denylist"
"src/etc/*san.suppressions"
"src/etc/backports_required_for_multiversion_tests.yml"
"src/etc/evergreen.yml"
"src/etc/evergreen_nightly.yml"
"src/etc/evergreen_timeouts.yml"
"src/etc/evergreen_yml_components/**"
"src/etc/expansions.default.yml"
"src/etc/macos_dev_entitlements.xml"
"src/etc/repo_config.yaml"
"src/evergreen/**"
"src/jsconfig.json"
"src/jstests/**"
"src/package.json"
"src/patch_files.txt"
"src/patch_test_tags.tgz"
"src/pnpm-lock.yaml"
"src/poetry.lock"
"src/poetry_requirements.txt"
"src/pyproject.toml"
"src/src/**/*.idl"
"src/src/**/*.yml"
"src/src/mongo/client/sdam/json_tests/sdam_tests/**"
"src/src/mongo/client/sdam/json_tests/server_selection_tests/**"
"src/src/mongo/db/extension/test_examples/aggregation_stage_fallback_parsers.json"
"src/src/mongo/db/extension/test_examples/test_extensions_signing_keys/test_extensions_signing_public_key.asc"
"src/src/mongo/db/modules/atlas/evergreen/**"
"src/src/mongo/db/modules/atlas/jstests/**"
"src/src/mongo/db/modules/enterprise/docs/**"
"src/src/mongo/db/modules/enterprise/jstests/**"
"src/src/mongo/db/modules/enterprise/src/streams/build/*"
"src/src/mongo/db/modules/enterprise/src/streams/aspio/**"
"src/src/mongo/db/modules/subscription/jstests/**"
"src/src/mongo/db/query/benchmark/data_generator/**"
"src/src/mongo/db/query/query_tester/tests/**"
"src/src/mongo/util/options_parser/test_config_files/**"
"src/src/mongo/util/version/**"
"src/monguard/.evergreen/**"
"src/src/third_party/JSON-Schema-Test-Suite/tests/draft4/**"
"src/src/third_party/abseil-cpp/**"
"src/src/third_party/cares/**"
"src/src/third_party/boringssl_replacement/**"
"src/src/third_party/googletest/**"
"src/src/third_party/grpc/**"
"src/src/third_party/mock_ocsp_responder/**"
"src/src/third_party/protobuf/**"
"src/src/third_party/immer/**"
"src/src/third_party/re2/**"
"src/src/third_party/schemastore.org/**"
"src/src/third_party/zlib/**"
"src/.tmp/_placeholder_"
"src/tools/**"
"src/x509/**"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: artifacts.tgz
remote_file: ${mongo_artifacts}
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/tar
display_name: Artifacts
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: artifacts.tgz.zst
remote_file: ${mongo_artifacts_zstd}
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/tar
display_name: Artifacts zstd
optional: true
- command: archive.targz_pack
params:
target: "venv.tgz"
source_dir: "./"
include:
- "./venv/**"
- "./venv_readme.txt"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: venv.tgz
remote_file: ${mongo_venv}
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/tar
display_name: Python venv (see included venv_readme.txt)
- <<: *archive_dist_test
name: archive_dist_test_future_git_tag_multiversion
depends_on:
- name: version_expansions_future_git_tag_multiversion_gen
- &archive_dist_test_debug
name: archive_dist_test_debug
tags: ["assigned_to_jira_team_devprod_build", "auxiliary"]
depends_on:
- name: archive_dist_test
commands:
- func: "bazel compile"
vars:
targets: >-
archive-dist-test-debug install-dist-test
bazel_args: >-
--config=evg
--config=opt_profiled
- func: "upload debugsymbols"
- func: "f_expansions_write"
- command: subprocess.exec
params:
binary: bash
args:
- "./src/evergreen/record_mongodb_server_version.sh"
- "./bazel-bin/install/bin/mongod"
- "./version_info_mongod.txt"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/version_info_mongod.txt
remote_file: ${project}/${build_variant}/${version_id}/version-info-mongod-${task_id}.txt
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: text/plain
display_name: mongod --version output
- <<: *archive_dist_test_debug
name: archive_dist_test_debug_future_git_tag_multiversion
depends_on:
- name: archive_dist_test_future_git_tag_multiversion
- name: crypt_create_lib
tags:
[
"assigned_to_jira_team_server_security",
"release_critical",
"incompatible_community",
"incompatible_tsan",
"incompatible_aubsan",
"requires_compile_variant",
"requires_large_host",
"crypt",
"bazel_check",
]
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
commands:
- func: "do bazel setup"
- func: "f_expansions_write"
- func: "bazel compile"
vars:
targets: archive-mongo_crypt-stripped
bazel_args: >-
--config=evg_crypt
task_compile_flags: --linkstatic=True ${crypt_task_compile_flags}
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/crypt_run_tests.sh"
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
args:
- "src/evergreen/run_python_script.sh"
- "evergreen/macos_notary.py"
- "bazel-bin/mongo_crypt-stripped.${ext|tgz}"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: "src/bazel-bin/mongo_crypt-stripped.${ext|tgz}"
remote_file: "${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shared_v1-${version}.${ext|tgz}"
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: ${content_type|application/tar}
display_name: "Mongo crypt Library"
- name: crypt_lib_package
tags:
[
"assigned_to_jira_team_devprod_build",
"crypt",
"incompatible_aubsan",
"incompatible_community",
"incompatible_mac",
"incompatible_tsan",
"incompatible_windows",
"release_critical",
"requires_compile_variant",
"requires_large_host",
]
depends_on:
- name: crypt_create_lib
commands:
- func: "do non-compile setup"
- func: "get and apply version expansions"
- func: "f_expansions_write"
- command: s3.get
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/mongo_crypt_shared_v1-${version}.${ext|tgz}
remote_file: "${project}/mongo_crypt/${build_variant}/${revision}/mongo_crypt_shared_v1-${version}.${ext|tgz}"
bucket: mciuploads
- func: "run packager_crypt.py"
- command: archive.targz_pack
params:
target: "packages.tgz"
source_dir: "src"
include:
- "repo/**"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: packages.tgz
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: application/tar
display_name: Packages
- name: package
tags: ["assigned_to_jira_team_devprod_build", "auxiliary"]
depends_on:
- name: archive_dist_test
commands:
- func: "f_expansions_write"
- func: "bazel compile"
vars:
targets: >-
archive-dist-stripped
archive-dist-debug
archive-mongo-stripped
archive-mongo-debug
${additional_package_targets|}
bazel_args: >-
--config=evg
--config=opt_profiled
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
args:
- "src/evergreen/run_python_script.sh"
- "evergreen/macos_notary.py"
- "bazel-bin/dist-stripped.${ext|tgz}"
- func: "f_expansions_write"
- command: subprocess.exec
params:
binary: bash
args:
- "src/evergreen/package.sh"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/dist-stripped.${ext|tgz}
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}.${ext|tgz}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: application/tar
display_name: Dist Tarball
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/dist-debug.${ext|tgz}
remote_file: ${project}/${build_variant}/${revision}/dist/mongo-${build_id}-debugsymbols.${ext|tgz}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: application/tar
display_name: Dist Debugsymbols
- command: subprocess.exec
params:
binary: bash
add_expansions_to_env: true
args:
- "src/evergreen/run_python_script.sh"
- "buildscripts/s3_binary/sha256sum.py"
- "bazel-bin/mongo-stripped.${ext|tgz}"
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/mongo-stripped.${ext|tgz}
remote_file: ${mongo_jstestshell}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: ${content_type|application/gzip}
display_name: Jstestshell
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/mongo-stripped.${ext|tgz}.sha256
remote_file: ${mongo_jstestshell}.sha256
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: text/plain
display_name: Jstestshell SHA256
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/mongo-debug.${ext|tgz}
remote_file: ${mongo_jstestshell_debugsymbols}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: ${content_type|application/gzip}
display_name: Jstestshell Debugsymbols
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/mongocryptd-stripped.${ext|tgz}
remote_file: ${mongo_cryptd}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: ${content_type|application/gzip}
display_name: CryptD Binaries
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-bin/mongocryptd-debug.${ext|tgz}
remote_file: ${mongo_cryptd_debugsymbols}
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: ${content_type|application/gzip}
display_name: CryptD Debugsymbols
- func: "run packager.py"
- command: archive.targz_pack
params:
target: "packages.tgz"
source_dir: "src"
include:
- "repo/**"
- "bazel-bin/src/mongo/installer/**.msi"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: packages.tgz
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}-packages.tgz
bucket: mciuploads
permissions: ${mciuploads_binary_permissions|private}
visibility: ${mciuploads_binary_visibility|signed}
content_type: application/tar
display_name: Packages
# We perform package task generally in the middle of larger task groups running
# on the same host serially. In order to reduce peak required disk space, we can delete
# these generated files since we have already uploaded them to aws at this point.
- func: "remove files"
vars:
files: >-
packages.tgz
src/bazel-bin/mongocryptd-debug.${ext|tgz}
src/bazel-bin/mongocryptd-stripped.${ext|tgz}
src/bazel-bin/mongo-debug.${ext|tgz}
src/bazel-bin/mongo-stripped.${ext|tgz}
src/bazel-bin/dist-debug.${ext|tgz}
src/bazel-bin/dist-stripped.${ext|tgz}

View File

@ -1,94 +0,0 @@
functions:
f_clone_source:
- &clone_source
display_name: "Cloning source to analyze"
command: git.get_project
params:
directory: src
clone_depth: 1
recurse_submodules: true
- &check
display_name: "Checking if project has needed Coverity config"
command: subprocess.exec
params:
add_expansions_to_env: true
redirect_standard_error_to_output: true
binary: "${module_prefix}/${module_name}/evergreen/coverity.sh"
args:
- "check"
f_download_and_extract_coverity:
- &assume_role
display_name: "Assuming IAM role"
command: ec2.assume_role
params:
role_arn: arn:aws:iam::557821124784:role/evergreen.evergreen.coverity
- &download_coverity_license
display_name: "downloading Coverity license file"
command: s3.get
params:
aws_key: ${AWS_ACCESS_KEY_ID}
aws_secret: ${AWS_SECRET_ACCESS_KEY}
aws_session_token: ${AWS_SESSION_TOKEN}
remote_file: license.dat
bucket: evergreen.coverity
local_file: license.dat
- &download_coverity_binary
display_name: "downloading Coverity binary"
command: s3.get
params:
aws_key: ${AWS_ACCESS_KEY_ID}
aws_secret: ${AWS_SECRET_ACCESS_KEY}
aws_session_token: ${AWS_SESSION_TOKEN}
remote_file: linux/x86_64/latest/coverity.tar.gz
bucket: evergreen.coverity
local_file: coverity.tar.gz
- &extract_coverity_binary
display_name: "Extracting Coverity binary tarball"
command: subprocess.exec
params:
add_expansions_to_env: true
redirect_standard_error_to_output: true
binary: "${module_prefix}/${module_name}/evergreen/coverity.sh"
args:
- "extract"
# Analyzes after build
f_analyze:
- command: subprocess.exec
params:
add_expansions_to_env: true
redirect_standard_error_to_output: true
binary: "${module_prefix}/${module_name}/evergreen/coverity.sh"
args:
- "analyze"
# Pushes results to Coverity server after a successful analysis
f_commit:
- command: subprocess.exec
params:
add_expansions_to_env: true
redirect_standard_error_to_output: true
binary: "${module_prefix}/${module_name}/evergreen/coverity.sh"
args:
- "commit"
# All in one function, from cloning to pushing results to Coverity server
f_run_coverity:
- *clone_source
- *check
- *assume_role
- *download_coverity_license
- *download_coverity_binary
- *extract_coverity_binary
- command: subprocess.exec
params:
add_expansions_to_env: true
redirect_standard_error_to_output: true
binary: "${module_prefix}/${module_name}/evergreen/coverity.sh"
args:
- "scan"

View File

@ -1,26 +0,0 @@
# Devcontainer Testing Tasks
#
# These tasks validate that the devcontainer setup works correctly
################################################
# Task Definitions #
################################################
tasks:
# Comprehensive E2E test using devcontainer CLI
- name: devcontainer_test
tags:
["assigned_to_jira_team_devprod_correctness", "auxiliary", "devcontainer"]
commands:
- func: "git get project and add git tag"
- func: "f_expansions_write"
- func: "get engflow key"
- func: "get engflow cert"
- command: subprocess.exec
display_name: "Test devcontainer setup (E2E)"
type: test
timeout_secs: 3600 # 1 hour for full setup
params:
binary: bash
args:
- "./src/evergreen/devcontainer_test.sh"

File diff suppressed because it is too large Load Diff

View File

@ -1,135 +0,0 @@
tasks:
- name: publish-sast-report
tags: ["auxiliary", "assigned_to_jira_team_devprod_release_infrastructure"]
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
commands:
- command: git.get_project
params:
directory: src
clone_depth: 1
recurse_submodules: true
- func: "get version expansions"
- func: "apply version expansions"
- func: "f_expansions_write"
- command: subprocess.exec
display_name: Write credentials for SAST report generation to file
type: setup
params:
silent: true
binary: "${workdir}/src/evergreen/write_sast_report_env_file.sh"
env:
WORK_DIR: ${workdir}
JIRA_OAUTH_ACCESS_TOKEN: ${jira_auth_access_token}
JIRA_OAUTH_ACCESS_TOKEN_SECRET: ${jira_auth_access_token_secret}
JIRA_OAUTH_CONSUMER_KEY: ${jira_auth_consumer_key}
JIRA_OAUTH_KEY_CERT: ${jira_auth_key_cert}
SAST_REPORT_COVERITY_USERNAME: ${SAST_REPORT_COVERITY_USERNAME}
SAST_REPORT_COVERITY_PASSWORD: ${SAST_REPORT_COVERITY_PASSWORD}
SAST_REPORT_UPLOAD_GOOGLE_CLIENT_ID: ${SAST_REPORT_UPLOAD_GOOGLE_CLIENT_ID}
SAST_REPORT_UPLOAD_GOOGLE_CLIENT_REFRESH_TOKEN: ${SAST_REPORT_UPLOAD_GOOGLE_CLIENT_REFRESH_TOKEN}
SAST_REPORT_UPLOAD_GOOGLE_CLIENT_SECRET: ${SAST_REPORT_UPLOAD_GOOGLE_CLIENT_SECRET}
- command: subprocess.exec
display_name: "Generate SAST report and upload to Google Drive"
params:
binary: "${workdir}/src/evergreen/generate_sast_report.sh"
env:
WORK_DIR: ${workdir}
MODULE_PATH: ${workdir}/devprodCoveritySrc/devprod_coverity
GITHUB_COMMIT: ${github_commit}
TRIGGERED_BY_GIT_TAG: ${triggered_by_git_tag}
MONGODB_VERSION: ${version}
MONGODB_RELEASE_BRANCH: ${branch_name}
SAST_REPORT_TEST_GOOGLE_DRIVE_FOLDER_ID: ${SAST_REPORT_TEST_GOOGLE_DRIVE_FOLDER_ID}
SAST_REPORT_RELEASES_GOOGLE_DRIVE_FOLDER_ID: ${SAST_REPORT_RELEASES_GOOGLE_DRIVE_FOLDER_ID}
- command: s3.put
params:
aws_key: ${aws_key}
aws_secret: ${aws_secret}
bucket: mciuploads
content_type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
local_files_include_filter_prefix: devprodCoveritySrc/devprod_coverity
local_files_include_filter:
- "sast_report_*.xlsx"
remote_file: ${project}/${build_variant}/${revision}/artifacts/${build_id}/${task_name}/
permissions: private
visibility: signed
- name: publish-augmented-sbom
tags: ["auxiliary", "assigned_to_jira_team_platsec_ssdlc"]
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
exec_timeout_secs: 600 # 10 minute timeout
commands:
- command: manifest.load
- func: "git get project and add git tag"
- func: "get version expansions"
- func: "apply version expansions"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "upload pip requirements"
- command: ec2.assume_role
display_name: Assume Silkbomb IAM role
params:
role_arn: arn:aws:iam::119629040606:role/silkbomb
- func: "f_expansions_write"
- command: subprocess.exec
display_name: Write temporary AWS credentials to Silkbomb environment file
params:
binary: bash
args:
- "src/evergreen/functions/security_reporting_scripts/write_aws_creds_to_silkbomb_env_file.sh"
include_expansions_in_env:
[AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN]
- command: ec2.assume_role
display_name: Assume DevProd Platforms ECR readonly IAM role
params:
role_arn: arn:aws:iam::901841024863:role/ecr-role-evergreen-ro
- func: "f_expansions_write"
- command: subprocess.exec
display_name: Run Silkbomb to augment SBOM with VEX data
params:
binary: bash
args:
- "src/evergreen/functions/security_reporting_scripts/augment_sbom.sh"
include_expansions_in_env:
[AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN]
env:
REQUESTER: ${requester}
BRANCH_NAME: ${branch_name}
GITHUB_ORG: ${github_org}
GITHUB_REPO: ${github_repo}
CONTAINER_COMMAND: docker # podman or docker
CONTAINER_OPTIONS: --pull=always --platform=linux/amd64 -i --rm
CONTAINER_ENV_FILES: ${workdir}/silkbomb.env
CONTAINER_VOLUMES: -v ${workdir}:/workdir
CONTAINER_IMAGE: 901841024863.dkr.ecr.us-east-1.amazonaws.com/release-infrastructure/silkbomb:2.0
SBOM_REPO_PATH: sbom.private.json
SBOM_OUT_PATH: ${workdir}/sbom-with-vex-${branch_name}.json
SILKBOMB_COMMAND: augment
SILKBOMB_ARGS: --sbom-in /workdir/src/sbom.private.json --sbom-out /workdir/src/sbom-with-vex-${branch_name}.json --repo ${github_org}/${github_repo} --branch ${branch_name}
- command: subprocess.exec
display_name: Upload SBOM to Google Drive"
params:
binary: bash
args:
- "${workdir}/src/evergreen/run_python_script.sh"
- "${workdir}/src/evergreen/functions/security_reporting_scripts/upload_to_google_drive.py"
- "${workdir}/src/sbom-with-vex-${branch_name}.json"
env:
WORK_DIR: ${workdir}
GITHUB_COMMIT: ${github_commit}
TRIGGERED_BY_GIT_TAG: ${triggered_by_git_tag}
MONGODB_VERSION: ${version}
MONGODB_RELEASE_BRANCH: ${branch_name}
SBOM_OUT_PATH: ${workdir}/sbom-with-vex-${branch_name}.json
UPLOAD_FILE_NAME: "[${version}] MongoDB Server Enterprise SBOM"
SBOM_REPORT_TEST_GOOGLE_DRIVE_FOLDER_ID: ${SBOM_REPORT_TEST_GOOGLE_DRIVE_FOLDER_ID}
SBOM_REPORT_RELEASES_GOOGLE_DRIVE_FOLDER_ID: ${SBOM_REPORT_RELEASES_GOOGLE_DRIVE_FOLDER_ID}
SAST_REPORT_UPLOAD_GOOGLE_CLIENT_ID: ${SAST_REPORT_UPLOAD_GOOGLE_CLIENT_ID}
SAST_REPORT_UPLOAD_GOOGLE_CLIENT_REFRESH_TOKEN: ${SAST_REPORT_UPLOAD_GOOGLE_CLIENT_REFRESH_TOKEN}
SAST_REPORT_UPLOAD_GOOGLE_CLIENT_SECRET: ${SAST_REPORT_UPLOAD_GOOGLE_CLIENT_SECRET}

View File

@ -1,663 +0,0 @@
# This file contains resmoke tasks that are owned by non-server teams
################################################
# Variable #
################################################
variables:
- &gen_burn_in_task_template
name: gen_burn_in_task_template
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: version_burn_in_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: archive_dist_test
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --help
# Used when the tests it runs depend only on mongod, mongos, the jstestshell and the tools.
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/clusters_and_integrations/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/durable_transactions_and_availability/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/query/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/non_server_teams/tasks.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &task_template
name: template
depends_on:
- name: archive_dist_test
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_args: --help
resmoke_jobs_max: 0 # No cap on number of jobs.
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/clusters_and_integrations/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/durable_transactions_and_availability/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/query/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/non_server_teams/tasks.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &gen_task_template
name: gen_task_template
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: archive_dist_test
commands:
- func: "generate resmoke tasks"
vars:
resmoke_args: --help
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/clusters_and_integrations/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/durable_transactions_and_availability/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/server_divisions/query/tasks.yml
# - etc/evergreen_yml_components/tasks/resmoke/non_server_teams/tasks.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &benchmark_template
name: benchmark_template
depends_on:
- name: compile_upload_benchmarks
commands:
- func: "do benchmark setup"
- func: "run benchmark tests"
vars:
resmoke_args: --help
resmoke_jobs_max: 1
suite: benchmark_suite
################################################
# Tasks #
################################################
tasks:
## pretty_printer ##
- <<: *task_template
name: run_pretty_printer_tests
tags: ["assigned_to_jira_team_devprod_build", "auxiliary"]
depends_on:
- archive_dist_test_debug
commands:
- func: "run tests"
vars:
suite: pretty-printer-tests
install_dir: bazel-bin/install/bin
exec_timeout_secs: 1800 # 30 min timeout.
- name: buildscripts_test
tags:
[
"assigned_to_jira_team_devprod_correctness",
"development_critical",
"requires_compile_variant",
"requires_execution_on_windows_patch_build",
]
depends_on: []
commands:
- func: "f_expansions_write"
- func: "do non-compile setup"
- func: "set up remote credentials"
- func: "f_expansions_write"
- func: "configure evergreen api credentials"
- func: "gen feature flags"
- func: "run tests"
vars:
resmoke_jobs_max: 1
- name: check_workstation_setup_script
tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"]
depends_on: []
commands:
- func: "do pre workstation setup"
- func: "get engflow creds"
- func: "set up then check workstation script"
- <<: *gen_burn_in_task_template
name: burn_in_tags_gen
tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"]
patch_only: true
commands:
- func: "generate resmoke tasks"
- <<: *gen_burn_in_task_template
name: burn_in_tests_gen
tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"]
patch_only: true
commands:
- func: "generate resmoke tasks"
- <<: *task_template
name: mongosTest
tags:
[
"assigned_to_jira_team_devprod_correctness",
"release_critical",
"misc_js",
"non_read_maj",
"non_live_record",
]
commands:
- func: "do setup"
- func: "run tests"
vars:
suite: mongos_test
## Tests that the multiversion test generation logic is not broken.
- <<: *gen_task_template
name: multiversion_sanity_check_gen
tags:
[
"assigned_to_jira_team_devprod_correctness",
"default",
"multiversion",
"multiversion_sanity_check",
]
commands:
- func: "initialize multiversion tasks"
vars:
multiversion_sanity_check_last_continuous_new_new_old: last_continuous
multiversion_sanity_check_last_continuous_new_old_new: last_continuous
multiversion_sanity_check_last_continuous_old_new_new: last_continuous
multiversion_sanity_check_last_lts_new_new_old: last_lts
multiversion_sanity_check_last_lts_new_old_new: last_lts
multiversion_sanity_check_last_lts_old_new_new: last_lts
- func: "generate resmoke tasks"
vars:
resmoke_args: >-
--runNoFeatureFlagTests
- <<: *task_template
name: resmoke_end2end_tests
tags:
[
"assigned_to_jira_team_devprod_correctness",
"default",
"incompatible_aubsan",
]
commands:
- func: "do setup"
vars:
extraction_change_dir: bazel-bin/install/
decompress: tar --strip-components=1 -zxvf
- func: "run tests"
vars:
resmoke_jobs_max: 1
- <<: *task_template
name: resmoke_validation_tests
tags:
[
"assigned_to_jira_team_devprod_correctness",
"development_critical_single_variant",
]
depends_on:
- name: archive_dist_test
commands:
- func: "do setup"
- func: "run tests"
- <<: *gen_task_template
name: unittest_shell_hang_analyzer_gen
tags:
[
"assigned_to_jira_team_devprod_correctness",
"release_critical",
"requires_compile_variant",
"requires_execution_on_windows_patch_build",
]
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: archive_dist_test
- name: archive_dist_test_debug
commands:
- func: "generate resmoke tasks"
vars:
exec_timeout_secs: 3600
use_large_distro: "true"
- <<: *benchmark_template
name: benchmarks_streams
tags: ["assigned_to_jira_team_streams", "experimental", "benchmarks"]
commands:
- func: "do benchmark setup"
- func: "run benchmark tests"
vars:
suites: benchmarks_streams
exec_timeout_secs: 18000 # 5 hour timeout.
resmoke_jobs_max: 1
- <<: *gen_task_template
name: streams_gen
tags: ["assigned_to_jira_team_streams", "default", "streams_release_test"]
commands:
- func: "generate resmoke tasks"
vars:
num_tasks: 10
fallback_num_sub_suites: 2
- <<: *gen_task_template
name: streams_kafka_gen
tags:
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
commands:
- func: "generate resmoke tasks"
vars:
num_tasks: 10
fallback_num_sub_suites: 2
resmoke_jobs_max: 1
- <<: *task_template
name: streams_kafka_gwproxy
tags:
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
commands:
- command: ec2.assume_role
params:
role_arn: "arn:aws:iam::664315256653:role/streams-evergreen-ecr-access-ro"
- func: "do setup"
- func: "run tests with aws credentials"
- <<: *task_template
name: streams_kafka_benchmark
tags:
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
commands:
- func: "do setup"
- func: "run tests"
- <<: *task_template
name: streams_https
tags: ["assigned_to_jira_team_streams", "default", "streams_release_test"]
commands:
- func: "do setup"
- func: "run tests"
- <<: *task_template
name: streams_lambda
tags:
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
commands:
- func: "do setup"
- func: "run tests"
- <<: *task_template
name: streams_s3
tags:
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
commands:
- func: "do setup"
- func: "run tests"
vars:
resmoke_jobs_max: 1
- <<: *task_template
name: streams_kinesis
tags:
["assigned_to_jira_team_streams", "experimental", "streams_release_test"]
commands:
- func: "do setup"
- func: "run tests"
- <<: *task_template
name: streams_aspio
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 1
- <<: *task_template
name: streams_aspio_iceberg_0
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 1
- <<: *task_template
name: streams_aspio_iceberg_1
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 4
- <<: *task_template
name: streams_aspio_iceberg_2
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 4
- <<: *task_template
name: streams_aspio_iceberg_3
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 4
- <<: *task_template
name: streams_aspio_iceberg_large
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 1
- <<: *task_template
name: streams_aspio_iceberg_5
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 4
- <<: *task_template
name: streams_aspio_utilities
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 1
- <<: *task_template
name: streams_externaljs
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 1
HAS_JS_ENGINE: "true"
- <<: *task_template
name: streams_aspio_pubsub
tags:
[
"assigned_to_jira_team_streams",
"default",
"streams_release_test",
"requires_extra_system_deps",
]
commands:
- func: "do setup"
- func: "run streams tests"
vars:
resmoke_jobs_max: 1
- name: streams_build_only_gen
tags: ["assigned_to_jira_team_streams", "auxiliary"]
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
commands:
- func: "streams build"
vars:
streams_output_file: streams_build_only.json
streams_s3_path: streams_build_only
- name: streams_build_and_push_gen
tags: ["assigned_to_jira_team_streams", "auxiliary"]
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
commands:
- func: "streams build"
vars:
streams_output_file: streams_build_and_push.json
streams_s3_path: streams_build_and_push
push_arg: "--push=true"
- name: streams_build_and_push_break_glass_gen
tags: ["assigned_to_jira_team_streams", "auxiliary"]
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
commands:
- func: "streams build"
vars:
streams_output_file: streams_build_and_push.json
streams_s3_path: streams_build_and_push
push_arg: "--push=true"
break_glass_arg: "--break-glass=true"
- name: bazel_result_tasks_gen
tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"]
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
commands:
- func: "git get project and add git tag"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "upload pip requirements"
- func: "configure evergreen api credentials"
- func: "set up credentials"
- func: "get engflow creds"
- func: "bazel run"
vars:
target: //buildscripts:generate_result_tasks
args: -- --outfile=generated_tasks.json
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/generated_tasks.json
remote_file: ${project}/${version_id}/${build_variant}/bazel_result_tasks_gen/generated_tasks.json
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/json
- command: generate.tasks
params:
files:
- generated_tasks.json
- name: resmoke_tests
tags: ["assigned_to_jira_team_devprod_correctness", "auxiliary"]
priority: 5 # Boost the priority since this is often the longest running task in the merge queue
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
- name: bazel_result_tasks_gen
variant: generate-tasks-for-version
exec_timeout_secs: 3720 # 62 minutes
commands:
- func: "execute resmoke tests via bazel"
vars:
targets: ${resmoke_test_targets}
compiling_for_test: true
build_timeout_seconds: 1800 # 30 minutes
bazel_args: >-
--test_tag_filters=${resmoke_tests_tag_filter},-incompatible_with_bazel_remote_test
--//bazel/resmoke:test_timeout=960
--test_timeout=1500
--config=evg
# Timeouts are 16 minutes (960s) for individual tests, the same as the default idle timeout.
# Each bazel test's timeout is 25 minutes.
# The bazel test command is given a timeout of 30 minutes total, including build time.
# This entire command block has a timeout just over double that, so that we can retry on hang once completely.
# The task_compile_flags are taken from what is set for archive_dist_test in bazel_compile.sh
task_compile_flags: >-
--keep_going
--verbose_failures
--simple_build_id=True
--define=MONGO_VERSION=${version}
--linkstatic=True
--features=strip_debug
--separate_debug=False
--remote_download_outputs=minimal
--zip_undeclared_test_outputs
task_groups:
- name: resmoke_tests_TG
max_hosts: -1
setup_task_can_fail_task: true
setup_task:
- command: manifest.load
- func: "git get project and add git tag"
- func: "set task expansion macros"
- func: "f_expansions_write"
- func: "kill processes"
- func: "cleanup environment"
- func: "set up venv"
- func: "configure evergreen api credentials"
- func: "set up credentials"
- func: "get engflow creds"
# Remove teardown_task_timeout_secs after SERVER-120810, restoring default teardown timeout. generate.tasks can
# stall as it waits for the Evergreen job to run the actual task generation. During this time, generate.tasks
# is sleeping/polling for completion. In unlucky cases where there are other task generation jobs on the
# same version, they run serially and can take a long time complete. A slow task here is better than the task not
# displaying all test results.
teardown_task_timeout_secs: 3600
teardown_task:
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/generated_tasks.json
remote_file: ${project}/${version_id}/${build_variant}/${task_name}/generated_tasks.json
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/json
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/build_events.json
remote_file: ${project}/${version_id}/${build_variant}/${task_name}/build_events.json
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/json
- func: "f_expansions_write"
- command: subprocess.exec
display_name: "collect bazel debug logs"
params:
binary: bash
args:
- "src/evergreen/collect_bazel_debug_logs.sh"
- command: s3.put
params:
optional: true
aws_key: ${aws_key}
aws_secret: ${aws_secret}
local_file: src/bazel-debug-logs.zip
remote_file: ${project}/${version_id}/${build_variant}/${task_name}/bazel-debug-logs-${execution}.zip
bucket: mciuploads
permissions: private
visibility: signed
content_type: application/zip
- func: "debug full disk"
- func: "attach bazel invocation"
- func: "save failed tests"
- func: "f_expansions_write"
- func: "kill processes"
# generate.tasks should be the last command run. In the event the job Evergreen runs to perform
# the actual task generation is significantly delayed and the command times out, this will ensure
# that the other teardown actions still are run. When the command times out, the job still exists
# and the generate tasks will still be created.
- command: generate.tasks
params:
optional": true
files:
- generated_tasks.json
tasks:
- resmoke_tests

View File

@ -1,5 +0,0 @@
version: 1.0.0
filters:
- "*":
approvers:
- 10gen/query

View File

@ -1,5 +0,0 @@
version: 1.0.0
filters:
- "*":
approvers:
- 10gen/streams-engine

View File

@ -1,209 +0,0 @@
# Amazon build variants for testing streams in development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: enterprise-amazon2023-streams
display_name: "Amazon Linux 2023 enterprise streams"
modules: ["asp-js-engine"]
run_on:
- amazon2023-latest-small
expansions:
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool
--additionalFeatureFlags=featureFlagStreams
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--streams_release_build=True
release_rbe: true
evergreen_remote_exec: on
multiversion_platform: amazon2023
multiversion_edition: enterprise-streams
compile_variant: enterprise-amazon2023-streams
large_distro_name: amazon2023.3-c5-24xlarge
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- amazon2023.3-c5-24xlarge
- name: aggregation
- name: .streams_release_test
- name: generate_buildid_to_debug_symbols_mapping
- name: enterprise-amazon2023-streams-arm64
display_name: "Amazon Linux 2023 enterprise streams arm64"
# TODO(SERVER-120347): Re-enable once we are ready to switch to using arm64.
activate: false
modules: ["asp-js-engine"]
run_on:
- amazon2023-arm64-latest-m8g-xlarge
expansions:
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool
--additionalFeatureFlags=featureFlagStreams
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--streams_release_build=True
release_rbe: true
evergreen_remote_exec: on
multiversion_platform: amazon2023
multiversion_edition: enterprise-streams
compile_variant: enterprise-amazon2023-streams-arm64
large_distro_name: amazon2023.3-arm64-xxxlarge
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- amazon2023.3-arm64-xxxlarge
- name: aggregation
- name: .streams_release_test
- name: generate_buildid_to_debug_symbols_mapping
# TODO(SERVER-120489): There are issues with these variants that need to be investigated/fixed
# - name: enterprise-amazon2023-streams-tsan
# display_name: "TSAN Amazon Linux 2023 arm64 enterprise streams"
# # TODO(SERVER-120347): Re-enable once we are ready to switch to using arm64.
# activate: false
# modules: ["asp-js-engine"]
# run_on:
# - amazon2023-arm64-latest-m8g-xlarge
# stepback: false
# expansions:
# test_flags: >-
# --excludeWithAnyTags=tsan_incompatible
# --additionalFeatureFlags=featureFlagStreams
# lang_environment: LANG=C
# san_options: TSAN_OPTIONS="abort_on_error=1:disable_coredump=0:handle_abort=1:halt_on_error=1:report_thread_leaks=0:die_after_fork=0:history_size=4:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# bazel_compile_flags: >-
# --config=dbg_tsan
# --define=MONGO_DISTMOD=amazon2023
# --opt=on
# --fission=no
# --streams_release_build=True
# --jobs=800
# resmoke_jobs_factor: 0.3
# multiversion_platform: amazon2023
# multiversion_edition: enterprise
# compile_variant: enterprise-amazon2023-streams-tsan
# large_distro_name: amazon2023-arm64-latest-m8g-8xlarge
# xlarge_distro_name: amazon2023-arm64-latest-m8g-16xlarge
# tasks:
# - name: compile_and_archive_dist_test_TG
# distros:
# - amazon2023-arm64-latest-m8g-8xlarge
# - name: .streams_release_test
# - name: generate_buildid_to_debug_symbols_mapping
#
# - name: enterprise-amazon2023-streams-aubsan
# display_name: "{A,UB}SAN Amazon Linux 2023 arm64 enterprise streams"
# # TODO(SERVER-120347): Re-enable once we are ready to switch to using arm64.
# activate: false
# modules: ["asp-js-engine"]
# run_on:
# - amazon2023-arm64-latest-m8g-xlarge
# stepback: false
# expansions:
# test_flags: >-
# --excludeWithAnyTags=incompatible_aubsan
# --additionalFeatureFlags=featureFlagStreams
# lang_environment: LANG=C
# san_options: >-
# UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1"
# ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# bazel_compile_flags: >-
# --config=dbg_aubsan
# --define=MONGO_DISTMOD=amazon2023
# --opt=on
# --fission=no
# --streams_release_build=True
# resmoke_jobs_factor: 0.3
# hang_analyzer_dump_core: false
# multiversion_platform: amazon2023
# multiversion_edition: enterprise
# compile_variant: enterprise-amazon2023-streams-aubsan
# large_distro_name: amazon2023-arm64-latest-m8g-8xlarge
# xlarge_distro_name: amazon2023-arm64-latest-m8g-16xlarge
# tasks:
# - name: compile_and_archive_dist_test_TG
# distros:
# - amazon2023-arm64-latest-m8g-8xlarge
# - name: .streams_release_test
# - name: generate_buildid_to_debug_symbols_mapping
# Temporary rhel8-based TSAN and AUBSAN streams variants while amazon2023 issues
# (SERVER-120489) are being investigated/fixed.
- name: enterprise-rhel8-streams-tsan
display_name: "TSAN RHEL 8 enterprise streams"
activate: false
modules: ["asp-js-engine"]
run_on:
- rhel8.8-large
stepback: false
expansions:
test_flags: >-
--excludeWithAnyTags=tsan_incompatible
--additionalFeatureFlags=featureFlagStreams
lang_environment: LANG=C
san_options: TSAN_OPTIONS="abort_on_error=1:disable_coredump=0:handle_abort=1:halt_on_error=1:report_thread_leaks=0:die_after_fork=0:history_size=4:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
bazel_compile_flags: >-
--config=dbg_tsan
--opt=on
--fission=no
--streams_release_build=True
--jobs=800
resmoke_jobs_factor: 0.3
multiversion_platform: rhel8
multiversion_edition: enterprise
compile_variant: enterprise-rhel8-streams-tsan
large_distro_name: rhel8.8-xlarge
xlarge_distro_name: rhel8.8-xxlarge
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- rhel8.8-xlarge
- name: run_unit_tests_TG
distros:
- rhel8.8-xlarge
- name: streams_gen
- name: streams_https
- name: generate_buildid_to_debug_symbols_mapping
- name: enterprise-rhel8-streams-aubsan
display_name: "{A,UB}SAN RHEL 8 enterprise streams"
activate: false
modules: ["asp-js-engine"]
run_on:
- rhel8.8-large
stepback: false
expansions:
test_flags: >-
--excludeWithAnyTags=incompatible_aubsan
--additionalFeatureFlags=featureFlagStreams
lang_environment: LANG=C
san_options: >-
UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1"
ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
bazel_compile_flags: >-
--config=dbg_aubsan
--opt=on
--fission=no
--streams_release_build=True
resmoke_jobs_factor: 0.3
hang_analyzer_dump_core: false
multiversion_platform: rhel8
multiversion_edition: enterprise
compile_variant: enterprise-rhel8-streams-aubsan
large_distro_name: rhel8.8-xlarge
xlarge_distro_name: rhel8.8-xxlarge
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- rhel8.8-xlarge
- name: run_unit_tests_TG
distros:
- rhel8.8-xlarge
- name: streams_gen
- name: streams_https
- name: generate_buildid_to_debug_symbols_mapping

View File

@ -1,141 +0,0 @@
# Amazon build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
# This variant builds the "mongostream" container image used in
# Atlas Stream Processing production services. mongostream is just a mongod
# binary with the streams module compiled in.
buildvariants:
- name: enterprise-amazon2023-streams
display_name: "Amazon Linux 2023 enterprise build with streams"
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
modules: ["asp-js-engine"]
run_on:
- amazon2023-latest-small
expansions:
skip_debug_link: true
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool
--additionalFeatureFlags=featureFlagStreams
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-amazon2023-streams
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--streams_release_build=True
release_rbe: true
evergreen_remote_exec: on
multiversion_platform: amazon2023
multiversion_edition: enterprise-streams
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon2023
repo_edition: enterprise
compile_variant: enterprise-amazon2023-streams
large_distro_name: amazon2023.3-c5-24xlarge
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- amazon2023.3-c5-24xlarge
- name: aggregation
- name: streams_gen
- name: streams_kafka_gen
- name: streams_kafka_gwproxy
- name: streams_kafka_benchmark
- name: streams_https
- name: streams_lambda
- name: streams_s3
- name: streams_kinesis
- name: streams_aspio
- name: streams_aspio_iceberg_0
- name: streams_aspio_iceberg_1
- name: streams_aspio_iceberg_2
- name: streams_aspio_iceberg_3
- name: streams_aspio_iceberg_large
- name: streams_aspio_iceberg_5
- name: streams_aspio_utilities
- name: streams_externaljs
- name: streams_aspio_pubsub
- name: streams_build_and_push_gen
- name: streams_build_and_push_break_glass_gen
activate: false # Only run on manual patches
# TODO(SERVER-120347): Move back to arm64 variant once we are ready to switch to using arm64.
- name: streams_publish_manifest_al2023_gen
- name: streams_publish_manifest_al2023_break_glass_gen
activate: false # Only run on manual patches
- name: generate_buildid_to_debug_symbols_mapping
- name: enterprise-amazon2023-streams-arm64
display_name: "Amazon Linux 2023 enterprise build with streams arm64"
# TODO(SERVER-120347): Re-enable once we are ready to switch to using arm64.
activate: false
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
modules: ["asp-js-engine"]
run_on:
- amazon2023-arm64-latest-m8g-xlarge
expansions:
skip_debug_link: true
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool
--additionalFeatureFlags=featureFlagStreams
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-amazon2023-streams
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--streams_release_build=True
release_rbe: true
evergreen_remote_exec: on
multiversion_platform: amazon2023
multiversion_edition: enterprise-streams
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: enterprise
compile_variant: enterprise-amazon2023-streams-arm64
large_distro_name: amazon2023.3-arm64-xxxlarge
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- amazon2023.3-arm64-xxxlarge
- name: streams_gen
- name: streams_kafka_gen
- name: streams_kafka_gwproxy
- name: streams_kafka_benchmark
- name: streams_kinesis
- name: streams_https
- name: streams_lambda
- name: streams_s3
- name: aggregation
- name: streams_aspio
- name: streams_aspio_iceberg_0
- name: streams_aspio_iceberg_1
- name: streams_aspio_iceberg_2
- name: streams_aspio_iceberg_3
- name: streams_aspio_iceberg_large
- name: streams_aspio_iceberg_5
- name: streams_aspio_utilities
- name: streams_externaljs
- name: streams_aspio_pubsub
- name: streams_build_and_push_gen
- name: streams_build_and_push_break_glass_gen
activate: false # Only run on manual patches
- name: generate_buildid_to_debug_symbols_mapping

View File

@ -1,617 +0,0 @@
# Amazon build variants for testing development environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux-arm64-dynamic-compile-params # Essential set of compile parameters used for Linux dev variants.
run_on:
- amazon2023-arm64-latest-m8g-4xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
stepback: false
- &linux-arm64-static-enterprise-compile-expansions
has_packages: false
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
unittest_library_compile_flags: >-
--linkstatic=False
unittest_compile_flags: >-
--linkstatic=False
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_arm64_generic_expansions
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: enterprise
large_distro_name: amazon2023-arm64-atlas-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &amazon_linux2023_arm64_static_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &amazon_linux2023_arm64_static_compile_variant_name amazon-linux2023-arm64-static-compile
- name: archive_jstestshell
variant: *amazon_linux2023_arm64_static_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: amazon-linux2023-arm64-static-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &amazon_linux2023_arm64_dynamic_expansions
<<: *linux_arm64_generic_expansions
compile_variant: *amazon_linux2023_arm64_static_compile_variant_name
- &sys_perf_compile_expansions
platform: linux
project_dir: dsi
has_packages: false
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# - etc/evergreen_yml_components/variants/misc/task_generation.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- paths: &mongo_path_filtering
- "*"
- "!/monguard/**"
buildvariants:
- <<: *linux-arm64-dynamic-compile-params
name: &amazon-linux2023-arm64-crypt-compile amazon-linux2023-arm64-crypt-compile
display_name: "! Amazon Linux 2023 arm64 Crypt Compile"
tags: ["required", "bazel_check"]
expansions:
<<: *linux-arm64-static-enterprise-compile-expansions
compile_variant: *amazon-linux2023-arm64-crypt-compile
evergreen_remote_exec: on
tasks:
- name: .crypt
- name: crypt_build_debug_and_test
- <<: *linux-arm64-dynamic-compile-params
name: &amazon-linux2023-arm64-static-compile amazon-linux2023-arm64-static-compile
display_name: "! Amazon Linux 2023 arm64 Atlas Compile"
tags: ["required", "bazel_check", "forbid_tasks_tagged_with_experimental"]
paths: *mongo_path_filtering
expansions:
<<: *linux-arm64-static-enterprise-compile-expansions
clang_tidy_toolchain: v5
build_mongot: true
download_mongot_release: true
compile_variant: *amazon-linux2023-arm64-static-compile
core_analyzer_distro_name: amazon2023-arm64-latest-xlarge
evergreen_remote_exec: on
skip_debug_link: true
remote_link: true
resmoke_tests_tag_filter: ci-development-critical-single-variant
# Boost the priority on remote execution since this is the longest running task chain in
# the required patch build. This priority is still lower than the priority on developer
# workstation builds.
#
# This variant can also handle a higher number of remote execution jobs concurrently
# since it's running on a c6g.16xlarge
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--remote_execution_priority=3
--jobs=1600
--build_atlas=True
tasks:
- name: run_unit_tests_TG
- name: compile_test_parallel_core_stream_and_pretty_printer_tests_TG
distros:
- amazon2023-arm64-latest-xlarge
- name: compile_all_but_not_unittests_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: compile_jstestshell_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: resmoke_tests_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: .development_critical_single_variant !.requires_large_host
- name: .development_critical_single_variant .requires_large_host
distros:
- amazon2023-arm64-latest-xlarge
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- amazon2023-arm64-latest-xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- amazon2023-arm64-latest-xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant
distros:
- amazon2023-arm64-latest-xlarge
- name: amazon-linux2023-arm64-lto-pgo-bolt
display_name: "Amazon Linux 2023 arm64 Enterprise Compile LTO/PGO/BOLT"
run_on:
- amazon2023-arm64-latest-m8g-4xlarge
stepback: false
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
expansions:
has_packages: false
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--remote_execution_priority=1
--jobs=1600
--build_atlas=True
--config=opt_profiled
--bolt_profile_use=True
unittest_library_compile_flags: >-
--config=evg
--linkstatic=False
unittest_compile_flags: >-
--config=evg
--linkstatic=False
compile_all_but_not_unittests_flags: >-
--config=evg
integration_test_compile_flags: >-
--config=evg
build_mongot: true
download_mongot_release: true
compile_variant: amazon-linux2023-arm64-lto-pgo-bolt
evergreen_remote_exec: on
skip_debug_link: true
remote_link: true
resmoke_tests_tag_filter: ci-development-critical-single-variant
tasks:
- name: run_unit_tests_TG
- name: compile_test_parallel_core_stream_and_pretty_printer_tests_TG
distros:
- amazon2023-arm64-latest-xlarge
- name: compile_all_but_not_unittests_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: compile_jstestshell_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: resmoke_tests_TG
distros:
- amazon2023-arm64-latest-m8gd-4xlarge
- name: .development_critical_single_variant !.requires_large_host
- name: .development_critical_single_variant .requires_large_host
distros:
- amazon2023-arm64-latest-xlarge
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- amazon2023-arm64-latest-xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- amazon2023-arm64-latest-xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant
distros:
- amazon2023-arm64-latest-xlarge
- &enterprise-amazon-linux2023-arm64-template
<<: *amazon_linux2023_arm64_static_compile_variant_dependency
name: enterprise-amazon-linux2023-arm64
display_name: "* Amazon Linux 2023 arm64 Enterprise"
tags: ["suggested", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
stepback: true
expansions: &enterprise-amazon-linux2023-arm64-expansions
<<: *amazon_linux2023_arm64_dynamic_expansions
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool,incompatible_with_atlas_environment
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .fuzzer_deterministic
- <<: *enterprise-amazon-linux2023-arm64-template
name: enterprise-amazon-linux2023-arm64-roll-back-incremental-feature-flags
display_name: "Amazon Linux 2023 arm64 Enterprise (roll back incremental feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 1 1-31/2 * *" # For cost reasons, we run this variant every other day
expansions:
<<: *enterprise-amazon-linux2023-arm64-expansions
test_flags: >-
--disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool,incompatible_with_atlas_environment
- &commit-queue-variant
name: &commit-queue commit-queue
display_name: "~ Commit Queue"
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter
run_on:
- amazon2023-arm64-latest-m8g-xlarge
stepback: false
paths: *mongo_path_filtering
expansions:
<<: *linux_arm64_generic_expansions
has_packages: false
skip_symbolization: true
evergreen_remote_exec: on
build_timeout_seconds: 1440
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--linkstatic=False
--remote_execution_priority=2
--build_atlas=True
--dtlto=False
--pgo_profile_use=False
clang_tidy_toolchain: v5
compile_variant: *commit-queue
resmoke_tests_tag_filter: ci-development-critical-single-variant
depends_on: []
tasks:
- name: compile_test_parallel_core_stream_and_pretty_printer_tests_TG
distros:
- amazon2023-arm64-latest-m8g-12xlarge-commitqueue
- name: compile_all_but_not_unittests_TG
distros:
- amazon2023-arm64-latest-m8g-12xlarge-commitqueue
- name: run_unit_tests_no_rbe_incompatible_TG
distros:
- amazon2023-arm64-latest-m8g-12xlarge-commitqueue
- name: compile_test_parallel_dbtest_stream_TG
distros:
- amazon2023-arm64-latest-m8g-12xlarge-commitqueue
- name: resmoke_tests_TG
distros:
- amazon2023-arm64-latest-m8g-12xlarge-commitqueue
- name: .commit_check
create_check_run:
path_to_outputs: "github_annotations.json"
- name: .development_critical_single_variant !.requires_large_host !.clang_tidy !.no_commit_queue !.monorepo-commit-queue
- name: .development_critical_single_variant .requires_large_host !.clang_tidy !.no_commit_queue !.monorepo-commit-queue
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: .development_critical !.requires_large_host_commit_queue !.no_commit_queue !.monorepo-commit-queue
- name: .development_critical .requires_large_host_commit_queue !.no_commit_queue !.monorepo-commit-queue
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- <<: *commit-queue-variant
name: commit-queue-monorepo
display_name: "~ Commit Queue Monorepo"
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
paths:
- "*"
depends_on: []
tasks:
- name: .monorepo-commit-queue !.requires_large_host
- name: .monorepo-commit-queue .requires_large_host
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- <<: *amazon_linux2023_arm64_static_compile_variant_dependency
name: amazon-linux2023-arm64-try-sbe-engine
display_name: "Amazon Linux 2023 arm64 Atlas Enterprise Query Patch Only (trySbeEngine)"
tags: []
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- amazon2023-arm64-latest-m8g-xlarge
stepback: true
expansions:
<<: *amazon_linux2023_arm64_dynamic_expansions
has_packages: false
jstestfuzz_num_generated_files: 20
jstestfuzz_concurrent_num_files: 5
target_resmoke_time: 30
max_sub_suites: 3
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: trySbeEngine}"
--excludeWithAnyTags=resource_intensive
tasks:
- name: aggregation_mongos_passthrough
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: aggregation_sharded_collections_passthrough
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: aggregation_one_shard_sharded_collections
- name: aggregation
- name: aggregation_disabled_optimization
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: jsCore
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: jsCore_min_batch_repeat_queries_multiplan_single_solutions_ese_gsm
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: replica_sets_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_replica_sets_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_gen
- name: aggregation_repeat_queries_multiplan_single_solutions
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *amazon_linux2023_arm64_static_compile_variant_name
- name: multiversion_gen
- name: .multiversion_sanity_check
- name: clustered_collection_passthrough_gen
- name: concurrency_gen
- name: concurrency_replication_gen
- name: concurrency_sharded_replication_gen
- name: .fuzzer_deterministic
- name: amazon2023-arm64-grav4
display_name: "Amazon Linux 2023 arm64 Graviton 4"
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023-arm64-latest-small-m8g
expansions:
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source
--modules=none
has_packages: false
repo_edition: org
large_distro_name: amazon2023-arm64-latest-large-m8g
core_analyzer_distro_name: amazon2023-arm64-latest-large-m8g
compile_variant: amazon2023-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2023-arm64-latest-large-m8g
- name: run_unit_tests_TG
distros:
- amazon2023-arm64-latest-large-m8g
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- amazon2023-arm64-latest-large-m8g
- name: .release_critical !.requires_large_host !.incompatible_community !.publish
- name: .release_critical .requires_large_host !.incompatible_community !.publish
distros:
- amazon2023-arm64-latest-large-m8g
- name: &al2023-arm64-sep-benchmark al2023-arm64-sep-benchmark
display_name: "! AL2023.3 arm64 Enterprise (SEP Benchmark)"
tags: ["required"]
activate: true
paths: *mongo_path_filtering
run_on:
- amazon2023.3-arm64-m6g-4xlarge
expansions:
build_timeout_seconds: 900
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
--dbg_level=1
--separate_debug=False
evergreen_remote_exec: on
compile_variant: *al2023-arm64-sep-benchmark
tasks:
- name: .benchmarks_sep
- name: enterprise-amazon2023-arm64-grav4
display_name: "Enterprise Amazon Linux 2023 arm64 Graviton 4"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023-arm64-latest-small-m8g
expansions:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source
has_packages: false
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
repo_edition: enterprise
compile_variant: enterprise-amazon2023-arm64-grav4
core_analyzer_distro_name: amazon2023-arm64-latest-large-m8g
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2023-arm64-latest-large-m8g
- name: run_unit_tests_TG
distros:
- amazon2023-arm64-latest-large-m8g
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- amazon2023-arm64-latest-large-m8g
- name: .release_critical !.requires_large_host !.publish !.publish_crypt
- name: .release_critical .requires_large_host !.publish !.publish_crypt
distros:
- amazon2023-arm64-latest-large-m8g
- name: amazon2023-x86-compile
display_name: "* Compile Amazon Linux 2023 x86 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
build_arch: x86_64
compile_variant: amazon2023-x86-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
--remote_execution_priority=1
evergreen_remote_exec: on
skip_debug_link: true
run_on:
- amazon2023.3-xlarge
tasks:
- name: compile_and_package_serial_no_unittests_TG
- name: package_supplementary_data
- name: amazon2023-x86-mongocrypt-shlib-compile
display_name: "* Compile mongo_crypt_v1.so Amazon Linux 2023 x86 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
build_arch: x86_64
compile_variant: amazon2023-x86-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
evergreen_remote_exec: on
run_on:
- amazon2023.3-xlarge
tasks:
- name: .crypt
- name: amazon2023-arm64-atlas-compile
display_name: "* Compile Atlas Amazon Linux 2023 arm64 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
compile_variant: amazon2023-arm64-atlas-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
--build_atlas=True
--remote_execution_priority=1
evergreen_remote_exec: on
skip_debug_link: true
run_on:
- amazon2023.3-arm64-xlarge
tasks:
- name: compile_and_package_serial_no_unittests_TG
- name: package_supplementary_data
- name: amazon2023-arm64-compile
display_name: "* Compile Amazon Linux 2023 arm64 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
build_arch: aarch64
compile_variant: amazon2023-arm64-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
--remote_execution_priority=1
evergreen_remote_exec: on
skip_debug_link: true
# BOLT requires the binaries to be publicly accessible
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
run_on:
- amazon2023.3-arm64-xlarge
tasks:
- name: compile_and_package_serial_no_unittests_TG
- name: package_supplementary_data
- name: upload_pgo_bolt_data_TG
- name: amazon2023-arm64-mongocrypt-shlib-compile
display_name: "* Compile mongo_crypt_v1.so Amazon Linux 2023 arm64 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
compile_variant: amazon2023-arm64-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
evergreen_remote_exec: on
run_on:
- amazon2023.3-arm64-xlarge
tasks:
- name: .crypt
- name: amazon2023-x86-streams-compile
display_name: "* Compile Streams Amazon Linux 2023 x86 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
compile_variant: amazon2023-x86-streams-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
--streams_release_build=True
skip_debug_link: true
run_on:
- amazon2023.3-xlarge
tasks:
- name: compile_and_package_serial_no_unittests_TG
- name: package_supplementary_data
- name: amazon2023-arm64-streams-compile
display_name: "* Compile Streams Amazon Linux 2023 arm64 for sys-perf"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
expansions:
<<: *sys_perf_compile_expansions
compile_variant: amazon2023-arm64-streams-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--release=True
--streams_release_build=True
skip_debug_link: true
run_on:
- amazon2023.3-arm64-xlarge
tasks:
- name: compile_and_package_serial_no_unittests_TG
- name: package_supplementary_data

View File

@ -1,725 +0,0 @@
# Amazon build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux-arm64-dynamic-compile-params # Essential set of compile parameters used for Linux dev variants.
run_on:
- amazon2023-arm64-latest-m8g-4xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
stepback: false
- &linux-arm64-dynamic-enterprise-compile-expansions
has_packages: false
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--dtlto=False
--pgo_profile_use=False
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &amazon_linux2023_arm64_static_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &amazon_linux2023_arm64_static_compile_variant_name amazon-linux2023-arm64-static-compile
- name: archive_jstestshell
variant: *amazon_linux2023_arm64_static_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: amazon-linux2023-arm64-static-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_arm64_generic_expansions
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: enterprise
large_distro_name: amazon2023-arm64-atlas-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/amazon/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/amazon/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &amazon_linux2023_arm64_dynamic_expansions
<<: *linux_arm64_generic_expansions
compile_variant: *amazon_linux2023_arm64_static_compile_variant_name
buildvariants:
- <<: *linux-arm64-dynamic-compile-params
name: &amazon-linux2023-arm64-stitch-compile amazon-linux2023-arm64-stitch-compile
display_name: "* Amazon Linux 2023 arm64 Enterprise Stitch Compile"
tags: ["suggested", "bazel_check"]
expansions:
<<: *linux-arm64-dynamic-enterprise-compile-expansions
compile_variant: *amazon-linux2023-arm64-stitch-compile
tasks:
- name: .stitch
# Caching is purposefully disabled on this variant so we can benchmark consistent build times.
- name: &amazon-linux2023-arm64-local-compile amazon-linux2023-arm64-local-compile
display_name: "Amazon Linux 2023 arm64 Local Compile"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023-arm64-latest-m8g-4xlarge
expansions:
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--config=local
--disable_streams=True
compile_variant: *amazon-linux2023-arm64-local-compile
tasks:
- name: run_unit_tests_TG
- name: compile_test_parallel_core_stream_TG
# Note that this task is currently optional;
# This will eventually become suggested, then required.
- name: &rhel81-ppc64le-bazel-compile rhel81-ppc64le-bazel-compile
display_name: "RHEL 8.1 PPC64LE Bazel Compile"
tags: ["bazel_check"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel81-power8-large
stepback: false
expansions:
compile_variant: *rhel81-ppc64le-bazel-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel81
test_flags: >-
--excludeWithAnyTags=incompatible_ppc
tasks:
- name: compile_bazel_TG
# Note that this task is currently optional;
# This will eventually become suggested, then required.
- name: &rhel83-s390x-bazel-compile rhel83-s390x-bazel-compile
display_name: "RHEL 8.3 S390X Bazel Compile"
tags: ["bazel_check"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel83-zseries-large
stepback: false
expansions:
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
compile_variant: *rhel83-s390x-bazel-compile
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel83
tasks:
- name: compile_bazel_TG
- &enterprise-amazon-linux2023-arm64-all-feature-flags-template
<<: *amazon_linux2023_arm64_static_compile_variant_dependency
name: enterprise-amazon-linux2023-arm64-all-feature-flags
display_name: "! Amazon Linux 2023 arm64 Atlas Enterprise (all feature flags)"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
stepback: true
expansions: &amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
<<: *amazon_linux2023_arm64_dynamic_expansions
tss_enabled: false
large_distro_name: amazon2023-arm64-atlas-latest-m8g-2xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-m8g-2xlarge
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment,m8g_incompatible
tasks:
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-2xlarge
- name: .release_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-2xlarge
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-2xlarge
- name: .fuzzer_deterministic
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-extra-system-deps
display_name: "! Amazon Linux 2023 arm64 Atlas Enterprise (all feature flags, extra system deps)"
modules: ["asp-js-engine"]
run_on:
- amazon2023-arm64-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
large_distro_name: amazon2023-arm64-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-latest-xlarge
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source
tasks:
- name: .requires_extra_system_deps .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .requires_extra_system_deps .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: .requires_extra_system_deps .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .requires_extra_system_deps .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: .requires_extra_system_deps .default !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .requires_extra_system_deps .default .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: query_golden_disagg_gen
- name: query_golden_sharding_disagg_gen
- name: streams_build_only_gen
- name: no_passthrough_disagg_override_gen
- name: amazon-linux2023-arm64-tests-lto-pgo-bolt
display_name: "Amazon Linux 2023 arm64 Atlas Enterprise (all feature flags) LTO/PGO/BOLT"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 4 * * *" # Every day at 04:00
depends_on:
- name: archive_dist_test
variant: amazon-linux2023-arm64-lto-pgo-bolt
- name: archive_jstestshell
variant: amazon-linux2023-arm64-lto-pgo-bolt
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
stepback: true
expansions:
compile_variant: amazon-linux2023-arm64-lto-pgo-bolt
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: enterprise
large_distro_name: amazon2023-arm64-atlas-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment
tasks:
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .release_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .default !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
- name: .default !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .fuzzer_deterministic
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-non-rollback-feature-flags
display_name: "Amazon Linux 2023 arm64 Enterprise (all non-rollback feature flags)"
tags: []
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
large_distro_name: amazon2023-arm64-atlas-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
test_flags: >-
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.requires_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.requires_all_feature_flags
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.requires_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.requires_all_feature_flags
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.requires_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.requires_all_feature_flags
distros:
- amazon2023-arm64-latest-m8g-4xlarge
- name: .fuzzer_deterministic
# TODO SERVER-67034: remove this variant.
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2-arm64-all-feature-flags-sbe-full
display_name: "Amazon Linux 2023 arm64 Atlas Enterprise SBE full"
tags: ["experimental"]
cron: "0 0 * * *" # Run once a day.
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
large_distro_name: amazon2023-arm64-atlas-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
test_flags: >-
--additionalFeatureFlags "featureFlagSbeFull"
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags !.multiversion !.suggested_excluding_required__for_devprod_mitigation_only
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags !.multiversion !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags !.multiversion !.suggested_excluding_required__for_devprod_mitigation_only
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags !.multiversion !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags !.multiversion !.suggested_excluding_required__for_devprod_mitigation_only
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags !.multiversion !.suggested_excluding_required__for_devprod_mitigation_only
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .fuzzer_deterministic
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-fuzzers
display_name: "*| Amazon Linux 2023 arm64 Enterprise (all feature flags) Fuzzers"
tags: ["suggested"]
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
large_distro_name: amazon2023-arm64-atlas-latest-m8g-2xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
tasks: &fuzzers-task-list
- name: .aggfuzzer
- name: .change_stream_fuzzer
- name: .config_fuzzer .suggested_excluding_required__for_devprod_mitigation_only
- name: .query_fuzzer
- name: .updatefuzzer
- name: .jstestfuzz
- name: .query_shape_hash_stability_fuzzer
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-non-rollback-feature-flags-fuzzers
display_name: "Amazon Linux 2023 arm64 Enterprise (all non-rollback feature flags) Fuzzers"
tags: []
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
large_distro_name: amazon2023-arm64-atlas-latest-m8g-4xlarge
core_analyzer_distro_name: amazon2023-arm64-atlas-latest-xlarge
test_flags: >-
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment
tasks: *fuzzers-task-list
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-cluster-scalability-only
display_name: "*| Amazon Linux 2023 arm64 Enterprise (all feature flags) Cluster Scalability Patch Only"
tags: ["cluster_scalability_only", "suggested"]
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
tasks:
- name: .cluster_scalability_only
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-execution-control-with-prioritization
display_name: "*| Amazon Linux 2023 arm64 Enterprise (all feature flags) Execution Control with Prioritization Tasks"
tags: ["suggested"]
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
tasks:
- name: .execution_control_with_prioritization
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-magic-restore
display_name: "*| Amazon Linux 2023 arm64 Enterprise (all feature flags) Magic Restore Tasks"
tags: ["suggested"]
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
tasks:
- name: .magic_restore
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-non-rollback-feature-flags-magic-restore
display_name: "Amazon Linux 2023 arm64 Enterprise (all non-rollback feature flags) Magic Restore Tasks"
tags: []
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
test_flags: >-
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment
tasks:
- name: .magic_restore
- name: &al2023-arm64-benchmarks al2023-arm64-benchmarks
display_name: "* AL2023 arm64 (Benchmarks)"
tags: ["suggested"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023.3-arm64-m6g-4xlarge
expansions:
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--dbg_level=1
--separate_debug=False
evergreen_remote_exec: on
compile_variant: *al2023-arm64-benchmarks
tasks:
- name: compile_upload_benchmarks_TG
distros:
- amazon2023.3-arm64-m6g-4xlarge
- name: .benchmarks
### Query Patch-Specific Build Variants ###
- <<: *amazon_linux2023_arm64_static_compile_variant_dependency
name: amazon_linux2023_arm64_static-classic-engine-query-patch-only
display_name: "~ Amazon Linux 2023 arm64 Enterprise Query Patch Only (Classic Engine)"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
stepback: false
expansions:
<<: *amazon_linux2023_arm64_dynamic_expansions
has_packages: false
jstestfuzz_num_generated_files: 20
jstestfuzz_concurrent_num_files: 5
target_resmoke_time: 30
max_sub_suites: 3
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: forceClassicEngine}"
--excludeWithAnyTags=resource_intensive,requires_sbe
# This set of tasks is not able to be reused on the all-feature-flags variant. Any changes
# here should be duplicated to
# enterprise-amazon-linux2023-arm64-all-feature-flags-required-query-patch-only.
tasks:
- name: .assigned_to_jira_team_server_query_execution !.requires_extra_system_deps !.requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias !.requires_all_feature_flags !.uwe
- name: .assigned_to_jira_team_server_query_execution !.requires_extra_system_deps .requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias !.requires_all_feature_flags !.uwe
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .assigned_to_jira_team_server_query_optimization !.requires_extra_system_deps !.requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.change_stream_fuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias !.requires_all_feature_flags
- name: .assigned_to_jira_team_server_query_optimization !.requires_extra_system_deps .requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.change_stream_fuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias !.requires_all_feature_flags
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .assigned_to_jira_team_server_query_integration !.requires_extra_system_deps !.requires_large_host !.benchmarks !.blocked_in_query_alias !.requires_all_feature_flags
- name: .assigned_to_jira_team_server_query_integration !.requires_extra_system_deps .requires_large_host !.benchmarks !.blocked_in_query_alias !.requires_all_feature_flags
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *amazon_linux2023_arm64_static_compile_variant_name
- name: check_feature_flag_tags
- name: check_for_todos
- name: test_api_version_compatibility
- name: replica_sets_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough_gen
- name: clustered_collection_passthrough_gen
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: initial_sync_fuzzer_sanity_patch_gen
- name: rollback_fuzzer_sanity_patch_gen
- name: query_golden_cbr_automatic
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_cost_choice_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_cost_choice_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_automatic_cost_choice
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_no_multiplanning_results_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_no_multiplanning_results_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_automatic_no_multiplanning_results
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_heuristic_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_heuristic_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_sampling_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_sampling_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_sampling
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_histogram_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_histogram_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_histogram
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- <<: *amazon_linux2023_arm64_static_compile_variant_dependency
name: amazon_linux2023_arm64_static-try-sbe-engine-query-patch-only
display_name: "~ Amazon Linux 2023 arm64 Enterprise Query Patch Only (Try SBE Engine)"
tags: []
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_dynamic_expansions
has_packages: false
jstestfuzz_num_generated_files: 20
jstestfuzz_concurrent_num_files: 5
target_resmoke_time: 30
max_sub_suites: 3
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: trySbeEngine}"
--excludeWithAnyTags=resource_intensive
tasks:
- name: product_limits
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-required-query-patch-only
display_name: "~ Amazon Linux 2023 arm64 Enterprise Query Patch Only (all feature flags)"
tags: []
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
expansions:
<<: *amazon_linux2023_arm64_dynamic_expansions
tss_enabled: false
has_packages: false
jstestfuzz_num_generated_files: 20
jstestfuzz_concurrent_num_files: 5
target_resmoke_time: 30
max_sub_suites: 3
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=resource_intensive
# This set of tasks is duplicated from amazon_linux2023_arm64_static-classic-engine-query-patch-only.
tasks:
- name: .assigned_to_jira_team_server_query_execution !.requires_extra_system_deps !.requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias !.uwe
- name: .assigned_to_jira_team_server_query_execution !.requires_extra_system_deps .requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias !.uwe
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .assigned_to_jira_team_server_query_optimization !.requires_extra_system_deps !.requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.change_stream_fuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias
- name: .assigned_to_jira_team_server_query_optimization !.requires_extra_system_deps .requires_large_host !.aggfuzzer !.query_fuzzer !.updatefuzzer !.change_stream_fuzzer !.jstestfuzz !.benchmarks !.blocked_in_query_alias
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: .assigned_to_jira_team_server_query_integration !.requires_extra_system_deps !.requires_large_host !.benchmarks !.blocked_in_query_alias
- name: .assigned_to_jira_team_server_query_integration !.requires_extra_system_deps .requires_large_host !.benchmarks !.blocked_in_query_alias
distros:
- amazon2023-arm64-atlas-latest-m8g-4xlarge
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *amazon_linux2023_arm64_static_compile_variant_name
- name: check_feature_flag_tags
- name: check_for_todos
- name: test_api_version_compatibility
- name: replica_sets_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough_gen
- name: noPassthrough_gen
- name: noPassthroughWithMongod_gen
- name: initial_sync_fuzzer_sanity_patch_gen
- name: rollback_fuzzer_sanity_patch_gen
- name: query_golden_cbr_automatic
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_cost_choice_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_cost_choice_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_automatic_cost_choice
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_no_multiplanning_results_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_automatic_no_multiplanning_results_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_automatic_no_multiplanning_results
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_heuristic_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_heuristic_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_sampling_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_sampling_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_sampling
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_histogram_jscore_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_cbr_histogram_aggregation_passthrough
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_cbr_histogram
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_join_optimization
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_golden_join_optimization_plan_stability
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_join_optimization_passthrough_gen
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- name: query_join_optimization_no_passthrough_with_mongod_gen
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
- <<: *amazon_linux2023_arm64_static_compile_variant_dependency
name: amazon_linux2023_arm64_static-bulk-batch-write-executor-query-patch-only
display_name: "~ Amazon Linux 2023 arm64 Enterprise Query Patch Only (Batch/Bulk Write Executor)" # TODO SERVER-109104: Delete this variant.
tags: ["experimental"]
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_dynamic_expansions
has_packages: false
evergreen_remote_exec: on
target_resmoke_time: 30
max_sub_suites: 3
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
test_flags: >-
--runAllFeatureFlagTests
--mongodSetParameters="{featureFlagUnifiedWriteExecutor: false}"
--mongosSetParameters="{featureFlagUnifiedWriteExecutor: false}"
tasks:
- name: compile_integration_and_test_parallel_stream_TG
distros:
- amazon2023-arm64-latest-large
- name: run_unit_tests_TG
distros:
- amazon2023-arm64-latest-large
- name: sharding_gen
- name: concurrency_sharded_multi_stmt_txn_gen
- name: concurrency_sharded_multi_stmt_txn_with_balancer_and_config_transitions_and_add_remove_shard_gen
- name: concurrency_sharded_multi_stmt_txn_with_balancer_gen
- name: sharded_jscore_txns
- name: sharded_jscore_txns_sharded_collections
- name: sharded_jscore_txns_without_snapshot
- name: multi_shard_multi_stmt_txn_jscore_passthrough_gen
- name: multi_shard_multi_stmt_txn_kill_primary_jscore_passthrough_gen
- name: concurrency_sharded_causal_consistency_gen
- name: concurrency_sharded_causal_consistency_and_balancer_gen
- name: sharded_causally_consistent_jscore_passthrough_gen
- name: sharded_causally_consistent_jscore_txns_passthrough
- name: sharded_causally_consistent_read_concern_snapshot_passthrough_gen
- name: sharded_multi_stmt_txn_jscore_passthrough_gen
- name: bulk_write_multi_op_sharded_collections_jscore_passthrough_gen
- name: bulk_write_sharded_collections_jscore_passthrough_gen
- name: bulk_write_sharded_multi_stmt_txn_jscore_passthrough_gen
- name: concurrency_sharded_replication_gen
- name: concurrency_sharded_replication_with_balancer_gen
- name: sharded_collections_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: sharding_jscore_passthrough_with_balancer_gen
- name: fle2_sharding
- name: fle2_sharding_high_cardinality
- name: sharding_legacy_timeseries_no_rawdata_gen
- name: sharding_jscore_passthrough_legacy_timeseries_no_rawdata_gen
- name: concurrency_sharded_initial_sync_gen
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *amazon_linux2023_arm64_static_compile_variant_name
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-with-extensions
display_name: "Amazon Linux 2023 arm64 Enterprise with Extensions (all feature flags)"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment,incompatible_with_extensions,m8g_incompatible
--loadAllExtensions
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.multiversion
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.multiversion
distros:
- amazon2023-arm64-latest-m8g-2xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.multiversion
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.multiversion
distros:
- amazon2023-arm64-latest-m8g-2xlarge
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.multiversion
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.multiversion
distros:
- amazon2023-arm64-latest-m8g-2xlarge
- name: .fuzzer_deterministic !.multiversion
- <<: *enterprise-amazon-linux2023-arm64-all-feature-flags-template
name: enterprise-amazon-linux2023-arm64-all-feature-flags-with-replicated-size-and-count
display_name: "Amazon Linux 2023 arm64 Enterprise (all feature flags) with replicated size and count"
tags: []
cron: "0 1 * * *" # Run daily once at 4am.
run_on:
- amazon2023-arm64-atlas-latest-m8g-xlarge
expansions:
<<: *amazon_linux2023_arm64_all_feature_flags_dynamic_expansions
tss_enabled: false
test_flags: >-
--runAllFeatureFlagTests
--additionalFeatureFlags=featureFlagReplicatedFastCount
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source,incompatible_with_atlas_environment,m8g_incompatible,disables_test_commands
tasks:
- name: concurrency_gen
- name: concurrency_replication_gen
- name: concurrency_sharded_replication_gen
- name: concurrency_sharded_replication_primary_driven_index_builds_gen
- name: replica_sets_jscore_passthrough_gen
- name: replica_sets_jscore_passthrough_primary_driven_index_builds_gen
- name: replica_sets_uninitialized_fcv_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: jsCore
- name: jsCore_txns

View File

@ -1,539 +0,0 @@
# Amazon build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: amazon2
display_name: "Amazon Linux 2"
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2-latest-small
expansions:
# TODO SERVER-119677: Remove use_python310 once Amazon2 sqlite is upgraded
use_python310: true
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source
--modules=none
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-amazon2
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2
--build_enterprise=False
--disable_streams=True
compile_all_but_not_unittests_flags: >-
--linkopt=-s
multiversion_platform: amazon2
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: amazon2
repo_edition: org
large_distro_name: amazon2-latest-large
compile_variant: amazon2
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2-latest-large
- name: run_unit_tests_TG
distros:
- amazon2-latest-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.incompatible_community !.requires_large_host
- name: .development_critical !.incompatible_community .requires_large_host
distros:
- amazon2-latest-large
- name: .release_critical !.incompatible_community !.requires_large_host
- name: .release_critical !.incompatible_community .requires_large_host
distros:
- amazon2-latest-large
- name: enterprise-amazon2
display_name: "Enterprise Amazon Linux 2"
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2-latest-small
tags: ["emergency_release"]
expansions:
# TODO SERVER-119677: Remove use_python310 once Amazon2 sqlite is upgraded
use_python310: true
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-amazon2
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2
--disable_streams=True
compile_all_but_not_unittests_flags: >-
--linkopt=-s
multiversion_platform: amazon2
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon2
repo_edition: enterprise
compile_variant: enterprise-amazon2
core_analyzer_distro_name: amazon2-latest-large
large_distro_name: amazon2-latest-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2-latest-c6i-32xlarge
- name: run_unit_tests_TG
distros:
- amazon2-latest-c6i-32xlarge
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- amazon2-latest-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- amazon2-latest-large
- name: amazon2-arm64
display_name: "Amazon Linux 2 arm64"
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2-arm64-latest-m8g-xlarge
expansions:
# TODO SERVER-119677: Remove use_python310 once Amazon2 sqlite is upgraded
use_python310: true
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source
--modules=none
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-amazon2
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2
--build_enterprise=False
--disable_streams=True
compile_all_but_not_unittests_flags: >-
--linkopt=-s
multiversion_platform: amazon2
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: amazon2
repo_edition: org
large_distro_name: amazon2-arm64-latest-m8g-4xlarge
compile_variant: amazon2-arm64
tasks:
- name: compile_test_and_package_serial_no_unittests_TG
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .development_critical !.incompatible_community !.requires_large_host
- name: .development_critical !.incompatible_community .requires_large_host
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: .release_critical !.incompatible_community !.requires_large_host
- name: .release_critical !.incompatible_community .requires_large_host
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: enterprise-amazon2-arm64
display_name: "Enterprise Amazon Linux 2 arm64"
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2-arm64-latest-m8g-xlarge
tags: ["emergency_release"]
expansions:
# TODO SERVER-119677: Remove use_python310 once Amazon2 sqlite is upgraded
use_python310: true
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
test_flags: >-
--excludeWithAnyTags=SERVER-34286,incompatible_with_amazon_linux,requires_external_data_source,requires_ldap_pool
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-amazon2
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2
--disable_streams=True
compile_all_but_not_unittests_flags: >-
--linkopt=-s
multiversion_platform: amazon2
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: amazon2
repo_edition: enterprise
compile_variant: enterprise-amazon2-arm64
core_analyzer_distro_name: amazon2-arm64-latest-m8g-4xlarge
large_distro_name: amazon2-arm64-latest-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_no_unittests_TG
distros:
- amazon2-arm64-latest-m8g-16xlarge
- name: run_unit_tests_TG
distros:
- amazon2-arm64-latest-m8g-16xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: amazon2023
display_name: Amazon Linux 2023.3
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023.3-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-amazon2023
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source
--modules=none
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: amazon2023
repo_edition: org
large_distro_name: amazon2023.3-large
compile_variant: amazon2023
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2023.3-large
- name: run_unit_tests_TG
distros:
- amazon2023.3-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- amazon2023.3-large
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- amazon2023.3-large
- name: enterprise-amazon2023
display_name: "Enterprise Amazon Linux 2023.3"
tags: ["forbid_tasks_tagged_with_experimental", "emergency_release"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023.3-small
expansions:
additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-amazon2023
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source
has_packages: true
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: x86_64
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon2023
repo_edition: enterprise
compile_variant: enterprise-amazon2023
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2023.3-xlarge
- name: run_unit_tests_TG
distros:
- amazon2023.3-xlarge
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- amazon2023.3-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- amazon2023.3-large
# TODO(SERVER-85904): Enable when Bazel supports --link-model=object.
# This variant is a special variant to test Link Time Optimization (LTO).
# - name: enterprise-amazon2023-lto
# display_name: "Enterprise Amazon Linux 2023 LTO"
# tags: []
# cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
# run_on:
# - amazon2023.3-small
# expansions:
# additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
# bazel_compile_flags: >-
# --define=MONGO_DISTMOD=amazon2023
# --lto
# --linker=gold
# --link-model=object
# test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source
# has_packages: true
# packager_script: packager_enterprise.py
# packager_arch: x86_64
# packager_distro: amazon2023
# multiversion_platform: amazon2023
# multiversion_edition: enterprise
# multiversion_architecture: x86_64
# repo_edition: enterprise
# compile_variant: enterprise-amazon2023-lto
# large_distro_name: amazon2023.3-large
# tasks:
# - name: compile_test_and_package_serial_lto_no_unittests_TG
# distros:
# - amazon2023.3-large
# # TODO: SERVER-79886 Fix broken test_packages task
# # - name: test_packages
# # distros:
# # - amazon2023.3-large
# - name: .development_critical !.requires_large_host
# - name: .development_critical .requires_large_host
# distros:
# - amazon2023.3-large
# - name: .release_critical !.requires_large_host !publish_packages !push !crypt_push
# - name: .release_critical .requires_large_host !publish_packages !push !crypt_push
# distros:
# - amazon2023.3-large
- name: amazon2023-arm64
display_name: Amazon Linux 2023.3 arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023.3-arm64-m8g-xlarge
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-amazon2023
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source
--modules=none
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: org
large_distro_name: amazon2023.3-arm64-m8g-4xlarge
compile_variant: amazon2023-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- amazon2023.3-arm64-m8g-4xlarge
- &enterprise-amazon2023-arm64-template
name: &enterprise-amazon2023-arm64 enterprise-amazon2023-arm64
display_name: "Enterprise Amazon Linux 2023.3 arm64"
tags: ["forbid_tasks_tagged_with_experimental", "emergency_release"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- amazon2023.3-arm64-m8g-xlarge
expansions: &enterprise-amazon2023-arm64-dynamic-expansions
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-amazon2023
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source
has_packages: true
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: enterprise
compile_variant: *enterprise-amazon2023-arm64
large_distro_name: amazon2023.3-arm64-m8g-4xlarge
core_analyzer_distro_name: amazon2023.3-arm64-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- amazon2023.3-arm64-xxxlarge
- name: run_unit_tests_TG
distros:
- amazon2023.3-arm64-xxlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- amazon2023.3-arm64-m8g-4xlarge
# TODO(SERVER-85904): Enable when Bazel supports --link-model=object.
# This variant is a special variant to test Link Time Optimization (LTO).
# - name: enterprise-amazon2023-arm64-lto
# display_name: "Enterprise Amazon Linux 2023 arm64 LTO"
# tags: []
# cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
# activate: false
# run_on:
# - amazon2023.3-arm64-small
# expansions:
# additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
# bazel_compile_flags: >-
# --define=MONGO_DISTMOD=amazon2023
# --lto
# --linker=gold
# --link-model=object
# test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source
# has_packages: true
# multiversion_platform: amazon2023
# multiversion_edition: enterprise
# multiversion_architecture: aarch64
# packager_script: packager_enterprise.py
# packager_arch: aarch64
# packager_distro: amazon2023
# repo_edition: enterprise
# compile_variant: enterprise-amazon2023-arm64-lto
# large_distro_name: amazon2023.3-arm64-large
# tasks:
# - name: compile_test_and_package_serial_lto_no_unittests_TG
# distros:
# - amazon2023.3-arm64-large
# # TODO: SERVER-79886 Fix broken test_packages task
# # - name: test_packages
# # distros:
# # - ubuntu2204-arm64-large
# - name: .development_critical !.requires_large_host
# - name: .development_critical .requires_large_host
# distros:
# - amazon2023.3-arm64-large
# - name: .release_critical !.requires_large_host !publish_packages !push !crypt_push
# - name: .release_critical .requires_large_host !publish_packages !push !crypt_push
# distros:
# - amazon2023.3-arm64-large
- &enterprise-amazon2023-arm64-fuzzers-template
<<: *enterprise-amazon2023-arm64-template
name: enterprise-amazon2023-arm64-fuzzers
display_name: "Enterprise Amazon Linux 2023.3 arm64 Fuzzers"
tags: []
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: archive_dist_test
variant: *enterprise-amazon2023-arm64
tasks:
- name: .aggfuzzer !.multiversion
- name: .change_stream_fuzzer
- name: .query_fuzzer
- name: .updatefuzzer !.multiversion
- <<: *enterprise-amazon2023-arm64-fuzzers-template
name: enterprise-amazon2023-arm64-fuzzers-roll-back-incremental-feature-flags
display_name: "Enterprise Amazon Linux 2023.3 arm64 Fuzzers (roll back incremental feature flags)"
cron: "0 1 1-31/2 * *" # For cost reasons, we run this variant every other day
tags: []
expansions:
<<: *enterprise-amazon2023-arm64-dynamic-expansions
test_flags: >-
--disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_v4_0,requires_external_data_source

View File

@ -1,6 +0,0 @@
version: 1.0.0
filters:
- "*":
approvers:
- 10gen/devprod-build
- 10gen/devprod-correctness

View File

@ -1,90 +0,0 @@
# Build variants in direct support of Code Coverage
buildvariants:
# Variant to support Code Coverage on arm64
- name: &AL2023-arm64-coverage AL2023-arm64-coverage
display_name: "~ Code Coverage AL2023.3 Arm64"
modules: ["asp-js-engine"]
run_on:
- amazon2023.3-arm64-m8g-4xlarge
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
stepback: false
expansions:
test_flags: --excludeWithAnyTags=resource_intensive,incompatible_with_gcov
bazel_compile_flags: >-
--allocator=system
--opt=off
--dbg=True
--define=MONGO_DISTMOD=amazon2023
--linkstatic=False
--gcov=True
--collect_code_coverage
${coverage_bazel_tags}
large_distro_name: amazon2023.3-arm64-m8g-4xlarge
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
exec_timeout_secs: 32400 # 9 hour timeout
timeout_secs: 18000 # 5 hour idle timeout
gcov_tool: /opt/mongodbtoolchain/v5/bin/llvm-cov gcov
# The gcov instrumentation saves the path the .gcno files were created in as the default path
# for the .gcda files. In Evergreen the path will start with /data/mci/[Hashed ID]/src/... where
# the hashed ID is unique per task run. GCOV_PREFIX_STRIP is the number of directory levels to
# strip from the top of the default path before appending to the GCOV_PREFIX (if any).
gcov_environment: GCOV_PREFIX=$(pwd)/.. GCOV_PREFIX_STRIP=3
compile_variant: *AL2023-arm64-coverage
tasks:
- name: compile_and_package_serial_no_unittests_TG
distros:
- amazon2023.3-arm64-xlarge
# These are carefully and explicitly curated. Do not add more tests/tasks without consulting with DevProd.
# unittests
- name: bazel_coverage
distros:
- amazon2023.3-arm64-xlarge
# jstests
- name: jsCore
- name: fle2
- name: aggregation
- name: change_streams
- name: replica_sets_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough_gen
- name: aggregation_mongos_passthrough
- name: aggregation_sharded_collections_passthrough
- name: change_streams_mongos_sessions_passthrough
- name: fle2_sharding
# All streams jstest tasks excluding some that are not compatible at the moment.
- name: .streams_release_test !streams_aspio_iceberg_large !streams_externaljs
# Variant to support Code Coverage on amd64/x86_64
- name: &rhel-93-64-bit-coverage rhel-93-64-bit-coverage
display_name: "~ Code Coverage RHEL 9.3"
run_on:
- rhel93-medium
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
stepback: false
expansions:
test_flags: --excludeWithAnyTags=resource_intensive,incompatible_with_gcov
bazel_compile_flags: >-
--allocator=system
--gcov=True
--opt=off
--dbg=True
--define=MONGO_DISTMOD=rhel93
--linkstatic=False
${coverage_bazel_tags}
large_distro_name: rhel93-medium
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
exec_timeout_secs: 32400 # 9 hour timeout
timeout_secs: 18000 # 5 hour idle timeout
gcov_tool: /opt/mongodbtoolchain/v5/bin/llvm-cov gcov
# The gcov instrumentation saves the path the .gcno files were created in as the default path
# for the .gcda files. In Evergreen the path will start with /data/mci/[Hashed ID]/src/... where
# the hashed ID is unique per task run. GCOV_PREFIX_STRIP is the number of directory levels to
# strip from the top of the default path before appending to the GCOV_PREFIX (if any).
gcov_environment: GCOV_PREFIX=$(pwd)/.. GCOV_PREFIX_STRIP=3
compile_variant: *rhel-93-64-bit-coverage
tasks:
# These are carefully and explicitly curated. Do not add more tests/tasks without consulting with DevProd.
- name: bazel_coverage
distros:
- rhel93-xlarge

View File

@ -1,83 +0,0 @@
buildvariants:
- name: bv_coverity_analysis
display_name: Coverity Analysis
# Don't run Coverity analysis as part of patch builds
patchable: false
allow_for_git_tag: false
# Don't run Coverity on commits, it will be run only as part of nightly periodic build
activate: false
run_on: ubuntu2404-xlarge
modules:
- devprod_coverity
tasks:
- name: run_coverity
functions:
f_generate_evergreen_bazelrc:
command: subprocess.exec
display_name: "generate evergreen bazelrc"
params:
binary: bash
args:
- "src/evergreen/generate_evergreen_bazelrc.sh"
f_setup_python:
command: subprocess.exec
display_name: "set up venv"
params:
binary: bash
args:
- "src/evergreen/functions/venv_setup.sh"
f_coverity_build:
command: subprocess.exec
display_name: "Coverity build"
params:
binary: bash
args:
- "src/evergreen/coverity_build.sh"
env:
COVERITY_INSTALL_ROOT: ${workdir}/coverity
add_expansions_to_env: true
tasks:
- name: run_coverity
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
tags:
[
"assigned_to_jira_team_devprod_build",
"requires_large_host",
"auxiliary",
"coverity",
"HOT_TASK",
]
exec_timeout_secs: 28800 # Max scan time of 8 hours
commands:
- func: f_clone_source
vars:
module_prefix: ${workdir}/devprodCoveritySrc
module_name: devprod_coverity
# Functions to prepare for Coverity build
- func: f_expansions_write
- func: f_setup_python
- func: f_expansions_write
- func: "get and apply version expansions"
- func: "f_expansions_write"
- func: f_generate_evergreen_bazelrc
- func: f_download_and_extract_coverity
vars:
module_prefix: ${workdir}/devprodCoveritySrc
module_name: devprod_coverity
- func: f_coverity_build
timeout_secs: 10800 # Idle timeout of 3 hours
- func: f_analyze
vars:
module_prefix: ${workdir}/devprodCoveritySrc
module_name: devprod_coverity
timeout_secs: 10800 # Idle timeout of 3 hours
- func: f_commit
vars:
module_prefix: ${workdir}/devprodCoveritySrc
module_name: devprod_coverity

View File

@ -1,108 +0,0 @@
# Debian build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: debian12
display_name: Debian 12
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- debian12-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-debian12
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=debian12
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_updated_oscrypto
--modules=none
multiversion_platform: debian12
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: debian12
repo_edition: org
large_distro_name: debian12-large
compile_variant: debian12
tasks:
- name: compile_test_and_package_serial_TG
distros:
- debian12-large
- name: run_unit_tests_TG
distros:
- debian12-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host !.incompatible_community !.incompatible_debian !.incompatible_oscrypto
- name: .development_critical .requires_large_host !.incompatible_community !.incompatible_debian !.incompatible_oscrypto
distros:
- debian12-large
- name: .release_critical !.requires_large_host !.incompatible_community !.incompatible_debian !.incompatible_oscrypto
- name: .release_critical .requires_large_host !.incompatible_community !.incompatible_debian !.incompatible_oscrypto
distros:
- debian12-large
- name: enterprise-debian12-64
display_name: Enterprise Debian 12
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- debian12-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-debian12
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=debian12
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source,requires_updated_oscrypto
multiversion_platform: debian12
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: debian12
repo_edition: enterprise
large_distro_name: debian12-large
compile_variant: enterprise-debian12-64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- debian12-large
- name: run_unit_tests_TG
distros:
- debian12-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host !.incompatible_debian !.incompatible_oscrypto
- name: .development_critical .requires_large_host !.incompatible_debian !.incompatible_oscrypto
distros:
- debian12-large
- name: .release_critical !.requires_large_host !.incompatible_debian !.incompatible_oscrypto
- name: .release_critical .requires_large_host !.incompatible_debian !.incompatible_oscrypto
distros:
- debian12-large

View File

@ -1,296 +0,0 @@
# IBM build variants for testing release environments
#
# After the branching variants in this file
# should continue to run ONLY on a new LTS release (v7.0, v6.0 etc.) branch projects
# and should NOT run on a new rapid release (v7.1, v7.2 etc.) branch projects
buildvariants:
- &enterprise-rhel-81-ppc64le-template
name: enterprise-rhel-81-ppc64le
display_name: Enterprise RHEL 8.1 PPC64LE
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- rhel81-power8-small
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
stepback: false
expansions: &enterprise-rhel-81-ppc64le-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel81
--compiler_type=gcc
core_analyzer_distro_name: rhel81-power8-large
resmoke_jobs_factor: 0.25
has_packages: true
packager_script: packager_enterprise.py
packager_arch: ppc64le
packager_distro: rhel81
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: ppc64le-enterprise-rhel81
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
repo_edition: enterprise
multiversion_platform: rhel81
multiversion_architecture: ppc64le
multiversion_edition: enterprise
compile_variant: enterprise-rhel-81-ppc64le
timeout_secs: 3600 # 1 hour idle timeout
exec_timeout_secs: 21600 # 6 hours exec timeout
test_flags: --excludeWithAnyTags=incompatible_ppc
tasks:
- name: compile_test_and_package_serial_no_unittests_TG
distros:
- rhel81-power8-large
- name: compile_integration_and_test_no_audit_parallel_stream_TG
distros:
- rhel81-power8-large
- name: .development_critical !.requires_large_host !.incompatible_ppc
- name: .development_critical .requires_large_host !.incompatible_ppc
distros:
- rhel81-power8-large
- name: .release_critical !.requires_large_host !.incompatible_ppc
- name: .release_critical .requires_large_host !.incompatible_ppc
distros:
- rhel81-power8-large
- <<: *enterprise-rhel-81-ppc64le-template
name: enterprise-rhel-81-ppc64le-dynamic
display_name: Enterprise RHEL 8.1 PPC64LE Shared
tags: ["bazel_check"]
expansions:
<<: *enterprise-rhel-81-ppc64le-expansions-template
has_packages: false
bazel_compile_flags: >-
--linkstatic=False
--define=MONGO_DISTMOD=rhel81
--compiler_type=gcc
compile_variant: enterprise-rhel-81-ppc64le-shared
tasks:
- name: compile_test_serial_TG
distros:
- rhel81-power8-large
- name: run_unit_tests_TG
distros:
- rhel81-power8-large
- &enterprise-rhel-9-ppc64le-template
name: enterprise-rhel-9-ppc64le
display_name: Enterprise RHEL 9 PPC64LE
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- rhel9-power-small
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
stepback: false
expansions: &enterprise-rhel-9-ppc64le-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel9
--compiler_type=gcc
core_analyzer_distro_name: rhel9-power-large
resmoke_jobs_factor: 0.25
has_packages: true
packager_script: packager_enterprise.py
packager_arch: ppc64le
packager_distro: rhel9
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: ppc64le-enterprise-rhel9
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
repo_edition: enterprise
multiversion_platform: rhel9
multiversion_architecture: ppc64le
multiversion_edition: enterprise
compile_variant: enterprise-rhel-9-ppc64le
timeout_secs: 3600 # 1 hour idle timeout
exec_timeout_secs: 21600 # 6 hours exec timeout
test_flags: --excludeWithAnyTags=incompatible_ppc
tasks:
- name: compile_test_and_package_serial_no_unittests_TG
distros:
- rhel9-power-large
- name: compile_integration_and_test_no_audit_parallel_stream_TG
distros:
- rhel9-power-large
- name: .development_critical !.requires_large_host !.incompatible_ppc
- name: .development_critical .requires_large_host !.incompatible_ppc
distros:
- rhel9-power-large
- name: .release_critical !.requires_large_host !.incompatible_ppc
- name: .release_critical .requires_large_host !.incompatible_ppc
distros:
- rhel9-power-large
- <<: *enterprise-rhel-9-ppc64le-template
name: enterprise-rhel-9-ppc64le-dynamic
display_name: Enterprise RHEL 9 PPC64LE Shared
tags: ["bazel_check"]
expansions:
<<: *enterprise-rhel-9-ppc64le-expansions-template
has_packages: false
bazel_compile_flags: >-
--linkstatic=False
--define=MONGO_DISTMOD=rhel9
--compiler_type=gcc
compile_variant: enterprise-rhel-9-ppc64le-shared
tasks:
- name: compile_test_serial_TG
distros:
- rhel9-power-large
- name: run_unit_tests_TG
distros:
- rhel9-power-large
- &enterprise-rhel-83-s390x-template
name: enterprise-rhel-83-s390x
display_name: Enterprise RHEL 8.3 s390x
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- rhel83-zseries-small
cron: "0 4 * * 0"
stepback: false
expansions: &enterprise-rhel-83-s390x-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
release_buid: true
test_flags: --excludeWithAnyTags=incompatible_s390x
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel83
--compiler_type=gcc
core_analyzer_distro_name: rhel83-zseries-large
resmoke_jobs_max: 2
has_packages: true
packager_script: packager_enterprise.py
packager_arch: s390x
packager_distro: rhel83
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: s390x-enterprise-rhel83
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
repo_edition: enterprise
multiversion_platform: rhel83
multiversion_architecture: s390x
multiversion_edition: enterprise
compile_variant: enterprise-rhel-83-s390x
exec_timeout_secs: 86400 # 24 hours exec timeout
tasks:
- name: small_compile_test_and_package_serial_no_unittests_TG
distros:
- rhel83-zseries-large
- name: .development_critical !.requires_large_host !.incompatible_s390x
- name: .development_critical .requires_large_host !.incompatible_s390x
distros:
- rhel83-zseries-large
- name: .release_critical !.requires_large_host !.incompatible_s390x
- name: .release_critical .requires_large_host !.incompatible_s390x
distros:
- rhel83-zseries-large
- <<: *enterprise-rhel-83-s390x-template
name: enterprise-rhel-83-s390x-dynamic
display_name: Enterprise RHEL 8.3 s390x Shared
tags: ["bazel_check"]
expansions:
<<: *enterprise-rhel-83-s390x-expansions-template
has_packages: false
bazel_compile_flags: >-
--linkstatic=False
--define=MONGO_DISTMOD=rhel83
--compiler_type=gcc
compile_variant: enterprise-rhel-83-s390x-shared
exec_timeout_secs: 86400 # 24 hours exec timeout
tasks:
- name: compile_test_serial_TG
distros:
- rhel83-zseries-large
- name: run_unit_tests_8_way_split_TG
distros:
- rhel83-zseries-large
- &enterprise-rhel-9-s390x-template
name: enterprise-rhel-9-s390x
display_name: Enterprise RHEL 9 s390x
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- rhel9-zseries-small
cron: "0 4 * * 0"
stepback: false
expansions: &enterprise-rhel-9-s390x-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
release_buid: true
test_flags: --excludeWithAnyTags=incompatible_s390x
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel9
--compiler_type=gcc
core_analyzer_distro_name: rhel9-zseries-large
resmoke_jobs_max: 2
has_packages: true
packager_script: packager_enterprise.py
packager_arch: s390x
packager_distro: rhel9
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: s390x-enterprise-rhel9
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
repo_edition: enterprise
multiversion_platform: rhel9
multiversion_architecture: s390x
multiversion_edition: enterprise
compile_variant: enterprise-rhel-9-s390x
exec_timeout_secs: 86400 # 24 hours exec timeout
tasks:
- name: small_compile_test_and_package_serial_no_unittests_TG
distros:
- rhel9-zseries-large
- name: .development_critical !.requires_large_host !.incompatible_s390x
- name: .development_critical .requires_large_host !.incompatible_s390x
distros:
- rhel9-zseries-large
- name: .release_critical !.requires_large_host !.incompatible_s390x
- name: .release_critical .requires_large_host !.incompatible_s390x
distros:
- rhel9-zseries-large
- <<: *enterprise-rhel-9-s390x-template
name: enterprise-rhel-9-s390x-dynamic
display_name: Enterprise RHEL 9 s390x Shared
tags: ["bazel_check"]
expansions:
<<: *enterprise-rhel-9-s390x-expansions-template
has_packages: false
bazel_compile_flags: >-
--linkstatic=False
--define=MONGO_DISTMOD=rhel9
--compiler_type=gcc
compile_variant: enterprise-rhel-9-s390x-shared
exec_timeout_secs: 86400 # 24 hours exec timeout
tasks:
- name: compile_test_serial_TG
distros:
- rhel9-zseries-large
- name: run_unit_tests_8_way_split_TG
distros:
- rhel9-zseries-large

View File

@ -1,32 +0,0 @@
# MacOS build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: &enterprise-macos-arm64 enterprise-macos-arm64
display_name: "~ Enterprise macOS arm64"
tags: ["bazel_check"]
run_on:
- macos-14-arm64
expansions:
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
compile_variant: *enterprise-macos-arm64
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,slow_on_macos,requires_otel_build
resmoke_jobs_max: 6
tasks:
- name: compile_test_serial_TG
- name: hydrate_all_headers_TG
- name: run_bazel_compiledb
- name: run_unit_tests_8_way_split_TG
- name: audit
- name: auth_audit
- name: fle
- name: fle2
- name: .jscore .common !.decimal !.sharding
- name: replica_sets_auth_gen
- name: sasl
- name: .crypt
- name: run_bazel_TG

View File

@ -1,118 +0,0 @@
# MacOS build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: macos-arm64
display_name: macOS arm64
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-14-arm64
expansions:
test_flags: >-
--excludeWithAnyTags=incompatible_with_macos,requires_external_data_source,requires_otel_build
--modules=none
push_path: osx
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: macos
push_arch: arm64
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: --build_enterprise=False
resmoke_jobs_max: 6
compile_variant: macos-arm64
tasks:
- name: compile_test_and_package_serial_TG
- name: run_unit_tests_8_way_split_TG
- name: .development_critical !.incompatible_community !.incompatible_mac
- name: .release_critical !.incompatible_community !.incompatible_mac !publish_packages
- name: ssl_linear_macos
- name: enterprise-macos-arm64
display_name: Enterprise macOS arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-14-arm64
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_external_data_source,requires_otel_build
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: osx
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: macos
push_arch: arm64-enterprise
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
resmoke_jobs_max: 6
compile_variant: enterprise-macos-arm64
tasks:
- name: compile_test_and_package_serial_TG
- name: run_unit_tests_8_way_split_TG
- name: .development_critical !.incompatible_mac
- name: .release_critical !.incompatible_mac !publish_packages
- name: ssl_linear_macos
- name: macos
display_name: macOS
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-14
expansions:
test_flags: >-
--excludeWithAnyTags=incompatible_with_macos,requires_external_data_source,requires_otel_build
--modules=none
push_path: osx
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: macos
push_arch: x86_64
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: --build_enterprise=False
resmoke_jobs_max: 6
compile_variant: macos
tasks:
- name: compile_test_and_package_serial_TG
- name: run_unit_tests_8_way_split_TG
- name: .development_critical !.incompatible_community !.incompatible_mac
- name: .release_critical !.incompatible_community !.incompatible_mac !publish_packages
- name: ssl_linear_macos
- name: enterprise-macos
display_name: Enterprise macOS
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-14
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_external_data_source,requires_otel_build
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: osx
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: macos
push_arch: x86_64-enterprise
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
resmoke_jobs_max: 6
compile_variant: enterprise-macos
tasks:
- name: compile_test_and_package_serial_TG
- name: run_unit_tests_8_way_split_TG
- name: .development_critical !.incompatible_mac
- name: .release_critical !.incompatible_mac !publish_packages
- name: ssl_linear_macos

View File

@ -1,5 +0,0 @@
version: 2.0.0
filters:
- "*":
approvers:
- 10gen/devprod-correctness

View File

@ -1,140 +0,0 @@
# Miscellaneous build variants
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: run-all-affected-jstests
display_name: "! Run All Affected JStests"
tags: ["required"]
patch_only: true
run_on:
- rhel8.8-medium
expansions:
large_distro_name: rhel8.8-large
core_analyzer_distro_name: rhel8.8-xlarge
burn_in_tag_include_all_required_and_suggested: true
burn_in_tag_exclude_build_variants: >-
macos-debug-suggested
ubuntu2204-arm64-bazel-compile
burn_in_tag_include_build_variants: >-
enterprise-rhel-8-64-bit-inmem
enterprise-rhel-8-64-bit-multiversion
amazon-linux2023-arm64-try-sbe-engine
amazon_linux2023_arm64_static-classic-engine-query-patch-only
burn_in_tag_compile_task_dependency: archive_dist_test
compile_variant: &amazon_linux2023_arm64_static_compile_variant_name amazon-linux2023-arm64-static-compile
depends_on:
- name: archive_dist_test
variant: *amazon_linux2023_arm64_static_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: version_burn_in_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
tasks:
- name: burn_in_tags_gen
- name: test-release
display_name: "Test Release"
# tasks may use "Admin Only" variables, so patch runs may only succeed for admins
allowed_requesters: ["commit", "patch"]
tags: ["assigned_to_jira_team_devprod_release_infrastructure"]
activate: true
run_on: ubuntu2404-small
modules:
- devprod_coverity
tasks:
- name: publish-sast-report
- name: test-release-sbom
activate: false
display_name: "Test Release SBOM Upload"
# The build variant is aimed for publish-augmented-sbom task testing.
# For end-to-end tests:
## - Create new test branch from 10gen/mongo
## - Change SilkBomb branch argument to the new test branch in the task.
## - Cleanup results in DependencyTracker.
# Note: The task may use "Admin Only" variables, so patch runs may only succeed for Evergreen Project admins
allowed_requesters: ["patch"]
tags: ["assigned_to_jira_team_platsec_ssdlc"]
run_on: ubuntu2404-small
modules:
- devprod_coverity
tasks:
- name: publish-augmented-sbom
- name: promote-custom-build
display_name: "Promote Custom Build"
activate: false
allowed_requesters: ["patch"]
tasks:
- name: promote_custom_build
- name: promote-sys-perf-build
display_name: "Promote Sys-perf Build"
activate: false
allowed_requesters: ["patch"]
tasks:
- name: promote_sys_perf_build
- name: copybara-sync-between-repos
display_name: "* Copybara Sync Between Repos"
tags: ["suggested"]
activate: true
run_on:
- ubuntu2204-small
stepback: false
tasks:
- name: sync_repo_with_copybara
priority: 50
- name: devcontainer-ubuntu
display_name: "Devcontainer Test (ubuntu2204)"
tags:
["assigned_to_jira_team_devprod_correctness", "auxiliary", "devcontainer"]
activate: true
paths:
- ".devcontainer/**"
- "evergreen/devcontainer*.sh"
- "poetry_requirements.txt"
run_on:
- ubuntu2204-large
tasks:
- name: devcontainer_test
- name: create_sbom_and_pr
display_name: "Generate SBOM files and create PR"
tags: ["assigned_to_jira_team_platsec_ssdlc"]
# Don't run as part of patch builds
patchable: false
# Run at 6 am UTC Mon-Fri
cron: "0 6 * * 1-5"
run_on: rhel92-small
expansions:
ENDOR_NAMESPACE: mongodb.10gen
BRANCH_FILTER: master|v[0-9]+\.[0-9]+-staging
stepback: false
tasks:
- name: update_sbom
- name: upload-sbom-if-changed
display_name: "Upload SBOM if changed"
allowed_requesters: ["commit"]
expansions:
BRANCH_FILTER: master|v[0-9]+\.[0-9]+-staging
SBOM_REPO_PATH: &sbom_file sbom.private.json
paths:
- *sbom_file
tags: ["assigned_to_jira_team_platsec_ssdlc"]
run_on:
- rhel8.8-small
stepback: false
tasks:
- name: upload_sbom_via_silkbomb_if_changed

View File

@ -1,62 +0,0 @@
# Miscellaneous build variants
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: &stm-daily-cron stm-daily-cron
display_name: "* STM Daily Cron"
tags: ["suggested"]
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
expansions:
multiversion_platform: rhel8
multiversion_edition: enterprise
evergreen_remote_exec: on
compile_variant: *stm-daily-cron
stepback: false
tasks:
- name: lint_fuzzer_sanity_all
- name: powercycle_sentinel
- name: powercycle_smoke_skip_compile_gen
- name: monitor_mongo_fork_10gen
- name: package_bazel_rules_mongo
- name: monitor_build_status
distros:
- ubuntu2404-large
- name: check_workstation_setup_script
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: test_copybara_sync
distros:
- ubuntu2204-small
- name: create_todo_tickets
- name: verify_ci_wrapper_coredump
distros:
- amazon2023-arm64-latest-m8g-2xlarge
- name: verify_resmoke_coredump
distros:
- amazon2023-arm64-latest-m8g-2xlarge
- name: merge_queue_metrics_mongo
- name: merge_queue_metrics_mms
# Experimental variant running bazel targets for integration tests. To be removed with SERVER-103537.
- name: bazel-integration-tests
display_name: "~ Bazel Integration Tests"
tags: ["experimental"]
cron: "0 4 * * 0" # Every week starting 0400 UTC Sunday
stepback: false
run_on:
- amazon2023-arm64-latest-m8g-4xlarge
expansions:
compile_variant: bazel-integration-tests
evergreen_remote_exec: on
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
multiversion_link_dir: multiversion_binaries
resmoke_tests_tag_filter: ci-development-critical-single-variant
tasks:
- name: resmoke_tests_TG

View File

@ -1,22 +0,0 @@
# Build variant to generate tasks for evergreen versions.
#
# Updates to this file may also need to appear in etc/system_perf_yml_components/variants/task_generation.yml,
# which is the same but excludes resmoke task generation tasks.
#
variables:
buildvariants:
- name: generate-tasks-for-version
display_name: "! Generate tasks for evergreen version"
tags: ["required"]
activate: true
run_on:
- rhel8.8-medium
modules:
- mothra
tasks:
- name: version_gen
- name: version_burn_in_gen
- name: version_expansions_gen
- name: bazel_result_tasks_gen

View File

@ -1,5 +0,0 @@
version: 1.0.0
filters:
- "*":
approvers:
- 10gen/query-integration-search

View File

@ -1,288 +0,0 @@
buildvariants:
# This variant is responsible for creating a AL2023 x86 server binary candidate for 10gen/mongot.
# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting
# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests.
- name: amazon-linux-2023-x86-mongot-integration-cron-only
display_name: "AL2023 x86 mongot integration tasks cron only"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # Run these tasks every 4 hours
patchable: false
run_on:
- amazon2023.3-small
expansions: &amazon-linux-2023-x86-mongot-integration-expansions
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
build_mongot: true
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source
--runAllFeatureFlagTests
has_packages: false
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: x86_64
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon2023
repo_edition: enterprise
compile_variant: amazon-linux-2023-x86-mongot-integration-cron-only
core_analyzer_distro_name: amazon2023.3-large
tasks: &amazon-linux-2023-x86-mongot-distro-tasks
- name: compile_and_archive_dist_test_TG
distros:
- amazon2023.3-large
# downstream_expansions.set() is noop for evergreen versions, so fine to define in cron-only variants for sake of shared yaml anchor.
- name: set_downstream_expansions_for_mongot
- name: .mongot_e2e_tests !.requires_large_host
- name: .mongot_e2e_tests .requires_large_host
distros:
- amazon2023.3-large
# TODO SERVER-89721 remove search suites that use mongot mock.
- name: search
distros:
- amazon2023.3-large
- name: search_auth
distros:
- amazon2023.3-large
- name: search_community
distros:
- amazon2023.3-large
- name: search_community_ssl
distros:
- amazon2023.3-large
- name: search_no_pinned_connections_auth
- name: search_ssl
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
# This mongot integration variant is identical to the AL2023 x86 above except it is patachable
# and is not configured with any downstream project triggers on 10gen/mongot.
- name: amazon-linux-2023-x86-mongot-integration-patchable
display_name: "AL2023 x86 mongot integration tasks"
tags: ["mongot_e2e"]
patch_only: true
run_on:
- amazon2023.3-large
expansions:
<<: *amazon-linux-2023-x86-mongot-integration-expansions
compile_variant: amazon-linux-2023-x86-mongot-integration-patchable
tasks: *amazon-linux-2023-x86-mongot-distro-tasks
# This variant is responsible for creating a AL2023 arm64 server binary candidate for 10gen/mongot.
# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting
# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests.
- name: amazon2023-arm64-mongot-integration-cron-only
display_name: "AL2023 arm64 mongot integration tasks cron only"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # Run these tasks every 4 hours
patchable: false
run_on:
- amazon2023.3-arm64-m8g-xlarge
expansions: &amazon2023-arm64-mongot-integration-expansions
build_mongot: true
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2023
--build_enterprise=False
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_external_data_source
--modules=none
--runAllFeatureFlagTests
has_packages: false
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: amazon2023
repo_edition: enterprise
compile_variant: amazon2023-arm64-mongot-integration-cron-only
tasks: &amazon2023-arm64-mongot-distro-tasks
- name: compile_and_archive_dist_test_TG
distros:
- amazon2023.3-arm64-m8g-4xlarge
# downstream_expansions.set() is noop for evergreen versions, so fine to define in cron-only variants for sake of shared yaml anchor.
- name: set_downstream_expansions_for_mongot
- name: .mongot_e2e_tests !.requires_large_host
- name: .mongot_e2e_tests .requires_large_host
distros:
- amazon2023.3-arm64-m8g-4xlarge
# TODO SERVER-89721 remove search suites that use mongot mock.
- name: search
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: search_community
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: search_community_ssl
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: search_auth
distros:
- amazon2023.3-arm64-m8g-4xlarge
- name: search_no_pinned_connections_auth
- name: search_ssl
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
# This mongot integration variant is identical to the AL2023 arm64 above except it is patachable
# and is not configured with any downstream project triggers on 10gen/mongot.
- name: amazon2023-arm64-mongot-integration-patchable
display_name: "AL2023 arm64 mongot integration tasks"
tags: ["mongot_e2e"]
patch_only: true
run_on:
- amazon2023.3-arm64-m8g-xlarge
expansions:
<<: *amazon2023-arm64-mongot-integration-expansions
compile_variant: amazon2023-arm64-mongot-integration-patchable
tasks: *amazon2023-arm64-mongot-distro-tasks
# This variant is responsible for creating a AL2 arm64 server binary candidate for 10gen/mongot.
# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting
# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests.
- name: amazon-linux2-arm64-mongot-integration-cron-only
display_name: "AL2 arm64 mongot integration tasks cron only"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # Run these tasks every 4 hours
patchable: false
run_on:
- amazon2-arm64-latest-m8g-xlarge
stepback: true
expansions: &amazon-linux2-arm64-mongot-integration-expansions
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
build_mongot: true
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2
--disable_streams=True
has_packages: false
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
compile_variant: amazon-linux2-arm64-mongot-integration-cron-only
tasks: &amazon-linux2-arm64-mongot-distro-tasks
- name: compile_and_archive_dist_test_TG
distros:
- amazon2-arm64-latest-m8g-4xlarge
# downstream_expansions.set() is noop for evergreen versions, so fine to define in cron-only variants for sake of shared yaml anchor.
- name: set_downstream_expansions_for_mongot
- name: .mongot_e2e_tests !.requires_large_host
- name: .mongot_e2e_tests .requires_large_host
distros:
- amazon2-arm64-latest-m8g-4xlarge
# TODO SERVER-89721 remove search suites that use mongot mock.
- name: search
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: search_auth
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: search_community
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: search_community_ssl
distros:
- amazon2-arm64-latest-m8g-4xlarge
- name: search_no_pinned_connections_auth
- name: search_ssl
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
# This mongot integration variant is identical to the AL2 arm64 above except it is patachable
# and is not configured with any downstream project triggers on 10gen/mongot.
- name: amazon-linux2-arm64-mongot-integration-patchable
display_name: "AL2 arm64 mongot integration tasks"
tags: ["mongot_e2e"]
patch_only: true
run_on:
- amazon2-arm64-latest-m8g-xlarge
stepback: true
expansions:
<<: *amazon-linux2-arm64-mongot-integration-expansions
compile_variant: amazon-linux2-arm64-mongot-integration-patchable
tasks: *amazon-linux2-arm64-mongot-distro-tasks
# This variant is responsible for creating a AL2 x86 server binary candidate for 10gen/mongot.
# A project trigger defined on 10gen/mongot runs when this variant succeeds, to check if the resulting
# binary candidate passes their tests and is therefore safe to use in their pre-commit integration tests
- name: amazon2-x86-mongot-integration-cron-only
display_name: "AL2 x86 mongot integration tasks cron only"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # Run these tasks every 4 hours
patchable: false
run_on:
- amazon2-latest-large
expansions: &amazon2-x86-mongot-integration-expansions
mciuploads_binary_permissions: public-read
mciuploads_binary_visibility: public
build_mongot: true
bazel_compile_flags: >-
--define=MONGO_DISTMOD=amazon2
--disable_streams=True
test_flags: >-
--excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,requires_external_data_source
--runAllFeatureFlagTests
has_packages: false
multiversion_platform: amazon2
multiversion_edition: enterprise
multiversion_architecture: x86_64
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: amazon2
repo_edition: enterprise
compile_variant: amazon2-x86-mongot-integration-cron-only
tasks: &amazon2-x86-mongot-distro-tasks
- name: compile_and_archive_dist_test_TG
distros:
- amazon2-latest-large
# downstream_expansions.set() is noop for evergreen versions, so fine to define in cron-only variants for sake of shared yaml anchor.
- name: set_downstream_expansions_for_mongot
- name: .mongot_e2e_tests
# TODO SERVER-89721 remove search suites that use mongot mock.
- name: search
- name: search_community
- name: search_community_ssl
- name: search_auth
- name: search_no_pinned_connections_auth
- name: search_ssl
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
# This mongot integration variant is identical to the AL2 x86 above except it is patachable
# and is not configured with any downstream project triggers on 10gen/mongot
- name: amazon2-x86-mongot-integration-patchable
display_name: "AL2 x86 mongot integration tasks"
tags: ["mongot_e2e"]
cron: "0 1,5,9,13,17,21 * * *" # Run these tasks every 4 hours
run_on:
- amazon2-latest-large
expansions:
<<: *amazon2-x86-mongot-integration-expansions
compile_variant: amazon2-x86-mongot-integration-patchable
tasks: *amazon2-x86-mongot-distro-tasks
# This RHEL variant runs search integration tests against latest/HEAD of 10gen/mongot. It is not
# configured with any project trigger on mongot.
- name: &enterprise-rhel-8-64-mongot-integration enterprise-rhel-8-64-mongot-integration
display_name: "Enterprise RHEL 8 Mongot Integration"
cron: "0 1,5,9,13,17,21 * * *" # Run these tasks every 4 hours
run_on:
- rhel8.8-medium
tags: []
expansions:
compile_variant: *enterprise-rhel-8-64-mongot-integration
has_packages: false
build_mongot: true
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- rhel8.8-large
- name: .mongot_e2e_tests !.experimental

View File

@ -1,11 +0,0 @@
buildvariants:
- name: release
display_name: Release
allowed_requesters: ["github_tag"]
tags: ["release", "assigned_to_jira_team_devprod_release_infrastructure"]
run_on: ubuntu2404-small
modules:
- devprod_coverity
tasks:
- name: publish-sast-report
- name: publish-augmented-sbom

View File

@ -1,378 +0,0 @@
# RHEL build variants for testing development environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux-x86-dynamic-compile-params # Essential set of compile parameters used for Linux dev variants.
run_on:
- rhel8.8-xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
stepback: false
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux-x86-dynamic-enterprise-compile-expansions
has_packages: false
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--dtlto=False
--pgo_profile_use=False
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_name linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_generic_expansions
multiversion_platform: rhel8
multiversion_edition: enterprise
repo_edition: enterprise
large_distro_name: rhel8.8-medium
core_analyzer_distro_name: rhel8.8-xlarge
compile_variant: *linux_x86_dynamic_compile_variant_name
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel-8-64-bit-dynamic-expansions
<<: *linux_x86_generic_expansions
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
large_distro_name: rhel8.8-medium
buildvariants:
- <<: *linux-x86-dynamic-compile-params
name: &linux-x86-dynamic-compile linux-x86-dynamic-compile
display_name: "* Linux x86 Enterprise"
tags: ["suggested", "forbid_tasks_tagged_with_experimental"]
expansions:
<<: *linux-x86-dynamic-enterprise-compile-expansions
compile_variant: *linux-x86-dynamic-compile
build_mongot: true
download_mongot_release: true
tasks:
- name: run_unit_tests_TG
- name: compile_test_parallel_core_stream_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- rhel8.8-xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- rhel8.8-xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant
distros:
- rhel8.8-xlarge
- <<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-dynamic
display_name: "* Enterprise RHEL 8"
tags: ["suggested", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-small
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
tasks: &enterprise-rhel-8-64-bit-dynamic-task-list
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
distros:
- rhel8.8-medium
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
distros:
- rhel8.8-medium
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.requires_all_feature_flags
distros:
- rhel8.8-medium
- <<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-dynamic-roll-back-incremental-feature-flags
display_name: "Enterprise RHEL 8 (roll back incremental feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
run_on:
- rhel8.8-small
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
test_flags: --disableUnreleasedIFRFlags
tasks: *enterprise-rhel-8-64-bit-dynamic-task-list
# TODO (SERVER-75884): Remove this variant once we switch to config shard as the default.
# This build variant is used to test suites that use sharded cluster fixture with config shard mode.
- <<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-dynamic-config-shard
display_name: "* Enterprise RHEL 8 (Config Shard)"
tags: ["suggested"]
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
stepback: false
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
test_flags: >-
--configShard=any
--excludeWithAnyTags=config_shard_incompatible
tasks:
- name: aggregation_mongos_passthrough
distros:
- rhel8.8-large
- name: aggregation_one_shard_sharded_collections
- name: aggregation_sharded_collections_causally_consistent_passthrough
distros:
- rhel8.8-large
- name: aggregation_sharded_collections_passthrough
distros:
- rhel8.8-large
- name: auth_gen
- name: causally_consistent_jscore_passthrough_auth_gen
- name: causally_consistent_jscore_passthrough_gen
- name: change_streams
- name: change_streams_mongos_sessions_passthrough
- name: change_streams_multi_stmt_txn_mongos_passthrough
- name: change_streams_multi_stmt_txn_sharded_collections_passthrough
- name: change_streams_per_shard_cursor_passthrough
- name: change_streams_sharded_collections_query_shape_hash_stability_multiversion_gen
- name: fle2_sharding_high_cardinality
- name: fle2_sharding
- name: jstestfuzz_sharded_causal_consistency_gen
- name: jstestfuzz_sharded_gen
- name: jstestfuzz_sharded_kill_terminate_stepdown_gen
- name: jstestfuzz_sharded_notablescan_gen
- name: sharded_causally_consistent_jscore_passthrough_gen
- name: sharded_causally_consistent_read_concern_snapshot_passthrough_gen
- name: sharding_auth_gen
# Explicitly include instead of using tags to avoid pulling in replica_sets_multiversion_gen. This
# variant will be removed when config shards become the default, so this is only temporary.
- name: sharding_multiversion_gen
- name: sharding_jscore_multiversion_gen
- name: sharding_jscore_kill_primary_multiversion_gen
- name: .sharding .txns !.requires_extra_system_deps !.requires_large_host
- name: .sharding .txns .requires_large_host !.requires_extra_system_deps
distros:
- rhel8.8-large
# Skip csrs stepdown suite because most tests can't handle the first shard stepping down.
- name: .sharding .common !.requires_extra_system_deps !.csrs !.feature_flag_guarded
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded !.requires_large_host
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded .requires_large_host
distros:
- rhel8.8-large
- name: .concurrency .sharded !.requires_extra_system_deps !.large
- name: .concurrency .sharded !.requires_extra_system_deps .large
- name: .unsplittable_collections !.requires_extra_system_deps
distros:
- rhel8.8-medium
- name: .multi_shard !.requires_extra_system_deps
- <<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-dynamic-classic-engine
display_name: "Enterprise RHEL 8 (Classic Engine)"
tags: []
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
stepback: false
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: forceClassicEngine}"
--excludeWithAnyTags=featureFlagSbeFull,requires_sbe
large_distro_name: rhel8.8-medium
depends_on:
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
tasks:
- name: .aggfuzzer !.requires_extra_system_deps !.sbe_only
- name: .aggregation !.requires_extra_system_deps !.sbe_only !.requires_large_host
- name: .aggregation !.requires_extra_system_deps !.sbe_only .requires_large_host
distros:
- rhel8.8-medium
- name: .auth
- name: .causally_consistent !.requires_extra_system_deps !.sharding
- name: .change_stream_fuzzer !.requires_extra_system_deps
- name: .change_streams !.requires_extra_system_deps
- name: .concurrency !.requires_extra_system_deps !.large !.no_txns !.compute_mode !.feature_flag_guarded
- name: .concurrency .large !.requires_extra_system_deps !.no_txns !.compute_mode !.feature_flag_guarded
distros:
- rhel8.8-medium
- name: .encrypt !.requires_extra_system_deps
- name: .jscore .common !.requires_extra_system_deps !jsCore !.sbe_only !.feature_flag_guarded
- name: .jstestfuzz !.requires_extra_system_deps !.feature_flag_guarded
- name: .misc_js !.requires_extra_system_deps !.requires_large_host
- name: .misc_js .requires_large_host !.requires_extra_system_deps
distros:
- rhel8.8-medium
- name: .multi_shard !.requires_extra_system_deps
- name: .query_fuzzer !.requires_extra_system_deps
- name: query_golden_classic
- name: query_golden_sharding
- name: .random_multiversion_ds !.requires_extra_system_deps
- name: .read_only !.requires_extra_system_deps
- name: .read_write_concern !.requires_extra_system_deps !.large !.requires_large_host
- name: .read_write_concern !.requires_extra_system_deps !.large .requires_large_host
distros:
- rhel8.8-medium
- name: .read_write_concern .large !.requires_extra_system_deps
distros:
- rhel8.8-medium
- name: .replica_sets !.requires_extra_system_deps !.encrypt !.auth !.feature_flag_guarded
distros:
- rhel8.8-xlarge
- name: .rollbackfuzzer !.requires_extra_system_deps
- name: .sharding .common !.requires_extra_system_deps !.feature_flag_guarded
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded !.requires_large_host
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded .requires_large_host
distros:
- rhel8.8-medium
- name: .sharding .txns !.requires_extra_system_deps !.requires_large_host
- name: .sharding .txns !.requires_extra_system_deps .requires_large_host
distros:
- rhel8.8-medium
- name: .updatefuzzer !.requires_extra_system_deps
- name: aggregation_repeat_queries_multiplan_single_solutions
- name: audit !.requires_extra_system_deps
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: check_feature_flag_tags
- name: check_for_todos
- name: disk_wiredtiger
- name: initial_sync_fuzzer_gen
- name: fcv_upgrade_downgrade_replica_sets_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_gen
- name: jsCore
distros:
- rhel8.8-xlarge
- name: jsCore_min_batch_repeat_queries_multiplan_single_solutions_ese_gsm
- name: jsCore_txns_large_txns_format
- name: json_schema
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_gen
- name: .multiversion_sanity_check
- name: replica_sets_api_version_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
distros:
- rhel8.8-xlarge
- name: replica_sets_reconfig_kill_primary_jscore_passthrough_gen
distros:
- rhel8.8-xlarge
- name: change_streams_pre_images_replica_sets_stepdown_primary_jscore_passthrough_gen
distros:
- rhel8.8-xlarge
- name: change_streams_pre_images_replica_sets_kill_secondary_jscore_passthrough_gen
distros:
- rhel8.8-xlarge
- name: retryable_writes_jscore_passthrough_gen
- name: retryable_writes_jscore_stepdown_passthrough
- name: sasl
- name: search
distros:
- rhel8.8-large
- name: search_community
distros:
- rhel8.8-large
- name: search_community_ssl
distros:
- rhel8.8-large
- name: search_auth
distros:
- rhel8.8-large
- name: search_no_pinned_connections_auth
- name: search_ssl
- name: secondary_reads_passthrough_gen
- name: session_jscore_passthrough
- name: sharding_api_version_jscore_passthrough_gen
- name: test_api_version_compatibility
- name: unittest_shell_hang_analyzer_gen
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
- name: aggregation_mongos_pqs_fallback_gen
- name: aggregation_mongos_pqs_hints_gen
- name: aggregation_pqs_fallback_gen
- name: aggregation_pqs_hints
distros:
- rhel8.8-medium
- name: aggregation_sharded_collections_pqs_fallback_gen
- name: aggregation_sharded_collections_pqs_hints_gen
- name: aggregation_sharded_collections_query_shape_hash_stability_gen
- name: replica_sets_jscore_pqs_fallback_gen
- name: replica_sets_jscore_pqs_hints_gen
- name: replica_sets_jscore_pqs_index_filters
distros:
- rhel8.8-medium
- name: sharded_collections_pqs_fallback_gen
- name: sharded_collections_pqs_hints_gen
- name: sharded_collections_pqs_index_filters
distros:
- rhel8.8-medium
- name: sharded_collections_query_shape_hash_stability_gen
- name: sharding_pqs_fallback_gen
- name: sharding_pqs_hints_gen
- name: sharding_pqs_index_filters
distros:
- rhel8.8-medium

View File

@ -1,194 +0,0 @@
# RHEL build variants for testing development environments
#
# After the branching variants in this file
# should continue to run ONLY on a new LTS release (v7.0, v6.0 etc.) branch projects
# and should NOT run on a new rapid release (v7.1, v7.2 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_name linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_generic_expansions
multiversion_platform: rhel8
multiversion_edition: enterprise
repo_edition: enterprise
large_distro_name: rhel8.8-medium
core_analyzer_distro_name: rhel8.8-xlarge
compile_variant: *linux_x86_dynamic_compile_variant_name
buildvariants:
- name: enterprise-rhel-8-64-bit-inmem
display_name: Enterprise RHEL 8 (inMemory)
tags: []
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
test_flags: >-
--storageEngine=inMemory
--excludeWithAnyTags=requires_persistence,requires_journaling
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
multiversion_platform: rhel8
multiversion_edition: enterprise
large_distro_name: rhel8.8-large
core_analyzer_distro_name: rhel8.8-xlarge
compile_variant: enterprise-rhel-8-64-bit-inmem
tasks:
- name: compile_test_serial_no_unittests_TG
distros:
- rhel8.8-xlarge
- name: compile_integration_and_test_no_audit_parallel_stream_TG
distros:
- rhel8.8-large
- name: .aggfuzzer .common !.requires_extra_system_deps !.feature_flag_guarded
- name: .aggregation !.requires_extra_system_deps !.unwind !.encrypt !.feature_flag_guarded !.requires_large_host
- name: .aggregation !.requires_extra_system_deps !.unwind !.encrypt !.feature_flag_guarded .requires_large_host
distros:
- rhel8.8-large
- name: audit
- name: .auth !.requires_extra_system_deps !.multiversion
- name: .causally_consistent !.requires_extra_system_deps !.wo_snapshot !.durable_history
- name: .change_streams !.requires_extra_system_deps
- name: .change_stream_fuzzer !.requires_extra_system_deps
- name: .misc_js !.requires_extra_system_deps !.requires_large_host
- name: .misc_js !.requires_extra_system_deps .requires_large_host
distros:
- rhel8.8-large
- name: .concurrency !.requires_extra_system_deps !.no_txns !.kill_terminate !.incompatible_inmemory !.feature_flag_guarded
distros:
- rhel8.8-medium # Some workloads require a lot of memory, use a bigger machine for this suite.
- name: initial_sync_fuzzer_gen
- name: .jscore .common !.requires_extra_system_deps !.decimal !.requires_large_host !.feature_flag_guarded
- name: .jscore .common !.requires_extra_system_deps !.decimal .requires_large_host !.feature_flag_guarded
distros:
- rhel8.8-large
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz !.requires_extra_system_deps !.initsync !.feature_flag_guarded !.incompatible_inmemory
- name: .multi_shard .common !.requires_extra_system_deps
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: .read_write_concern !.requires_extra_system_deps !.durable_history !.requires_large_host
- name: .read_write_concern !.requires_extra_system_deps !.durable_history .requires_large_host
distros:
- rhel8.8-large
- name: replica_sets_gen
- name: .replica_sets .common !.requires_extra_system_deps
- name: .replica_sets .multi_oplog !.requires_extra_system_deps !.encrypt !.requires_large_host
- name: .replica_sets .multi_oplog !.requires_extra_system_deps !.encrypt .requires_large_host
distros:
- rhel8.8-large
- name: replica_sets_multi_stmt_txn_jscore_passthrough_gen
- name: replica_sets_multi_stmt_txn_stepdown_jscore_passthrough_gen
distros:
- rhel8.8-medium
- name: .resharding_fuzzer !.requires_extra_system_deps
- name: .retry !.requires_extra_system_deps
- name: rollback_fuzzer_gen
- name: sasl
- name: secondary_reads_passthrough_gen
- name: session_jscore_passthrough
- name: sharded_multi_stmt_txn_jscore_passthrough_gen
distros:
- rhel8.8-medium
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded !.requires_large_host
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded .requires_large_host
distros:
- rhel8.8-large
- name: .sharding .common !.requires_extra_system_deps !.multiversion !.csrs !.encrypt !.feature_flag_guarded
- name: sharding_max_mirroring_opportunistic_secondary_targeting_gen
- name: .ssl !.requires_extra_system_deps
- name: .updatefuzzer !.requires_extra_system_deps
- name: generate_buildid_to_debug_symbols_mapping
- <<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-large-txns-format
display_name: "Enterprise RHEL 8 (large transactions format)"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
run_on:
- rhel8.8-small
expansions:
<<: *linux_x86_generic_expansions
test_flags: >-
--mongodSetParameters="{maxNumberOfTransactionOperationsInSingleOplogEntry: 2}"
--excludeWithAnyTags=exclude_from_large_txns
tasks:
- name: auth_gen
- name: auth_audit
- name: causally_consistent_jscore_txns_passthrough
- name: change_streams
- name: change_streams_whole_db_passthrough
- name: change_streams_whole_cluster_passthrough
- name: concurrency_replication_gen
- name: concurrency_replication_multi_stmt_txn_gen
- name: concurrency_sharded_replication_gen
- name: concurrency_sharded_replication_with_balancer_gen
- name: concurrency_sharded_local_read_write_multi_stmt_txn_gen
- name: concurrency_sharded_local_read_write_multi_stmt_txn_with_balancer_gen
- name: concurrency_sharded_multi_stmt_txn_gen
- name: concurrency_sharded_multi_stmt_txn_with_balancer_gen
- name: concurrency_sharded_with_stepdowns_gen
- name: concurrency_sharded_stepdown_terminate_kill_primary_with_balancer_gen
- name: concurrency_sharded_initial_sync_gen
- name: initial_sync_fuzzer_gen
- name: fcv_upgrade_downgrade_replica_sets_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_gen
- name: jsCore
distros:
- rhel8.8-medium
- name: jsCore_txns
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: multiversion_auth_gen
- name: multiversion_gen
- name: noPassthrough_gen
distros:
- rhel8.8-large
- name: .replica_sets !.multi_oplog !.large !.feature_flag_guarded
- name: .replica_sets !.multi_oplog .large !.feature_flag_guarded
distros:
- rhel8.8-medium
- name: .replica_sets .encrypt
- name: .resharding_fuzzer
- name: .rollbackfuzzer
- name: .sharding .txns
- name: sharding_gen
- name: sharding_auth_audit_gen
- name: sharding_csrs_continuous_config_stepdown_gen
- name: sharded_multi_stmt_txn_jscore_passthrough_gen
distros:
- rhel8.8-medium

View File

@ -1,754 +0,0 @@
# RHEL build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux-x86-dynamic-compile-params # Essential set of compile parameters used for Linux dev variants.
run_on:
- rhel8.8-xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
stepback: false
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux-x86-dynamic-enterprise-compile-expansions
has_packages: false
bazel_compile_flags: >-
--dtlto=False
--pgo_profile_use=False
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_params # Essential set of compile parameters used for Linux dev variants.
run_on:
- rhel8.8-xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: generate_buildid_to_debug_symbols_mapping
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_expansions # The most commonly used compile expansions.
has_packages: false
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_name linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_generic_expansions
multiversion_platform: rhel8
multiversion_edition: enterprise
repo_edition: enterprise
large_distro_name: rhel8.8-medium
core_analyzer_distro_name: rhel8.8-xlarge
compile_variant: *linux_x86_dynamic_compile_variant_name
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel-8-64-bit-dynamic-expansions
<<: *linux_x86_generic_expansions
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
large_distro_name: rhel8.8-medium
- &enterprise-rhel-8-64-bit-template
name: enterprise-rhel-8-64-bit
display_name: "Enterprise RHEL 8"
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
expansions: &enterprise-rhel-8-64-bit-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-rhel8
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
test_flags: --excludeWithAnyTags=requires_ldap_pool
multiversion_platform: rhel8
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel88
repo_edition: enterprise
core_analyzer_distro_name: rhel8.8-large
tasks:
- name: compile_test_and_package_serial_no_unittests_TG
distros:
- rhel8.8-large
- name: .aggfuzzer !.feature_flag_guarded
- name: audit
- name: auth_audit
- name: auth_gen
- name: causally_consistent_jscore_txns_passthrough
- name: .config_fuzzer !.large
- name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.decimal !.sharding
- name: jsCore_txns_large_txns_format
- name: .jstestfuzz .common !.feature_flag_guarded
- name: libunwind_tests
- name: .ocsp
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough_gen
- name: .replica_sets .multi_oplog
- name: sasl
- name: search
distros:
- rhel8.8-large
- name: search_community
distros:
- rhel8.8-large
- name: search_community_ssl
distros:
- rhel8.8-large
- name: search_auth
distros:
- rhel8.8-large
- name: search_no_pinned_connections_auth
- name: search_ssl
distros:
- rhel8.8-large
- name: sharding_auth_audit_gen
- name: .stitch
- name: .crypt
- name: unittest_shell_hang_analyzer_gen
- name: test_packages
distros:
- ubuntu2204-large
- name: .timeseries_crud
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
- name: selinux_rhel8_enterprise
- name: generate_buildid_to_debug_symbols_mapping
- name: product_limits
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
buildvariants:
- <<: *generic_linux_compile_params
name: &linux-x86-dynamic-compile-future-tag-multiversion-latest linux-x86-dynamic-compile-future-tag-multiversion-latest
display_name: "Linux x86 Compile (future git tag multiversion - latest)"
tags: []
expansions:
<<: *linux-x86-dynamic-enterprise-compile-expansions
bv_future_git_tag: r100.0.0-9999
compile_variant: *linux-x86-dynamic-compile-future-tag-multiversion-latest
archive_dist_test_debug_task_name: archive_dist_test_debug_future_git_tag_multiversion
tasks:
- name: version_expansions_future_git_tag_multiversion_gen
- name: compile_test_serial_future_git_tag_multiversion_TG
- <<: *generic_linux_compile_params
name: &linux-x86-dynamic-compile-future-tag-multiversion-last-continuous linux-x86-dynamic-compile-future-tag-multiversion-last-continuous
display_name: "Linux x86 Compile (future git tag multiversion - last continuous)"
tags: []
expansions:
<<: *linux-x86-dynamic-enterprise-compile-expansions
compile_variant: *linux-x86-dynamic-compile-future-tag-multiversion-last-continuous
tasks:
- name: compile_and_package_serial_no_unittests_TG
- <<: *linux-x86-dynamic-compile-params
name: &linux-stitch-compile-suggested linux-stitch-compile-suggested
display_name: "* Linux x86 Stitch Enterprise Compile"
tags: ["suggested"]
expansions:
compile_variant: *linux-stitch-compile-suggested
tasks:
- name: .stitch
- <<: *linux-x86-dynamic-compile-params
name: &linux-crypt-compile linux-crypt-compile
display_name: "* Linux x86 Crypt Enterprise Compile"
tags: ["suggested"]
expansions:
compile_variant: *linux-crypt-compile
tasks:
- name: .crypt
- name: crypt_build_debug_and_test
- name: &linux-x86-dynamic-grpc linux-x86-dynamic-grpc
display_name: "~ Linux x86 Enterprise with Ingress GRPC"
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-xlarge
stepback: false
expansions:
<<: *generic_linux_compile_expansions
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--dtlto=False
--pgo_profile_use=False
compile_variant: *linux-x86-dynamic-grpc
clang_tidy_toolchain: v5
large_distro_name: rhel8.8-xlarge
test_flags: >-
--additionalFeatureFlags "featureFlagGRPC"
--excludeWithAnyTags=requires_external_data_source,requires_mongobridge,requires_auth,grpc_incompatible,creates_and_authenticates_user
--tlsMode preferTLS
--tlsCAFile jstests/libs/ca.pem
--shellTls
--shellTlsCertificateKeyFile jstests/libs/client.pem
--mongosTlsCertificateKeyFile jstests/libs/server.pem
--mongodTlsCertificateKeyFile jstests/libs/server.pem
--shellGRPC
tasks:
- name: run_unit_tests_TG
- name: compile_test_parallel_core_stream_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: generate_buildid_to_debug_symbols_mapping
# sharding_uninitialized_fcv_jscore_passthrough_gen spawns too many connections
# and processes to be used with TLS on a single host and
# sharding_jscore_passthrough_priority_ports_gen does not support GRPC.
- name: .jscore .common !.requires_extra_system_deps !sharding_uninitialized_fcv_jscore_passthrough_gen !sharding_jscore_passthrough_priority_ports_gen !.auth !.txns !.feature_flag_guarded
- name: sharded_jscore_txns
- name: .aggregation !.requires_extra_system_deps !.auth !aggregation_read_concern_majority_passthrough !aggregation_secondary_reads_gen
# concurrency suites that use a ReplicaSetFixture will fail on this build variant.
# TODO(SERVER-108818): Remove concurrency_replication_primary_driven_index_builds_gen after removing temporary primary-driven index builds suites.
- name: .concurrency !.requires_extra_system_deps !.auth !concurrency_replication_causal_consistency_gen !concurrency_replication_maintenance_gen !concurrency_replication_multi_stmt_txn_gen !concurrency_replication_primary_driven_index_builds !concurrency_replication_primary_driven_index_builds_gen !concurrency_replication_gen !concurrency_simultaneous_replication_gen !config_fuzzer_concurrency_replication_gen !config_fuzzer_concurrency_simultaneous_replication_gen
- name: .grpc_misc_js !.requires_extra_system_deps
- &enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
<<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-dynamic-all-feature-flags
display_name: "* Enterprise RHEL 8 (all feature flags)"
tags: ["suggested", "forbid_tasks_tagged_with_experimental"]
cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-small
stepback: false
expansions: &enterprise-rhel-8-64-bit-dynamic-all-feature-flags-expansions
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
build_mongot: true
download_mongot_release: true
depends_on:
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags
distros:
- rhel8.8-medium
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags
distros:
- rhel8.8-medium
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_all_feature_flags
distros:
- rhel8.8-medium
- <<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
name: enterprise-rhel-8-64-bit-dynamic-all-feature-flags-experimental
display_name: "* Enterprise RHEL 8 (all feature flags) Experimental"
tags: ["suggested"]
tasks:
&experimental-task-list # TODO(SERVER-90936): Remove streams_kafka* and streams_lambda tests when they work with the "default" tag.
- name: streams_kafka_gen
- name: streams_kafka_gwproxy
- name: streams_lambda
- name: streams_s3
- name: streams_kinesis
- name: product_limits
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
- <<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
name: enterprise-rhel-8-64-bit-dynamic-all-non-rollback-feature-flags
display_name: "Enterprise RHEL 8 (all non-rollback feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
- <<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
name: enterprise-rhel-8-64-bit-dynamic-all-non-rollback-feature-flags-experimental
display_name: "Enterprise RHEL 8 (all non-rollback feature flags) Experimental"
tags: []
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
tasks: *experimental-task-list
- name: &enterprise-rhel-8-benchmarks enterprise-rhel-8-benchmarks
display_name: "* Enterprise RHEL 8 (Benchmarks)"
tags: ["suggested"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
expansions:
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--dbg_level=1
--separate_debug=False
compile_variant: *enterprise-rhel-8-benchmarks
tasks:
- name: compile_upload_benchmarks_TG
distros:
- rhel8.8-xlarge
- name: .benchmarks
# This build variant is used to run multiversion tests as part of burn_in_tags as these tests are
# currently only run on our daily builders.
- &linux-x86-multiversion-template
<<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-multiversion
display_name: "Enterprise RHEL 8 (implicit multiversion)"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
expansions: &linux-x86-multiversion-expansions-template
<<: *linux_x86_generic_expansions
resmoke_jobs_factor: 0.25
tasks:
- name: .multiversion_fuzzer
- name: .multiversion_passthrough
- name: .random_multiversion_ds
- <<: *linux-x86-multiversion-template
name: enterprise-rhel-8-64-bit-multiversion-all-feature-flags
display_name: "Enterprise RHEL 8 (implicit multiversion & all feature flags)"
tags: []
expansions:
<<: *linux-x86-multiversion-expansions-template
# No feature flag tests since they aren't compatible with the older binaries.
test_flags: >-
--runNoFeatureFlagTests
# This variant exists because this is the only way to test future multiversion tags
# version_expansions_gen will pretend we are upgrading to "bv_future_git_tag"
# which is like simulating a branching task
- <<: *linux-x86-multiversion-template
name: enterprise-rhel-8-64-bit-future-git-tag-multiversion
display_name: "Enterprise RHEL 8 (future git tag multiversion)"
tags: []
expansions:
<<: *linux_x86_generic_expansions
resmoke_jobs_factor: 0.5
bv_future_git_tag: r100.0.0-9999
compile_variant: *linux-x86-dynamic-compile-future-tag-multiversion-latest
test_flags: >-
--excludeWithAnyTags=future_git_tag_incompatible
unique_gen_suffix: "-future"
last_versions: last_lts,last_continuous
multiversion_last_continuous_variant: *linux-x86-dynamic-compile-future-tag-multiversion-last-continuous
depends_on:
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
- name: archive_dist_test_debug_future_git_tag_multiversion
variant: *linux-x86-dynamic-compile-future-tag-multiversion-latest
- name: archive_dist_test
variant: *linux-x86-dynamic-compile-future-tag-multiversion-last-continuous
tasks:
- name: .multiversion !.future_git_tag_incompatible
- name: .multiversion_future_git_tag
- <<: *enterprise-rhel-8-64-bit-template
name: &hot_backups-rhel-8-64-bit hot_backups-rhel-8-64-bit
display_name: "hot_backups RHEL 8"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
expansions:
<<: *enterprise-rhel-8-64-bit-expansions-template
additional_package_targets: ""
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--//bazel/config:enterprise_feature_all=False
--//bazel/config:enterprise_feature_hot_backups=True
--//bazel/config:enterprise_feature_magic_restore=True
--//bazel/config:enterprise_feature_ldap=True
--//bazel/config:enterprise_feature_sasl=True
--//bazel/config:enterprise_feature_encryptdb=True
--linkstatic=False
compile_variant: *hot_backups-rhel-8-64-bit
has_packages: false
tasks:
- name: compile_test_parallel_core_stream_TG
distros:
- rhel8.8-large
- name: run_unit_tests_TG
distros:
- rhel8.8-large
- name: compile_test_parallel_dbtest_stream_TG
distros:
- rhel8.8-large
- name: jsCore
distros:
- rhel8.8-large
- name: hotBackups_gen
distros:
- rhel8.8-large
- name: generate_buildid_to_debug_symbols_mapping
- name: &enterprise-rhel8-sdam-replica-set-monitor-64-bit enterprise-rhel8-sdam-replica-set-monitor-64-bit
display_name: "~ Enterprise RHEL 8 (with SdamReplicaSetMonitor)"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
expansions:
<<: *linux_x86_generic_expansions
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--dtlto=False
--pgo_profile_use=False
test_flags: >-
--mongosSetParameters="{replicaSetMonitorProtocol: sdam}"
--mongodSetParameters="{replicaSetMonitorProtocol: sdam}"
--excludeWithAnyTags=requires_streamable_rsm
large_distro_name: rhel8.8-large
compile_variant: *enterprise-rhel8-sdam-replica-set-monitor-64-bit
tasks:
- name: compile_test_parallel_core_stream_TG
distros:
- rhel8.8-large
- name: .concurrency .common !.requires_extra_system_deps !.kill_terminate !.feature_flag_guarded !.requires_extra_system_deps
- name: .jscore .common !.requires_extra_system_deps !.requires_large_host !.feature_flag_guarded !.requires_extra_system_deps
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded !.requires_large_host
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded .requires_large_host
distros:
- rhel8.8-large
- name: .sharding .common !.requires_extra_system_deps !.csrs !.encrypt !.feature_flag_guarded
- name: sharding_max_mirroring_opportunistic_secondary_targeting_gen
- name: generate_buildid_to_debug_symbols_mapping
# This build variant injects old-format (pre-4.2) unique index keys for all new keys inserted into
# a index. This should not change correctness or user-observable server behavior.
- <<: *linux_x86_dynamic_compile_variant_dependency
name: enterprise-rhel-8-64-bit-old-unique-index-format
display_name: "Enterprise RHEL 8 (old unique index format)"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
run_on:
- rhel8.8-small
expansions:
<<: *linux_x86_generic_expansions
test_flags: >-
--mongodSetParameters="{'failpoint.WTIndexCreateUniqueIndexesInOldFormat': {mode: 'alwaysOn'}, 'failpoint.WTIndexInsertUniqueKeysInOldFormat': {mode: 'alwaysOn'}}"
--excludeWithAnyTags=disables_test_commands,assumes_no_old_format_indexes
tasks:
- name: .aggfuzzer
- name: .aggregation !.no_async !.feature_flag_guarded !.requires_large_host
- name: .aggregation !.no_async !.feature_flag_guarded .requires_large_host
distros:
- rhel8.8-large
- name: auth_gen
- name: auth_audit
- name: causally_consistent_jscore_txns_passthrough
- name: .concurrency .common !.large !.feature_flag_guarded
- name: .config_fuzzer !.large
- name: disk_wiredtiger
- name: initial_sync_fuzzer_gen
- name: fcv_upgrade_downgrade_replica_sets_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_gen
- name: jsCore
distros:
- rhel8.8-large
- name: jsCore_txns
- name: .multi_shard
- name: multiversion_auth_gen
- name: noPassthrough_gen
distros:
- rhel8.8-large
- name: .query_fuzzer
- name: .replica_sets !.large
- name: .resharding_fuzzer
- name: .rollbackfuzzer
- name: secondary_reads_passthrough_gen
- name: .sharding .txns
- name: .sharding .common !.feature_flag_guarded
- name: .updatefuzzer
- name: v1index_jscore_passthrough_gen
- name: &enterprise-rhel8-join-ingress-sessions-on-shutdown enterprise-rhel8-join-ingress-sessions-on-shutdown
display_name: '~ Enterprise RHEL 8 (with {joinIngressSessionsOnShutdown: "true"})'
tags: []
activate: false
run_on:
- rhel8.8-small
expansions:
<<: *linux_x86_generic_expansions
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--dtlto=False
--pgo_profile_use=False
multiversion_platform: rhel8
multiversion_edition: enterprise
test_flags: >-
--mongosSetParameters="joinIngressSessionsOnShutdown: \"true\""
--mongodSetParameters="joinIngressSessionsOnShutdown: \"true\""
large_distro_name: rhel8.8-large
compile_variant: *enterprise-rhel8-join-ingress-sessions-on-shutdown
tasks:
- name: compile_test_serial_TG
distros:
- rhel8.8-large
- name: run_unit_tests_TG
distros:
- rhel8.8-large
patch_only: true
- name: compile_integration_and_test_no_audit_parallel_stream_TG
distros:
- rhel8.8-large
patch_only: true
- name: .aggregation !.requires_extra_system_deps !.no_async !.feature_flag_guarded !.requires_large_host
patch_only: true
- name: .aggregation !.requires_extra_system_deps !.no_async !.feature_flag_guarded .requires_large_host
patch_only: true
distros:
- rhel8.8-large
- name: sharding_auth_gen
patch_only: true
- name: .sharding .causally_consistent !.requires_extra_system_deps !.wo_snapshot
patch_only: true
- name: .concurrency .common !.requires_extra_system_deps !.kill_terminate !.feature_flag_guarded
patch_only: true
- name: .jscore .common !.requires_extra_system_deps !.requires_large_host !.feature_flag_guarded
patch_only: true
- name: .jscore .common .requires_large_host !.requires_extra_system_deps !.feature_flag_guarded
patch_only: true
distros:
- rhel8.8-large
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded !.requires_large_host
patch_only: true
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.multi_stmt !.feature_flag_guarded .requires_large_host
patch_only: true
distros:
- rhel8.8-large
- name: .sharding .common !.requires_extra_system_deps !.csrs !.encrypt !.feature_flag_guarded
patch_only: true
- name: sharding_max_mirroring_opportunistic_secondary_targeting_gen
patch_only: true
### Query Patch-Specific Build Variants ###
- name: enterprise-rhel-8-64-bit-dynamic-query-quick-patch-only
display_name: "~ Enterprise RHEL 8 Query Quick Patch Only"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- rhel8.8-small
stepback: false
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
target_resmoke_time: 30
max_sub_suites: 3
test_flags: >-
--excludeWithAnyTags=resource_intensive
depends_on:
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
tasks: &query-quick-alias-task-list
- name: aggregation
- name: aggregation_mongos_passthrough
distros:
- rhel8.8-large
- name: aggregation_sharded_collections_passthrough
distros:
- rhel8.8-large
- name: jsCore
distros:
- rhel8.8-xlarge
- name: search
distros:
- rhel8.8-xlarge
- name: change_streams
- name: query_golden_classic
- name: query_golden_sharding
- name: vector_search
- name: replica_sets_jscore_passthrough_gen
- name: sharding_jscore_passthrough_gen
- name: sharded_collections_jscore_passthrough_gen
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: check_feature_flag_tags
- name: check_for_todos
- <<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
name: enterprise-rhel-8-64-bit-dynamic-all-feature-flags-required-query-quick-patch-only
display_name: "~ Enterprise RHEL 8 Query Quick Patch Only (all feature flags)"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-expansions
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=resource_intensive
tasks: *query-quick-alias-task-list
- name: enterprise-rhel-8-64-bit-dynamic-classic-engine-all-feature-flags-fuzzers
<<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
display_name: "*| Enterprise RHEL 8 (Classic Engine all feature flags) Fuzzers"
tags: ["suggested"]
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-expansions
target_resmoke_time: 30
max_sub_suites: 3
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: forceClassicEngine}"
--runAllFeatureFlagTests
--excludeWithAnyTags=resource_intensive,featureFlagSbeFull,requires_sbe
tasks:
- name: .aggfuzzer !.requires_extra_system_deps
- name: .change_stream_fuzzer !.requires_extra_system_deps
- name: .query_fuzzer !.requires_extra_system_deps
- name: .updatefuzzer !.requires_extra_system_deps
- name: .jstestfuzz !.requires_extra_system_deps
- name: enterprise-rhel-8-64-bit-dynamic-classic-engine-all-non-rollback-feature-flags-fuzzers
<<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
display_name: "Enterprise RHEL 8 (Classic Engine all non-rollback feature flags) Fuzzers"
tags: []
cron: "0 4 1-31/2 * *" # For cost reasons, we run this variant every other day
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-expansions
target_resmoke_time: 30
max_sub_suites: 3
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: forceClassicEngine}"
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
--excludeWithAnyTags=resource_intensive,featureFlagSbeFull,requires_sbe
tasks:
- name: .aggfuzzer
- name: .change_stream_fuzzer
- name: .query_fuzzer
- name: .updatefuzzer
- name: .jstestfuzz
### Security Patch-Specific Build Variants ###
- <<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-template
name: enterprise-rhel-8-64-bit-dynamic-all-feature-flags-required-security-patch-only
display_name: "~ Enterprise RHEL 8 Security Patch Only (all feature flags)"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-all-feature-flags-expansions
target_resmoke_time: 15
max_sub_suites: 15
tasks:
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
variant: *linux_x86_dynamic_compile_variant_name
- name: .audit .patch_build
- name: .encrypt .patch_build
- name: .sasl .patch_build
- name: external_auth
- name: external_auth_aws
- name: external_auth_oidc
- name: lint_fuzzer_sanity_patch
- name: tla-plus
display_name: "TLA+"
tags: []
run_on:
- rhel8.8-large
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter
stepback: false
expansions:
timeout_secs: 345600 # 4 days
tasks:
- name: tla_plus

View File

@ -1,645 +0,0 @@
# RHEL build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: ubi8
display_name: "UBI 8"
tags: []
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubi8
expansions:
resmoke_jobs_factor: 1
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--build_enterprise=False
tooltags: ""
build_mongoreplay: true
test_flags: >-
--excludeWithAnyTags=requires_os_access
--modules=none
compile_variant: ubi8
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- rhel8.8-large
- name: jsCore
- name: sharding_gen
- name: replica_sets_gen
- name: generate_buildid_to_debug_symbols_mapping
distros:
- rhel8.8-large
- name: rhel8
display_name: RHEL 8
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-rhel8
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--build_enterprise=False
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_increased_memlock_limits
--modules=none
multiversion_platform: rhel8
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: rhel88
repo_edition: org
large_distro_name: rhel8.8-large
compile_variant: rhel88
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel8.8-large
- name: run_unit_tests_TG
distros:
- rhel8.8-large
- name: test_packages
distros:
- ubuntu2204-large
- name: selinux_rhel8_org
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- rhel8.8-large
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- rhel8.8-large
- name: enterprise-rhel-8-64-bit
display_name: "Enterprise RHEL 8"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-rhel8
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
multiversion_platform: rhel8
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel88
repo_edition: enterprise
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 3
large_distro_name: rhel8.8-medium
compile_variant: enterprise-rhel-8-64-bit
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel8.8-large
- name: compile_integration_and_test_parallel_stream_TG
distros:
- rhel8.8-large
- name: run_unit_tests_TG
distros:
- rhel8.8-large
- name: test_packages
distros:
- ubuntu2204-large
- name: selinux_rhel8_enterprise
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- rhel8.8-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- rhel8.8-large
- name: rhel-8-arm64
display_name: RHEL 8 arm64
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- rhel8.8-arm64-m8g-xlarge
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-rhel8
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_increased_memlock_limits
--modules=none
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: rhel88
repo_edition: org
large_distro_name: rhel8.8-arm64-m8g-4xlarge
compile_variant: rhel-8-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: enterprise-rhel-8-arm64
display_name: "Enterprise RHEL 8 arm64"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-arm64-m8g-xlarge
expansions:
large_distro_name: rhel8.8-arm64-m8g-4xlarge
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-rhel8
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source,resource_intensive
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: rhel88
repo_edition: enterprise
compile_variant: enterprise-rhel-8-arm64
core_analyzer_distro_name: rhel8.8-arm64-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- rhel8.8-arm64-m8g-4xlarge
- name: rhel93
display_name: RHEL 9.3
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel93-large
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-rhel93
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel93
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
multiversion_platform: rhel93
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: rhel90
repo_edition: org
large_distro_name: rhel93-large
compile_variant: rhel93
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel93-large
- name: run_unit_tests_TG
distros:
- rhel93-large
- name: test_packages
distros:
- ubuntu2204-large
- name: selinux_rhel9_org
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- rhel93-large
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- rhel93-large
- name: enterprise-rhel-93-64-bit
display_name: "Enterprise RHEL 9.3"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel93-small
expansions:
additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-rhel93
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: --define=MONGO_DISTMOD=rhel93
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
multiversion_platform: rhel93
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel90
repo_edition: enterprise
compile_variant: enterprise-rhel-93-64-bit
core_analyzer_distro_name: rhel93-large
large_distro_name: rhel93-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel93-large
- name: run_unit_tests_TG
distros:
- rhel93-large
- name: test_packages
distros:
- ubuntu2204-large
- name: selinux_rhel9_enterprise
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- rhel93-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- rhel93-large
- name: rhel93-arm64
display_name: RHEL 9.3 arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel93-arm64-m8g-xlarge
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-rhel93
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel93
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: rhel90
repo_edition: org
large_distro_name: rhel93-arm64-m8g-4xlarge
compile_variant: rhel93-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel93-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- rhel93-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- rhel93-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- rhel93-arm64-m8g-4xlarge
- name: enterprise-rhel-93-arm64
display_name: "Enterprise RHEL 9.3 arm64"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 3 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel93-arm64-m8g-xlarge
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-rhel93
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel93
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: rhel90
repo_edition: enterprise
large_distro_name: rhel93-arm64-m8g-4xlarge
compile_variant: enterprise-rhel-93-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel93-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- rhel93-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- rhel93-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- rhel93-arm64-m8g-4xlarge
- name: rhel10-64-bit
display_name: RHEL 10.0
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel10.0-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-rhel10
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel10
--build_enterprise=False
--remote_executor=
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
multiversion_platform: rhel10
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: rhel10
repo_edition: org
large_distro_name: rhel10.0-large
compile_variant: rhel10-64-bit
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel10.0-large
- name: run_unit_tests_TG
distros:
- rhel10.0-large
- name: test_packages
distros:
- ubuntu2204-large
- name: selinux_rhel10_org
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- rhel10.0-large
- name: .release_critical !.requires_large_host !.incompatible_community !.publish
- name: .release_critical .requires_large_host !.incompatible_community !.publish
distros:
- rhel10.0-large
- name: enterprise-rhel-10-64-bit
display_name: "Enterprise RHEL 10.0"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel10.0-small
expansions:
additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-rhel10
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: --define=MONGO_DISTMOD=rhel10 --remote_executor=
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
multiversion_platform: rhel10
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: rhel10
repo_edition: enterprise
compile_variant: enterprise-rhel-10-64-bit
core_analyzer_distro_name: rhel10-large
large_distro_name: rhel10.0-large
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel10.0-large
- name: run_unit_tests_TG
distros:
- rhel10.0-large
- name: test_packages
distros:
- ubuntu2204-large
- name: selinux_rhel10_enterprise
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- rhel10.0-large
- name: .release_critical !.requires_large_host !.publish !.publish_crypt
- name: .release_critical .requires_large_host !.publish !.publish_crypt
distros:
- rhel10.0-large
- name: rhel10-arm64
display_name: RHEL 10.0 arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel10.0-arm64-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-rhel10
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel10
--build_enterprise=False
--remote_executor=
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
has_packages: true
packager_script: packager.py
packager_arch: aarch64
packager_distro: rhel10
repo_edition: org
large_distro_name: rhel10.0-arm64-large
compile_variant: rhel10-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel10.0-arm64-large
- name: run_unit_tests_TG
distros:
- rhel10.0-arm64-large
- name: test_packages
distros:
- ubuntu2204-arm64-small
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- rhel10.0-arm64-large
- name: .release_critical !.requires_large_host !.incompatible_community !.publish
- name: .release_critical .requires_large_host !.incompatible_community !.publish
distros:
- rhel10.0-arm64-large
- name: enterprise-rhel-10-arm64
display_name: "Enterprise RHEL 10.0 arm64"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel10.0-arm64-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-rhel10
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel10
--remote_executor=
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
packager_distro: rhel10
repo_edition: enterprise
large_distro_name: rhel10.0-arm64-large
compile_variant: enterprise-rhel-10-arm64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- rhel10.0-arm64-large
- name: run_unit_tests_TG
distros:
- rhel10.0-arm64-large
- name: test_packages
distros:
- ubuntu2204-arm64-small
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- rhel10.0-arm64-large
- name: .release_critical !.requires_large_host !.publish !.publish_crypt
- name: .release_critical .requires_large_host !.publish !.publish_crypt
distros:
- rhel10.0-arm64-large

View File

@ -1,997 +0,0 @@
# Build variant definitions for vanilla sanitizers
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_params # Essential set of compile parameters used for Linux dev variants.
run_on:
- rhel8.8-xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: generate_buildid_to_debug_symbols_mapping
# TODO(SERVER-110366): Consolidate this into the above variant once all variants that use this are swapped over
# to m8g.
- &generic_linux_compile_params_m8g
run_on:
- amazon2023-arm64-latest-m8g-8xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: generate_buildid_to_debug_symbols_mapping
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_expansions # The most commonly used compile expansions.
has_packages: false
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_name linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_generic_expansions
multiversion_platform: rhel8
multiversion_edition: enterprise
repo_edition: enterprise
large_distro_name: rhel8.8-medium
core_analyzer_distro_name: rhel8.8-xlarge
compile_variant: *linux_x86_dynamic_compile_variant_name
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel-8-64-bit-dynamic-expansions
<<: *linux_x86_generic_expansions
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
large_distro_name: rhel8.8-medium
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_debug_community_compile_expansions
<<: *generic_linux_compile_expansions
bazel_compile_flags: >-
--remote_execution_priority=3
--dbg=True
--compiler_type=gcc
--dtlto=False
--pgo_profile_use=False
--bolt_profile_use=False
--opt=on
--jobs=1600
unittest_library_compile_flags: >-
--linkstatic=False
unittest_compile_flags: >-
--linkstatic=False
- &linux_arm64_debug_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &linux_arm64_debug_compile_variant_name linux-arm64-debug-compile-required
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: linux-arm64-debug-compile-required
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &rhel8_debug_aubsan_compile_variant_dependency_x86
depends_on:
- name: archive_dist_test
variant: &rhel8_debug_aubsan_compile_variant_name rhel8-debug-aubsan-compile-x86
- name: archive_jstestshell
variant: *rhel8_debug_aubsan_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: rhel8-debug-aubsan-compile-x86
- &rhel8_debug_aubsan_compile_variant_dependency_arm64
depends_on:
- name: archive_dist_test
variant: &rhel8_arm64_debug_aubsan_compile_variant_name rhel8-arm64-debug-aubsan-compile
- name: archive_jstestshell
variant: *rhel8_arm64_debug_aubsan_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_debug_aubsan_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &linux_debug_aubsan_compile_variant_name linux-debug-aubsan-compile-required
- name: archive_jstestshell
variant: *linux_debug_aubsan_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: rhel8-debug-aubsan-compile-x86
# If you add anything to san_options, make sure the appropriate changes are
# also made in bazel.
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- aubsan_options: &aubsan_options >-
UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1"
ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- ubsan_options: &ubsan_options UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &aubsan-lite-required-expansions
compile_variant: *rhel8_debug_aubsan_compile_variant_name
lang_environment: LANG=C
san_options: *aubsan_options
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
max_sub_suites: 3
large_distro_name: rhel8.8-xlarge
xlarge_distro_name: rhel8.8-xxlarge
multiversion_platform: rhel8
multiversion_edition: enterprise
- &aubsan-lite-required-expansions-m8g
compile_variant: *linux_debug_aubsan_compile_variant_name
lang_environment: LANG=C
san_options: *aubsan_options
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
max_sub_suites: 3
large_distro_name: amazon2023-arm64-latest-m8g-8xlarge
xlarge_distro_name: amazon2023-arm64-latest-m8g-16xlarge
multiversion_platform: amazon2023
multiversion_edition: enterprise
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel8-debug-tsan-compile-dependency
depends_on:
- name: archive_dist_test
variant: &enterprise-rhel8-debug-tsan-compile enterprise-rhel8-debug-tsan-compile
- name: archive_jstestshell
variant: *enterprise-rhel8-debug-tsan-compile
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel8-debug-tsan-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
lang_environment: LANG=C
toolchain_version: stable
compile_variant: *enterprise-rhel8-debug-tsan-compile
# If you add anything to san_options, make sure the appropriate
# changes are also made in bazel.
#
# TODO SERVER-49121: die_after_fork=0 is a temporary setting to
# allow tests to continue while we figure out why we're running
# afoul of it.
#
# TODO SERVER-65936: report_thread_leaks=0 suppresses reporting
# thread leaks, which we have because we don't do a clean shutdown
# of the ServiceContext.
#
san_options: TSAN_OPTIONS="abort_on_error=1:disable_coredump=0:handle_abort=1:halt_on_error=1:report_thread_leaks=0:die_after_fork=0:history_size=4:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
build_mongot: true
download_mongot_release: true
bazel_compile_flags: >-
--config=dbg_tsan
--opt=on
--fission=no
--jobs=800
# Avoid starting too many mongod's under TSAN build.
resmoke_jobs_factor: 0.3
- &enterprise-rhel8-debug-tsan-expansions-template-x86
<<: *enterprise-rhel8-debug-tsan-expansions-template
large_distro_name: &enterprise-rhel8-debug-tsan-large-distro-name rhel8.8-xlarge
xlarge_distro_name: rhel8.8-xxlarge
core_analyzer_distro_name: rhel8.8-xxlarge
multiversion_platform: rhel8
multiversion_edition: enterprise
buildvariants:
- <<: *generic_linux_compile_params_m8g
name: &linux-arm64-debug-compile-required linux-arm64-debug-compile-required # TODO: replace with Sanitizer.
display_name: "! Amazon Linux 2023 arm64 GCC DEBUG Compile"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
stepback: false
expansions:
<<: *linux_debug_community_compile_expansions
compile_variant: *linux-arm64-debug-compile-required
build_mongot: true
download_mongot_release: true
evergreen_remote_exec: on
skip_debug_link: true
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.stitch !.crypt
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.stitch !.crypt
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- <<: *generic_linux_compile_params_m8g
name: &linux-debug-aubsan-compile-required linux-debug-aubsan-compile-required
display_name: "! Amazon Linux 2023 arm64 {A,UB}SAN Enterprise Compile"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
expansions:
san_options: *aubsan_options
has_packages: false
multiversion_platform: amazon2023
multiversion_edition: enterprise
multiversion_architecture: aarch64
repo_edition: enterprise
large_distro_name: amazon2023-arm64-latest-m8g-8xlarge
core_analyzer_distro_name: amazon2023-arm64-latest-m8g-8xlarge
bazel_compile_flags: >-
--config=dbg_aubsan
--opt=on
--fission=no
--jobs=800
--remote_execution_priority=3
build_mongot: true
download_mongot_release: true
evergreen_remote_exec: on
compile_variant: *linux-debug-aubsan-compile-required
test_flags: >-
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
- name: compile_jstestshell_TG
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- amazon2023-arm64-latest-m8g-8xlarge
# This needs to be RHEL8 since it's used for multiversion testing.
- <<: *generic_linux_compile_params
name: &rhel8-debug-aubsan-compile-x86 rhel8-debug-aubsan-compile-x86
display_name: "RHEL 8 x86_64 {A,UB}SAN Enterprise Compile"
tags: ["forbid_tasks_tagged_with_experimental"]
expansions:
<<: *generic_linux_compile_expansions
activate: false
san_options: *aubsan_options
bazel_compile_flags: >-
--config=dbg_aubsan
--opt=on
--fission=no
--jobs=800
build_mongot: true
download_mongot_release: true
evergreen_remote_exec: on
compile_variant: *rhel8-debug-aubsan-compile-x86
test_flags: >-
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
- name: compile_jstestshell_TG
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- rhel8.8-xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- rhel8.8-xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan
distros:
- rhel8.8-xlarge
# ARM64 version of rhel8-debug-aubsan-compile-x86 for multiversion testing on RHEL8 ARM64
- name: &rhel8-arm64-debug-aubsan-compile rhel8-arm64-debug-aubsan-compile
display_name: "RHEL 8 arm64 {A,UB}SAN Enterprise Compile (not multiversion)"
tags: ["forbid_tasks_tagged_with_experimental"]
run_on:
- rhel8.8-arm64-m8g-8xlarge
stepback: false
expansions:
<<: *generic_linux_compile_expansions
activate: false
san_options: *aubsan_options
large_distro_name: rhel8.8-arm64-m8g-8xlarge
core_analyzer_distro_name: rhel8.8-arm64-m8g-8xlarge
bazel_compile_flags: >-
--config=dbg_aubsan
--opt=on
--fission=no
--jobs=800
build_mongot: true
download_mongot_release: true
evergreen_remote_exec: on
compile_variant: *rhel8-arm64-debug-aubsan-compile
test_flags: >-
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
tasks:
- name: compile_test_parallel_core_stream_TG !.multiversion
- name: run_unit_tests_TG !.multiversion
- name: compile_test_parallel_dbtest_stream_TG !.multiversion
- name: compile_integration_and_test_parallel_stream_TG !.multiversion
- name: compile_jstestshell_TG !.multiversion
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan !.multiversion !.multiversion
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan !.multiversion !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan !.multiversion !.multiversion
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan !.multiversion !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_aubsan !.multiversion !.multiversion
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_aubsan !.multiversion !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- <<: *linux_arm64_debug_compile_variant_dependency
name: linux-64-debug-required
display_name: "! Amazon Linux 2023 arm64 GCC DEBUG"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- amazon2023-arm64-latest-medium-m8g
expansions:
<<: *linux_debug_community_compile_expansions
build_mongot: true
download_mongot_release: true
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
test_flags: >-
--excludeWithAnyTags=requires_http_client
--modules=none
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
target_resmoke_time: 15
max_sub_suites: 5
large_distro_name: amazon2023-arm64-latest-medium-m8g
core_analyzer_distro_name: amazon2023-arm64-latest-m8g-8xlarge
compile_variant: *linux_arm64_debug_compile_variant_name
resmoke_tests_tag_filter: ci-development-critical,ci-release-critical
evergreen_remote_exec: on
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_community !.requires_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.has_bazel_target
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_community !.requires_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.has_bazel_target
distros:
- amazon2023-arm64-latest-medium-m8g
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_community !.requires_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.has_bazel_target
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_community !.requires_all_feature_flags !.suggested_excluding_required__for_devprod_mitigation_only !.has_bazel_target
distros:
- amazon2023-arm64-latest-medium-m8g
- name: resmoke_tests_TG
distros:
- amazon2023-arm64-latest-m8g-8xlarge
depends_on:
- name: version_expansions_gen
variant: generate-tasks-for-version
- name: bazel_result_tasks_gen
variant: generate-tasks-for-version
- <<: *linux_debug_aubsan_compile_variant_dependency
name: linux-debug-aubsan-lite-all-feature-flags-required
display_name: "! Amazon Linux 2023 arm64 {A,UB}SAN Enterprise DEBUG (all feature flags)"
tags: ["required"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- amazon2023-arm64-latest-medium-m8g
expansions:
<<: *aubsan-lite-required-expansions-m8g
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in
# fcv_upgrade_downgrade tests, when concurrent FCV upgrade/downgrades can keep batch write
# operations from making progress on slow sanitizer variants.
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_aubsan
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000, maxRoundsWithoutProgressParameter: 20}"
tasks:
- name: jsCore_in_parts_gen
- name: jsCore_txns
- name: jsCore_wildcard_indexes_gen
- <<: *rhel8_debug_aubsan_compile_variant_dependency_x86
name: rhel8-debug-aubsan-x86
display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8 x86 DEBUG (multiversion)"
tags:
[
"suggested",
"forbid_tasks_tagged_with_experimental",
"emergency_release",
]
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
test_flags: >-
--excludeWithAnyTags=requires_increased_memlock_limits,incompatible_aubsan
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks:
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
distros:
- rhel8.8-xlarge
- name: .release_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
distros:
- rhel8.8-xlarge
- name: .default !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
- name: .default !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
distros:
- rhel8.8-xlarge
- name: .non_deterministic !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags .multiversion
distros:
- rhel8.8-xlarge
- <<: *rhel8_debug_aubsan_compile_variant_dependency_arm64
name: rhel8-debug-aubsan-arm64
display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8 arm64 DEBUG (not multiversion)"
tags:
[
"suggested",
"forbid_tasks_tagged_with_experimental",
"emergency_release",
]
cron: "0 1 1-31/2 * *" # For cost reasons, we run this variant every other day
run_on:
- rhel8.8-arm64-m8g-8xlarge
expansions:
<<: *aubsan-lite-required-expansions
compile_variant: *rhel8_arm64_debug_aubsan_compile_variant_name
large_distro_name: rhel8.8-arm64-m8g-8xlarge
xlarge_distro_name: rhel8.8-arm64-m8g-12xlarge
test_flags: >-
--excludeWithAnyTags=requires_increased_memlock_limits,incompatible_aubsan
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks:
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- name: .release_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- name: .default !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
- name: .default !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- name: .non_deterministic !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.requires_all_feature_flags !.multiversion
distros:
- rhel8.8-arm64-m8g-8xlarge
- <<: *rhel8_debug_aubsan_compile_variant_dependency_x86
name: rhel8-debug-aubsan-roll-back-incremental-feature-flags
display_name: "Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG (roll back incremental feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 1 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks:
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- rhel8.8-large
- name: .release_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- rhel8.8-large
- name: .default !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .default !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- rhel8.8-large
- name: .non_deterministic !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- rhel8.8-large
- <<: *rhel8_debug_aubsan_compile_variant_dependency_x86
name: rhel8-debug-aubsan-experimental
display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG Experimental"
tags: ["suggested"]
cron: "0 1 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
test_flags: >-
--excludeWithAnyTags=requires_increased_memlock_limits
--excludeWithAnyTags=incompatible_aubsan
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks:
- name: .multiversion_fuzzer
- name: .multiversion_passthrough
- name: .random_multiversion_ds
- name: .watchdog
- name: rhel8-asan
display_name: ~ ASAN RHEL 8
tags: []
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
stepback: true
expansions:
lang_environment: LANG=C
san_options: *aubsan_options
bazel_compile_flags: >-
--opt=on
--allocator=system
--asan=True
--compiler_type=clang
--linkstatic=False
--build_enterprise=False
--separate_debug=False
multiversion_platform: rhel8
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under ASAN build.
hang_analyzer_dump_core: false
test_flags: >-
--excludeWithAnyTags=requires_fast_memory,corrupts_data
--modules=none
compile_variant: rhel8-asan
tasks:
- name: compile_test_serial_TG
- name: run_unit_tests_TG
- name: .aggfuzzer .common !.feature_flag_guarded !.incompatible_system_allocator
- name: .jstestfuzz !.initsync !.feature_flag_guarded !.incompatible_system_allocator
- name: generate_buildid_to_debug_symbols_mapping
- name: &rhel8-debug-aubsan-lite_fuzzer rhel8-debug-aubsan-lite_fuzzer
display_name: "{A,UB}SAN Enterprise RHEL 8 FUZZER"
tags: []
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-xlarge
stepback: false
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
lang_environment: LANG=C
toolchain_version: stable
# If you add anything to san_options, make sure the appropriate changes are
# also made in bazel
san_options: *aubsan_options
bazel_compile_flags: >-
--config=dbg_aubsan
--linkstatic=True
--opt=on
--fission=no
--fsan=True
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--excludeWithAnyTags=corrupts_data
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
compile_variant: *rhel8-debug-aubsan-lite_fuzzer
display_tasks:
- name: libfuzzertests!
execution_tasks:
- compile_and_archive_libfuzzertests
- fetch_and_run_libfuzzertests
tasks:
- name: compile_archive_and_run_libfuzzertests_TG
- name: enterprise-rhel8-debug-tsan-compile
display_name: "* TSAN Enterprise RHEL 8 DEBUG Compile"
tags:
[
"suggested",
"forbid_tasks_tagged_with_experimental",
"emergency_release",
]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
stepback: false
expansions:
<<: *enterprise-rhel8-debug-tsan-expansions-template-x86
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
distros:
- rhel8.8-xlarge
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_integration_and_test_parallel_stream_TG
- name: compile_jstestshell_TG
- name: .development_critical .requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan
- name: .development_critical .requires_compile_variant .requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan
distros:
- rhel8.8-xlarge
- name: .release_critical .requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan
- name: .release_critical .requires_compile_variant .requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan
distros:
- rhel8.8-xlarge
- name: .default .requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan
- name: .default .requires_compile_variant .requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan
distros:
- rhel8.8-xlarge
- name: &linux-arm64-tsan-essential-required linux-arm64-tsan-essential-required
display_name: "! Amazon Linux 2023 arm64 TSAN Enterprise Essential"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- amazon2023-arm64-latest-m8g-2xlarge
stepback: false
expansions:
evergreen_remote_exec: on
test_flags: >-
--excludeWithAnyTags=tsan_incompatible
bazel_compile_flags: >-
--config=dbg_tsan
--opt=on
--fission=no
--jobs=1600
--remote_execution_priority=3
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
lang_environment: LANG=C
toolchain_version: stable
compile_variant: *linux-arm64-tsan-essential-required
san_options: TSAN_OPTIONS="abort_on_error=1:disable_coredump=0:handle_abort=1:halt_on_error=1:report_thread_leaks=0:die_after_fork=0:history_size=4:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
build_mongot: true
download_mongot_release: true
# Avoid starting too many mongod's under TSAN build.
resmoke_jobs_factor: 0.3
large_distro_name: amazon2023-arm64-latest-m8g-8xlarge
xlarge_distro_name: amazon2023-arm64-latest-m8g-16xlarge
core_analyzer_distro_name: amazon2023-arm64-latest-m8g-16xlarge
multiversion_platform: amazon2023
multiversion_edition: enterprise
tasks:
- name: compile_test_parallel_core_stream_TG
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- name: run_unit_tests_TG
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- name: compile_test_parallel_dbtest_stream_TG
- name: compile_jstestshell_TG
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- name: .development_critical !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- amazon2023-arm64-latest-m8g-8xlarge
- <<: *enterprise-rhel8-debug-tsan-compile-dependency
name: enterprise-rhel8-debug-tsan
display_name: "* TSAN Enterprise RHEL 8 DEBUG"
tags:
[
"suggested",
"forbid_tasks_tagged_with_experimental",
"emergency_release",
]
cron: "0 2 1-31/2 * *" # For cost reasons, we run this variant every other day.
run_on:
- rhel8.8-large
stepback: false
expansions:
<<: *enterprise-rhel8-debug-tsan-expansions-template-x86
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180, receiveChunkWaitForRangeDeleterTimeoutMS: 180000}"
--excludeWithAnyTags=tsan_incompatible
tasks:
- name: .mongot_e2e_tests !.requires_large_host !.experimental
- name: .mongot_e2e_tests .requires_large_host !.experimental
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .development_critical !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .release_critical !.requires_extra_system_deps !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .release_critical !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .default !.requires_extra_system_deps !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
- name: .default !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .default !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .non_deterministic !.requires_extra_system_deps !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- <<: *enterprise-rhel8-debug-tsan-compile-dependency
name: enterprise-rhel8-debug-tsan-roll-back-incremental-feature-flags
display_name: "TSAN Enterprise RHEL 8 DEBUG (roll back incremental feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
stepback: false
expansions:
<<: *enterprise-rhel8-debug-tsan-expansions-template-x86
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180, receiveChunkWaitForRangeDeleterTimeoutMS: 180000}"
--excludeWithAnyTags=tsan_incompatible
--disableUnreleasedIFRFlags
tasks:
- name: .development_critical !.requires_extra_system_deps !.requires_large_host !.requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .development_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .development_critical !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .release_critical !.requires_extra_system_deps !.requires_large_host .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .release_critical !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .release_critical !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .default !.requires_extra_system_deps !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .default !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .default !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .non_deterministic !.requires_extra_system_deps !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .non_deterministic !.requires_extra_system_deps .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags !.requires_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- <<: *rhel8_debug_aubsan_compile_variant_dependency_x86
name: rhel8-debug-aubsan-classic-engine
display_name: "* {A,UB}SAN Enterprise RHEL 8 DEBUG (Classic Engine)"
tags: ["suggested"]
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in
# fcv_upgrade_downgrade tests, when concurrent FCV upgrade/downgrades can keep batch write
# operations from making progress on slow sanitizer variants.
test_flags: >-
--mongodSetParameters="{internalQueryFrameworkControl: forceClassicEngine, internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
--excludeWithAnyTags=requires_increased_memlock_limits,featureFlagSbeFull,incompatible_aubsan,requires_sbe
tasks:
- name: .aggregation !.requires_extra_system_deps !.sbe_only
- name: .auth !.requires_extra_system_deps
- name: audit
- name: .causally_consistent !.requires_extra_system_deps !.wo_snapshot
- name: .change_streams
# - name: disk_wiredtiger
- name: .misc_js !.requires_extra_system_deps
- name: .concurrency !.requires_extra_system_deps !.no_txns !.kill_terminate !.compute_mode !.feature_flag_guarded
- name: .encrypt !.requires_extra_system_deps
- name: external_auth
- name: external_auth_aws
- name: external_auth_oidc
- name: initial_sync_fuzzer_gen
- name: fcv_upgrade_downgrade_replica_sets_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharding_jscore_passthrough_gen
- name: fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_gen
- name: .jscore .common !.sbe_only !.feature_flag_guarded
- name: jsCore_min_batch_repeat_queries_multiplan_single_solutions_ese_gsm
- name: jsCore_txns_large_txns_format
- name: json_schema
- name: .multi_shard .common !.requires_extra_system_deps
- name: .query_fuzzer !.requires_extra_system_deps
- name: .read_write_concern !.requires_extra_system_deps
- name: replica_sets_large_txns_format_jscore_passthrough
- name: .replica_sets !.requires_extra_system_deps !.multi_oplog !.uninitialized_fcv !.feature_flag_guarded
- name: .replica_sets .encrypt !.requires_extra_system_deps
- name: .resharding_fuzzer !.requires_extra_system_deps
- name: .retry !.requires_extra_system_deps
- name: .rollbackfuzzer !.requires_extra_system_deps
- name: .read_only !.requires_extra_system_deps
- name: sasl
- name: secondary_reads_passthrough_gen
- name: session_jscore_passthrough
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.feature_flag_guarded !.uninitialized_fcv
- name: .sharding .common !.requires_extra_system_deps !.csrs !.jstestfuzz !.feature_flag_guarded
- name: .updatefuzzer !.requires_extra_system_deps
- name: unittest_shell_hang_analyzer_gen
- name: .watchdog !.requires_extra_system_deps
- name: enterprise-rhel-8-64-bit-dynamic-spider-monkey-dbg
display_name: "~Enterprise RHEL 8 SpiderMonkey Debug"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-small
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
# JS_GC_ZEAL modes can be found at https://github.com/mongodb/mongo/blob/r8.0.0-rc9/src/third_party/mozjs/extract/js/src/gc/GC.cpp#L563-L612.
# These modes correspond to a GC policy of generationalGC (mode 7) every 75 allocations, and a
# consistency check of the heap after every GC cycle (mode 15).
mongo_mozjs_options: "7;15,75"
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--spider_monkey_dbg=True
--dtlto=False
--pgo_profile_use=False
compile_variant: enterprise-rhel-8-64-bit-dynamic-spider-monkey-dbg
exec_timeout_secs: 32400 # 9 hour timeout
timeout_secs: 18000 # 5 hour idle timeout
test_flags: >-
--includeWithAnyTags=requires_scripting
depends_on: []
tasks:
- name: compile_test_parallel_core_stream_TG
distros:
- rhel8.8-xlarge
- name: aggregation
- name: aggregation_mongos_passthrough
distros:
- rhel8.8-large
- name: auth_gen
- name: concurrency_simultaneous_gen
- name: jsCore
distros:
- rhel8.8-large
- name: noPassthrough_gen
distros:
- rhel8.8-large
- name: sharding_gen
- name: &rhel8-debug-ubsan-roll-back-incremental-feature-flags rhel8-debug-ubsan-roll-back-incremental-feature-flags
display_name: "Shared Library UBSAN Enterprise RHEL 8 DEBUG (roll back incremental feature flags)"
tags: []
cron: "0 2 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
stepback: false
expansions:
core_analyzer_gdb_index_cache: off
toolchain_version: stable
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
lang_environment: LANG=C
san_options: *ubsan_options
bazel_compile_flags: >-
--dbg=True
--opt=on
--ubsan=True
--compiler_type=clang
--dtlto=False
--pgo_profile_use=False
--allocator=tcmalloc-gperf
--separate_debug=False
compile_variant: *rhel8-debug-ubsan-roll-back-incremental-feature-flags
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--excludeWithAnyTags=requires_increased_memlock_limits,all_feature_flags_incompatible
--disableUnreleasedIFRFlags
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
multiversion_platform: rhel8
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
large_distro_name: rhel8.8-large
tasks:
- name: compile_and_archive_dist_test_TG
- name: .concurrency !.requires_extra_system_deps !.no_txns !.kill_terminate

View File

@ -1,689 +0,0 @@
# Instrumented build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_expansions # The most commonly used compile expansions.
has_packages: false
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &rhel8_debug_aubsan_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &rhel8_debug_aubsan_compile_variant_name rhel8-debug-aubsan-compile-x86
- name: archive_jstestshell
variant: *rhel8_debug_aubsan_compile_variant_name
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: rhel8-debug-aubsan-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_dynamic_compile_variant_name linux-x86-dynamic-compile
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_and_lts_branches_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_x86_generic_expansions
multiversion_platform: rhel8
multiversion_edition: enterprise
repo_edition: enterprise
large_distro_name: rhel8.8-medium
core_analyzer_distro_name: rhel8.8-xlarge
compile_variant: *linux_x86_dynamic_compile_variant_name
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel-8-64-bit-dynamic-expansions
<<: *linux_x86_generic_expansions
has_packages: false
jstestfuzz_num_generated_files: 40
jstestfuzz_concurrent_num_files: 10
target_resmoke_time: 10
max_sub_suites: 5
idle_timeout_factor: 1.5
exec_timeout_factor: 1.5
large_distro_name: rhel8.8-medium
# If you add anything to san_options, make sure the appropriate changes are
# also made in bazel.
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- aubsan_options: &aubsan_options >-
UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1"
ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# https://github.com/grpc/grpc/issues/21537 -- have to disable checking odr violations on gRPC if it is not in native Bazel build.
- grpc_aubsan_options: &grpc_aubsan_options >-
UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
LSAN_OPTIONS="suppressions=etc/lsan.suppressions:report_objects=1"
ASAN_OPTIONS="detect_odr_violation=0:detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- ubsan_options: &ubsan_options UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &aubsan-lite-required-expansions
compile_variant: *rhel8_debug_aubsan_compile_variant_name
lang_environment: LANG=C
san_options: *aubsan_options
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under {A,UB}SAN build.
hang_analyzer_dump_core: false
max_sub_suites: 3
large_distro_name: rhel8.8-xlarge
xlarge_distro_name: rhel8.8-xxlarge
multiversion_platform: rhel8
multiversion_edition: enterprise
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel8-debug-tsan-compile-dependency
depends_on:
- name: archive_dist_test
variant: &enterprise-rhel8-debug-tsan-compile enterprise-rhel8-debug-tsan-compile
- name: archive_jstestshell
variant: *enterprise-rhel8-debug-tsan-compile
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &enterprise-rhel8-debug-tsan-expansions-template
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
lang_environment: LANG=C
toolchain_version: stable
compile_variant: *enterprise-rhel8-debug-tsan-compile
# If you add anything to san_options, make sure the appropriate
# changes are also made in bazel.
#
# TODO SERVER-49121: die_after_fork=0 is a temporary setting to
# allow tests to continue while we figure out why we're running
# afoul of it.
#
# TODO SERVER-65936: report_thread_leaks=0 suppresses reporting
# thread leaks, which we have because we don't do a clean shutdown
# of the ServiceContext.
#
san_options: TSAN_OPTIONS="abort_on_error=1:disable_coredump=0:handle_abort=1:halt_on_error=1:report_thread_leaks=0:die_after_fork=0:history_size=4:suppressions=etc/tsan.suppressions:external_symbolizer_path=/opt/mongodbtoolchain/v5/bin/llvm-symbolizer"
build_mongot: true
download_mongot_release: true
bazel_compile_flags: >-
--config=dbg_tsan
--opt=on
--fission=no
--jobs=800
# Avoid starting too many mongod's under TSAN build.
resmoke_jobs_factor: 0.3
large_distro_name: &enterprise-rhel8-debug-tsan-large-distro-name rhel8.8-xlarge
xlarge_distro_name: rhel8.8-xxlarge
core_analyzer_distro_name: rhel8.8-xxlarge
multiversion_platform: rhel8
multiversion_edition: enterprise
buildvariants:
###########################################
# Redhat buildvariants #
###########################################
- name: &enterprise-rhel-8-64-bit-dynamic-debug-mode enterprise-rhel-8-64-bit-dynamic-debug-mode
display_name: "Enterprise RHEL 8 Debug Mode"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * 0" # From the ${project_weekly_cron} parameter
run_on:
- rhel8.8-small
stepback: false
expansions:
<<: *enterprise-rhel-8-64-bit-dynamic-expansions
compile_variant: *enterprise-rhel-8-64-bit-dynamic-debug-mode
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--excludeWithAnyTags=incompatible_slow_machine
bazel_compile_flags: >-
--define=MONGO_DISTMOD=rhel88
--use_glibcxx_debug=True
--dtlto=False
--pgo_profile_use=False
--dbg=True
--allocator=system
exec_timeout_secs: 32400 # 9 hour timeout
timeout_secs: 18000 # 5 hour idle timeout
large_distro_name: &enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name rhel8.8-xlarge
build_mongot: true
download_mongot_release: false
depends_on: []
tasks:
- name: compile_test_parallel_core_stream_TG
distros:
- rhel8.8-xlarge
- name: run_unit_tests_TG
distros:
- rhel8.8-xlarge
- name: compile_test_parallel_dbtest_stream_TG
distros:
- rhel8.8-xlarge
- name: compile_integration_and_test_parallel_stream_TG
distros:
- rhel8.8-large
- name: crypt_build_debug_and_test
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .development_critical !.requires_large_host !.requires_large_host_debug_mode !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
- name: .development_critical .requires_large_host !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .development_critical .requires_large_host_debug_mode !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .release_critical !.requires_large_host !.requires_large_host_debug_mode !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
- name: .release_critical .requires_large_host !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .release_critical .requires_large_host_debug_mode !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .default !.requires_large_host !.requires_large_host_debug_mode !.requires_extra_system_deps !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .default .requires_large_host_debug_mode !.requires_extra_system_deps !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .non_deterministic !.requires_large_host !.requires_large_host_debug_mode !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
- name: .non_deterministic .requires_large_host !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
- name: .non_deterministic .requires_large_host_debug_mode !.incompatible_development_variant !.incompatible_debug_mode !.incompatible_system_allocator !.requires_all_feature_flags
distros:
- *enterprise-rhel-8-64-bit-dynamic-debug-mode-large-distro-name
###########################################
# Windows buildvariants #
###########################################
- name: &windows-debug-suggested windows-debug-suggested
display_name: "* Windows Server 2022 DEBUG"
tags: ["suggested", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- windows-2022-small
expansions:
exe: ".exe"
content_type: application/zip
bazel_compile_flags: >-
--dbg=True
--opt=on
--define=MONGO_DISTMOD=windows
--build_enterprise=False
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
large_distro_name: windows-2022-large
test_flags: >-
--excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
--modules=none
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
compile_variant: *windows-debug-suggested
tasks:
- name: compile_test_serial_TG
distros:
- windows-2022-xxlarge
- name: run_unit_tests_no_sandbox_TG
distros:
- windows-2022-xxlarge
- name: compile_integration_and_test_no_audit_parallel_stream_TG
distros:
- windows-2022-xxlarge
- name: .development_critical !.requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_windows !.requires_all_feature_flags
- name: .development_critical .requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_windows !.requires_all_feature_flags
distros:
- windows-2022-large
- name: .release_critical !.requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_windows !.requires_all_feature_flags
- name: .release_critical .requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_windows !.requires_all_feature_flags
distros:
- windows-2022-large
- name: &enterprise-windows-debug-unoptimized enterprise-windows-debug-unoptimized
display_name: "Enterprise Windows Server 2022 DEBUG (Unoptimized)"
tags: []
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- windows-2022-small
expansions:
compile_variant: *enterprise-windows-debug-unoptimized
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
exe: ".exe"
content_type: application/zip
bazel_compile_flags: >-
--dbg=True
--opt=off
--define=MONGO_DISTMOD=windows
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
resmoke_jobs_max: 1
test_flags: >-
--excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
tasks:
# This variant tests that unoptimized, DEBUG mongos and mongod binaries can run on Windows.
# It has a minimal amount of tasks because unoptimized builds are slow, which causes
# timing-sensitive tests to fail.
- name: compile_and_archive_dist_test_TG
distros:
- windows-2022-xxlarge
- name: audit
# Do not add more tasks to this list.
###########################################
# macos buildvariants #
###########################################
- name: &macos-debug-suggested macos-debug-suggested
display_name: "* macOS arm64 DEBUG"
tags: ["suggested", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- macos-14-arm64
expansions:
compile_variant: *macos-debug-suggested
test_flags: >-
--excludeWithAnyTags=incompatible_with_macos,requires_otel_build
--modules=none
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
resmoke_jobs_max: 6
bazel_compile_flags: >-
--dbg=True
--opt=on
--build_enterprise=False
tasks:
- name: compile_test_serial_TG
- name: run_unit_tests_8_way_split_TG
- name: .development_critical !.requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_mac !.requires_all_feature_flags
- name: .development_critical .requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_mac !.requires_all_feature_flags
distros:
- macos-14-arm64
- name: .release_critical !.requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_mac !.requires_all_feature_flags
- name: .release_critical .requires_large_host !.incompatible_development_variant !.incompatible_community !.incompatible_mac !.requires_all_feature_flags
distros:
- macos-14-arm64
- name: &enterprise-macos enterprise-macos
display_name: "Enterprise macOS arm64 DEBUG"
tags: []
cron: "0 2 * * 6" # Once per week on Saturday, this does not catch many bugs
run_on:
- macos-14-arm64
expansions:
compile_variant: *enterprise-macos
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_otel_build
bazel_compile_flags: >-
--dbg=True
--opt=on
resmoke_jobs_max: 6
tasks:
- name: compile_test_serial_TG
- name: run_unit_tests_8_way_split_TG
- name: audit
- name: auth_audit
- name: fle
- name: fle2
- name: .jscore .common !.decimal !.sharding
- name: replica_sets_auth_gen
- name: sasl
- name: .crypt
###########################################
# Experimental buildvariants #
###########################################
- name: &rhel8-debug-ubsan-all-feature-flags rhel8-debug-ubsan-all-feature-flags
display_name: "* Shared Library UBSAN Enterprise RHEL 8 DEBUG (all feature flags)"
tags: ["suggested", "emergency_release"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
stepback: false
expansions:
core_analyzer_gdb_index_cache: off
toolchain_version: stable
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
lang_environment: LANG=C
san_options: *ubsan_options
bazel_compile_flags: >-
--dbg=True
--opt=on
--ubsan=True
--compiler_type=clang
--dtlto=False
--pgo_profile_use=False
--allocator=tcmalloc-gperf
--separate_debug=False
compile_variant: *rhel8-debug-ubsan-all-feature-flags
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--excludeWithAnyTags=requires_increased_memlock_limits,all_feature_flags_incompatible
--runAllFeatureFlagTests
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
multiversion_platform: rhel8
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
large_distro_name: rhel8.8-large
tasks:
- name: compile_and_archive_dist_test_TG
- name: .concurrency !.requires_extra_system_deps !.no_txns !.kill_terminate
- name: disk_wiredtiger
- name: generate_buildid_to_debug_symbols_mapping
- name: rhel8-debug-ubsan-all-non-rollback-feature-flags
display_name: "Shared Library UBSAN Enterprise RHEL 8 DEBUG (all non-rollback feature flags)"
tags: []
cron: "0 2 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
stepback: false
expansions:
san_options: *ubsan_options
compile_variant: *rhel8-debug-ubsan-all-feature-flags
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--excludeWithAnyTags=requires_increased_memlock_limits,all_feature_flags_incompatible
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
multiversion_platform: rhel8
multiversion_edition: enterprise
resmoke_jobs_factor: 0.3 # Avoid starting too many mongod's under UBSAN build.
large_distro_name: rhel8.8-large
core_analyzer_gdb_index_cache: off
depends_on:
- name: archive_dist_test
variant: *rhel8-debug-ubsan-all-feature-flags
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
tasks:
- name: .concurrency !.requires_extra_system_deps !.no_txns !.kill_terminate
- <<: *rhel8_debug_aubsan_compile_variant_dependency
name: rhel8-debug-aubsan-all-feature-flags
display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG (all feature flags)"
tags:
[
"suggested",
"forbid_tasks_tagged_with_experimental",
"emergency_release",
]
cron: "0 2 1-31/2 * *" # For cost reasons, we run this variant every other day
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in
# fcv_upgrade_downgrade tests, when concurrent FCV upgrade/downgrades can keep batch write
# operations from making progress on slow sanitizer variants.
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks: &rhel8-debug-aubsan-task-list
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- rhel8.8-xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- rhel8.8-xlarge
- name: .default !.requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- rhel8.8-xlarge
- name: .non_deterministic !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .non_deterministic .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_aubsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- rhel8.8-xlarge
- <<: *rhel8_debug_aubsan_compile_variant_dependency
name: rhel8-debug-aubsan-experimental-all-feature-flags
display_name: "* Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG Experimental (all feature flags)"
tags: ["suggested"]
cron: "0 2 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks:
- name: .multiversion_fuzzer
- name: .multiversion_passthrough
- name: .random_multiversion_ds
- name: .watchdog
- <<: *rhel8_debug_aubsan_compile_variant_dependency
name: rhel8-debug-aubsan-non-rollback-feature-flags
display_name: "Shared Library {A,UB}SAN Enterprise RHEL 8 DEBUG (all non-rollback feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in
# fcv_upgrade_downgrade tests, when concurrent FCV upgrade/downgrades can keep batch write
# operations from making progress on slow sanitizer variants.
test_flags: >-
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
tasks: *rhel8-debug-aubsan-task-list
- name: &rhel8-debug-aubsan-benchmarks rhel8-debug-aubsan-benchmarks
display_name: "* {A,UB}SAN Enterprise RHEL 8 DEBUG (Benchmarks)"
tags: ["suggested"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
expansions:
<<: *generic_linux_compile_expansions
san_options: *aubsan_options
bazel_compile_flags: >-
--config=dbg_aubsan
--opt=on
--fission=no
test_flags: >-
--benchmarkRepetitions=1
--excludeWithAnyTags=incompatible_aubsan
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180}"
--mongosSetParameters="{findShardsOnConfigTimeoutMS: 30000}"
compile_variant: *rhel8-debug-aubsan-benchmarks
tasks:
- name: compile_upload_benchmarks_TG
distros:
- rhel8.8-xlarge
- name: .benchmarks
- <<: *enterprise-rhel8-debug-tsan-compile-dependency
name: enterprise-rhel8-debug-tsan-all-feature-flags
display_name: "* TSAN Enterprise RHEL 8 DEBUG (all feature flags)"
tags:
[
"suggested",
"forbid_tasks_tagged_with_experimental",
"emergency_release",
]
cron: "0 2 1-31/2 * *" # For cost reasons, we run this variant every other day.
run_on:
- rhel8.8-large
stepback: false
expansions:
<<: *enterprise-rhel8-debug-tsan-expansions-template
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in
# fcv_upgrade_downgrade tests, when concurrent FCV upgrade/downgrades can keep batch write
# operations from making progress on slow sanitizer variants.
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180, receiveChunkWaitForRangeDeleterTimeoutMS: 180000}"
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
--excludeWithAnyTags=tsan_incompatible
--runAllFeatureFlagTests
tasks: &enterprise-rhel8-debug-tsan-task-list
- name: .development_critical !.requires_large_host !.requires_compile_variant !.requires_large_host_tsan !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .development_critical .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .release_critical !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .release_critical .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .default !.requires_large_host !.requires_large_host_tsan !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .default .requires_large_host !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .default .requires_large_host_tsan !.requires_extra_system_deps !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .non_deterministic !.requires_large_host !.requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
- name: .non_deterministic .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- name: .non_deterministic .requires_large_host_tsan !.requires_compile_variant !.incompatible_development_variant !.incompatible_tsan !.incompatible_system_allocator !.incompatible_all_feature_flags
distros:
- *enterprise-rhel8-debug-tsan-large-distro-name
- <<: *enterprise-rhel8-debug-tsan-compile-dependency
name: enterprise-rhel8-debug-tsan-all-non-rollback-feature-flags
display_name: "TSAN Enterprise RHEL 8 DEBUG (all non-rollback feature flags)"
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * 0" # From the ${project_weekly_cron} parameter # This variant runs infrequently to reduce its cost.
run_on:
- rhel8.8-large
stepback: false
expansions:
<<: *enterprise-rhel8-debug-tsan-expansions-template
# The '{maxRoundsWithoutProgressParameter: 20}' is needed here to work around failures in
# fcv_upgrade_downgrade tests, when concurrent FCV upgrade/downgrades can keep batch write
# operations from making progress on slow sanitizer variants.
test_flags: >-
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true, fassertOnLockTimeoutForStepUpDown: 180, receiveChunkWaitForRangeDeleterTimeoutMS: 180000}"
--mongosSetParameters="{maxRoundsWithoutProgressParameter: 20}"
--excludeWithAnyTags=tsan_incompatible
--runAllFeatureFlagTests --disableUnreleasedIFRFlags
tasks: *enterprise-rhel8-debug-tsan-task-list
- name: &linux-debug-aubsan-compile-grpc linux-debug-aubsan-compile-grpc
display_name: "~ Linux x86 Shared Library {A,UB}SAN Enterprise Compile with Ingress GRPC"
tags: ["experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- rhel8.8-large
expansions:
<<: *aubsan-lite-required-expansions
has_packages: false
san_options: *grpc_aubsan_options
bazel_compile_flags: >-
--config=dbg_aubsan
--opt=on
--fission=no
--use_ocsp_stapling=False
compile_variant: *linux-debug-aubsan-compile-grpc
large_distro_name: rhel80-xlarge
test_flags: >-
--additionalFeatureFlags "featureFlagGRPC"
--excludeWithAnyTags=requires_external_data_source,requires_mongobridge,requires_auth,grpc_incompatible,creates_and_authenticates_user
--tlsMode preferTLS
--tlsCAFile jstests/libs/ca.pem
--shellTls
--shellTlsCertificateKeyFile jstests/libs/client.pem
--mongosTlsCertificateKeyFile jstests/libs/server.pem
--mongodTlsCertificateKeyFile jstests/libs/server.pem
--shellGRPC
tasks:
- name: run_unit_tests_TG
- name: compile_test_parallel_core_stream_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: generate_buildid_to_debug_symbols_mapping
# sharding_uninitialized_fcv_jscore_passthrough_gen spawns too many connections
# and processes to be used with TLS on a single host.
# aggregation_sharded_collections_causally_consistent_passthrough,
# aggregation_sharded_collections_passthrough, and
# sharding_jscore_passthrough_with_balancer_gen are too resource intensive with TLS and
# gRPC to run under the sanitizer.
# sharding_jscore_passthrough_priority_ports_gen does not support GRPC.
- name: .jscore .common !sharding_uninitialized_fcv_jscore_passthrough_gen !sharding_jscore_passthrough_with_balancer_gen !sharding_jscore_passthrough_priority_ports_gen !.auth !.txns !.feature_flag_guarded
- name: sharded_jscore_txns
- name: .aggregation !.auth !aggregation_read_concern_majority_passthrough !aggregation_secondary_reads_gen !aggregation_sharded_collections_causally_consistent_passthrough !aggregation_sharded_collections_passthrough
- name: .grpc_misc_js

View File

@ -1,111 +0,0 @@
# SUSE/SLES build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: enterprise-suse15-64
display_name: Enterprise SLES 15 (SP5)
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- suse15sp5-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-suse15
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=suse15
--build_otel=False
--disable_streams=True
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source,requires_increased_memlock_limits,requires_ldap_pool,resource_intensive,requires_otel_build
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: suse15
repo_edition: enterprise
compile_variant: enterprise-suse15-64
core_analyzer_distro_name: suse15sp5-large
core_analyzer_gdb_index_cache: off
tasks:
- name: compile_test_and_package_serial_TG
distros:
- suse15sp5-large
- name: run_unit_tests_TG
distros:
- suse15sp5-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- suse15sp5-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- suse15sp5-large
- name: suse15
display_name: SUSE 15 (SP5)
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- suse15sp5-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-suse15
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=suse15
--build_otel=False
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_increased_memlock_limits,requires_otel_build
--modules=none
multiversion_platform: suse15
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: suse15
repo_edition: org
large_distro_name: suse15sp5-large
compile_variant: suse15
core_analyzer_gdb_index_cache: off
tasks:
- name: compile_test_and_package_serial_TG
distros:
- suse15sp5-large
- name: run_unit_tests_TG
distros:
- suse15sp5-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- suse15sp5-large
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- suse15sp5-large

View File

@ -1,90 +0,0 @@
# Ubuntu build variants for testing development environments
#
# After the branching variants in this file
# should continue to run ONLY on a new LTS release (v7.0, v6.0 etc.) branch projects
# and should NOT run on a new rapid release (v7.1, v7.2 etc.) branch projects
variables:
- &enterprise-ubuntu2204-64-libvoidstar-template
run_on:
- ubuntu2204-large
stepback: false
expansions: &enterprise-ubuntu2204-64-libvoidstar-expansions-template
multiversion_platform: ubuntu2204
multiversion_edition: enterprise
repo_edition: enterprise
large_distro_name: ubuntu2204-large
antithesis_bazel_compile_flags: >-
--//bazel/config:antithesis=True
--copt=-fsanitize-coverage=trace-pc-guard
--linkopt=-lvoidstar
tasks:
- name: compile_and_archive_dist_test_TG
- name: .antithesis
- name: generate_buildid_to_debug_symbols_mapping
buildvariants:
- <<: *enterprise-ubuntu2204-64-libvoidstar-template
name: &enterprise-ubuntu2204-64-libvoidstar enterprise-ubuntu2204-64-libvoidstar
display_name: "~ Enterprise Ubuntu 22.04 w/ libvoidstar"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
expansions:
<<: *enterprise-ubuntu2204-64-libvoidstar-expansions-template
compile_variant: *enterprise-ubuntu2204-64-libvoidstar
antithesis_endpoint: core_server_vanilla
bazel_compile_flags: >-
${antithesis_bazel_compile_flags}
--define=MONGO_DISTMOD=ubuntu2204
--compiler_type=clang
--dtlto=False
--pgo_profile_use=False
--build_atlas=True
- <<: *enterprise-ubuntu2204-64-libvoidstar-template
name: &enterprise-ubuntu2204-64-aubsan-libvoidstar enterprise-ubuntu2204-64-aubsan-libvoidstar
display_name: "~ {A,UB}SAN Enterprise Ubuntu 22.04 w/ libvoidstar"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
expansions:
<<: *enterprise-ubuntu2204-64-libvoidstar-expansions-template
antithesis_build_type: aubsan
compile_variant: *enterprise-ubuntu2204-64-aubsan-libvoidstar
antithesis_endpoint: core_server_aubsan
bazel_compile_flags: >-
${antithesis_bazel_compile_flags}
--config=dbg_aubsan
--opt=on
--fission=no
--define=MONGO_DISTMOD=ubuntu2204
--copt=-shared-libsan
--build_atlas=True
san_options: >-
UBSAN_OPTIONS="print_stacktrace=1:external_symbolizer_path=/usr/lib/llvm-12/bin/llvm-symbolizer"
ASAN_OPTIONS="detect_leaks=1:check_initialization_order=true:strict_init_order=true:abort_on_error=1:disable_coredump=0:handle_abort=1:strict_string_checks=true:detect_invalid_pointer_pairs=1:verify_asan_link_order=0"
test_flags: >-
--excludeWithAnyTags=incompatible_aubsan
# The v4 toolchain doesn't support the -shared-libsan option with TSAN, which is necessary for
# libvoidstar to work. This variant can build and submit images, but they won't work with
# the antithesis instrumentation provided by libvoidstar.
# TODO SERVER-83727 After a toolchain upgrade, we should add -shared-libsan
- <<: *enterprise-ubuntu2204-64-libvoidstar-template
name: &enterprise-ubuntu2204-64-tsan-libvoidstar enterprise-ubuntu2204-64-tsan-libvoidstar
display_name: "~ TSAN Enterprise Ubuntu 22.04 w/ libvoidstar"
tags: []
cron: "0 1 * * *" # From the ${project_nightly_cron} parameter.
expansions:
<<: *enterprise-ubuntu2204-64-libvoidstar-expansions-template
antithesis_build_type: tsan
compile_variant: *enterprise-ubuntu2204-64-tsan-libvoidstar
antithesis_endpoint: core_server_tsan
bazel_compile_flags: >-
${antithesis_bazel_compile_flags}
--config=dbg_tsan
--opt=on
--fission=no
--define=MONGO_DISTMOD=ubuntu2204
--build_atlas=True
san_options: TSAN_OPTIONS="abort_on_error=1:disable_coredump=0:handle_abort=1:halt_on_error=1:report_thread_leaks=0:die_after_fork=0:history_size=4"
test_flags: >-
--excludeWithAnyTags=tsan_incompatible

View File

@ -1,49 +0,0 @@
# Ubuntu build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: &workstation_bazel_cache_hydration_arm64 workstation_bazel_cache_hydration_arm64
display_name: "~ Workstation Bazel Cache Hydration arm64"
tags: ["bazel_cache_hydration"]
cron: "0 * * * *" # Every hour
run_on:
- ubuntu2204-arm64-m8g-4xlarge
stepback: false
expansions:
compile_variant: *workstation_bazel_cache_hydration_arm64
evergreen_remote_exec: on
tasks:
- name: hydrate_bazel_profile_TG
- name: hydrate_all_headers_TG
- name: .clang_tidy
- name: &workstation_bazel_cache_hydration_x86_64 workstation_bazel_cache_hydration_x86_64
display_name: "~ Workstation Bazel Cache Hydration x86_64"
tags: ["bazel_cache_hydration"]
cron: "30 * * * *" # Every hour, 30 min offset
run_on:
- ubuntu2204-large
stepback: false
expansions:
compile_variant: *workstation_bazel_cache_hydration_x86_64
evergreen_remote_exec: on
tasks:
- name: hydrate_bazel_profile_TG
- name: .clang_tidy
- name: &upload_source_graph_index upload_source_graph_index
display_name: "~ Upload Source Graph Index"
tags: ["source_graph_indexing"]
cron: "0 */4 * * *" # Every 4 hours
# SourceGraph's indexer requires a lot of CPU to execute in a reasonable amount of time
run_on:
- rhel93-xxlarge
stepback: false
expansions:
compile_variant: *upload_source_graph_index
evergreen_remote_exec: on
tasks:
- name: build_source_graph_index_TG

View File

@ -1,712 +0,0 @@
# Ubuntu build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- &ubuntu2204-template
name: &ubuntu2204 ubuntu2204
display_name: Ubuntu 22.04
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2204-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-ubuntu2204
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2204
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_increased_memlock_limits
--modules=none
multiversion_platform: ubuntu2204
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: ubuntu2204
repo_edition: org
large_distro_name: ubuntu2204-large
compile_variant: ubuntu2204
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2204-large
- name: run_unit_tests_TG
distros:
- ubuntu2204-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2204-large
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2204-large
- <<: *ubuntu2204-template
name: ubuntu2204-powercycle
display_name: Ubuntu 22.04 Powercycle
tags: []
depends_on:
- name: archive_dist_test
variant: *ubuntu2204
tasks:
- name: .powercycle
- &ubuntu2404-template
name: &ubuntu2404 ubuntu2404
display_name: Ubuntu 24.04
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2404-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-ubuntu2404
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2404
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_increased_memlock_limits,requires_updated_oscrypto
--modules=none
multiversion_platform: ubuntu2404
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: ubuntu2404
repo_edition: org
large_distro_name: ubuntu2404-large
compile_variant: ubuntu2404
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2404-xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2404-xlarge
- name: test_packages
distros:
- ubuntu2404-large
- name: .development_critical !.requires_large_host !.incompatible_community !.incompatible_oscrypto
- name: .development_critical .requires_large_host !.incompatible_community !.incompatible_oscrypto
distros:
- ubuntu2404-large
- name: .release_critical !.requires_large_host !.incompatible_community !.incompatible_oscrypto
- name: .release_critical .requires_large_host !.incompatible_community !.incompatible_oscrypto
distros:
- ubuntu2404-large
- <<: *ubuntu2404-template
name: ubuntu2404-powercycle
display_name: Ubuntu 24.04 Powercycle
tags: []
depends_on:
- name: archive_dist_test
variant: *ubuntu2404
tasks:
- name: .powercycle
- name: ubuntu2004
display_name: Ubuntu 20.04
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2004-small
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: x86_64-ubuntu2004
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2004
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
multiversion_platform: ubuntu2004
multiversion_edition: targeted
has_packages: true
packager_script: packager.py
packager_arch: x86_64
packager_distro: ubuntu2004
repo_edition: org
large_distro_name: ubuntu2004-large
compile_variant: ubuntu2004
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2004-large
- name: run_unit_tests_TG
distros:
- ubuntu2004-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2004-large
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2004-large
- &enterprise-ubuntu2004-64-template
name: &enterprise-ubuntu2004-64 enterprise-ubuntu2004-64
display_name: Enterprise Ubuntu 20.04
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2004-small
stepback: false
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-ubuntu2004
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2004
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
multiversion_platform: ubuntu2004
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: ubuntu2004
repo_edition: enterprise
large_distro_name: ubuntu2004-large
compile_variant: enterprise-ubuntu2004-64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2004-large
- name: run_unit_tests_TG
distros:
- ubuntu2004-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- ubuntu2004-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- ubuntu2004-large
# This variant is owned by the security team and is special
# because these tests require headless support to run
- <<: *enterprise-ubuntu2004-64-template
name: enterprise-ubuntu2004-64-security
display_name: Enterprise Ubuntu 20.04 Security
tags: []
depends_on:
- name: archive_dist_test
variant: *enterprise-ubuntu2004-64
tasks:
- name: external_auth_oidc
- name: external_auth_oidc_azure
- name: external_auth_oidc_gcp
- name: enterprise-ubuntu2204-64
display_name: Enterprise Ubuntu 22.04
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2204-small
stepback: false
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-ubuntu2204
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2204
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
multiversion_platform: ubuntu2204
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: ubuntu2204
repo_edition: enterprise
large_distro_name: ubuntu2204-large
compile_variant: enterprise-ubuntu2204-64
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2204-large
- name: run_unit_tests_TG
distros:
- ubuntu2204-large
- name: test_packages
distros:
- ubuntu2204-large
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- ubuntu2204-large
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- ubuntu2204-large
- name: enterprise-ubuntu2204-jepsen-plain
display_name: Jepsen Tests
tags: ["bazel_check"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2204-small
# TODO SERVER-102932 remove --allocator=tcmalloc-gperf
expansions:
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2204
--allocator=tcmalloc-gperf
--disable_streams=True
compile_all_but_not_unittests_flags: >-
--linkopt=-s
large_distro_name: ubuntu2204-large
compile_variant: enterprise-ubuntu2204-jepsen-plain
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- ubuntu2204-large
- name: .jepsen
distros:
- ubuntu2204-large
- name: enterprise-ubuntu2204-jepsen
display_name: Jepsen Docker Tests
tags: ["bazel_check"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2204-small
stepback: false
expansions:
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2204
large_distro_name: ubuntu2204-large
compile_variant: enterprise-ubuntu2204-64
tasks:
- name: compile_and_archive_dist_test_TG
distros:
- ubuntu2204-large
- name: .jepsen_docker
distros:
- ubuntu2204-large
- name: enterprise-ubuntu2004-arm64
display_name: Enterprise Ubuntu 20.04 arm64
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2004-arm64-m8g-xlarge
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-ubuntu2004
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2004
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager_enterprise.py
packager_arch: arm64
packager_distro: ubuntu2004
repo_edition: enterprise
multiversion_platform: ubuntu2004
multiversion_architecture: aarch64
multiversion_edition: enterprise
compile_variant: enterprise-ubuntu2004-arm64
large_distro_name: ubuntu2004-arm64-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: ubuntu2004-arm64
display_name: Ubuntu 20.04 arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2004-arm64-m8g-xlarge
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-ubuntu2004
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2004
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager.py
packager_arch: arm64
packager_distro: ubuntu2004
repo_edition: org
multiversion_platform: ubuntu2004
multiversion_architecture: aarch64
multiversion_edition: targeted
compile_variant: ubuntu2004-arm64
large_distro_name: ubuntu2004-arm64-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-xlarge
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2004-arm64-m8g-4xlarge
- name: enterprise-ubuntu2204-arm64
display_name: Enterprise Ubuntu 22.04 arm64
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2204-arm64-m8g-xlarge
expansions:
additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-ubuntu2204
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: --define=MONGO_DISTMOD=ubuntu2204
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager_enterprise.py
packager_arch: arm64
packager_distro: ubuntu2204
repo_edition: enterprise
multiversion_platform: ubuntu2204
multiversion_architecture: aarch64
multiversion_edition: enterprise
compile_variant: enterprise-ubuntu2204-arm64
large_distro_name: ubuntu2204-arm64-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .development_critical !.requires_large_host
- name: .development_critical .requires_large_host
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host
- name: .release_critical .requires_large_host
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: ubuntu2204-arm64
display_name: Ubuntu 22.04 arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2204-arm64-m8g-xlarge
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-ubuntu2204
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2204
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source
--modules=none
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager.py
packager_arch: arm64
packager_distro: ubuntu2204
repo_edition: org
multiversion_platform: ubuntu2204
multiversion_architecture: aarch64
multiversion_edition: targeted
compile_variant: ubuntu2204-arm64
large_distro_name: ubuntu2204-arm64-m8g-4xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: test_packages
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .development_critical !.requires_large_host !.incompatible_community
- name: .development_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: .release_critical !.requires_large_host !.incompatible_community
- name: .release_critical .requires_large_host !.incompatible_community
distros:
- ubuntu2204-arm64-m8g-4xlarge
- name: enterprise-ubuntu2404
display_name: Enterprise Ubuntu 24.04
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2404-small
stepback: false
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: x86_64-enterprise-ubuntu2404
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2404
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: --excludeWithAnyTags=requires_external_data_source,requires_updated_oscrypto
multiversion_platform: ubuntu2404
multiversion_edition: enterprise
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
packager_distro: ubuntu2404
repo_edition: enterprise
large_distro_name: ubuntu2404-large
compile_variant: enterprise-ubuntu2404
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2404-xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2404-xlarge
- name: test_packages
distros:
- ubuntu2404-large
- name: test_packages_release
distros:
- rhel94-large-packagetest
- name: .development_critical !.requires_large_host !.incompatible_oscrypto
- name: .development_critical .requires_large_host !.incompatible_oscrypto
distros:
- ubuntu2404-large
- name: .release_critical !.requires_large_host !.incompatible_oscrypto
- name: .release_critical .requires_large_host !.incompatible_oscrypto
distros:
- ubuntu2404-large
- name: ubuntu2404-arm64
display_name: Ubuntu 24.04 arm64
tags: ["bazel_check", "forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2404-arm64-m8g-xlarge
expansions:
push_path: linux
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: linux
push_arch: aarch64-ubuntu2404
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: >-
--define=MONGO_DISTMOD=ubuntu2404
--build_enterprise=False
compile_all_but_not_unittests_flags: >-
--linkopt=-s
test_flags: >-
--excludeWithAnyTags=requires_external_data_source,requires_updated_oscrypto
--modules=none
resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager.py
packager_arch: arm64
packager_distro: ubuntu2404
repo_edition: org
multiversion_platform: ubuntu2404
multiversion_architecture: aarch64
multiversion_edition: targeted
compile_variant: ubuntu2404-arm64
large_distro_name: ubuntu2404-arm64-m8g-2xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: test_packages
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: .development_critical !.requires_large_host !.incompatible_community !.incompatible_oscrypto
- name: .development_critical .requires_large_host !.incompatible_community !.incompatible_oscrypto
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: .release_critical !.requires_large_host !.incompatible_community !.incompatible_oscrypto
- name: .release_critical .requires_large_host !.incompatible_community !.incompatible_oscrypto
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: enterprise-ubuntu2404-arm64
display_name: Enterprise Ubuntu 24.04 arm64
tags: ["forbid_tasks_tagged_with_experimental"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- ubuntu2404-arm64-m8g-xlarge
expansions:
additional_package_targets: archive-mongocryptd-stripped archive-mongocryptd-debug
push_path: linux
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: linux
push_arch: aarch64-enterprise-ubuntu2404
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
bazel_compile_flags: --define=MONGO_DISTMOD=ubuntu2404
test_flags: --excludeWithAnyTags=requires_external_data_source,requires_updated_oscrypto
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager_enterprise.py
packager_arch: arm64
packager_distro: ubuntu2404
repo_edition: enterprise
multiversion_platform: ubuntu2404
multiversion_architecture: aarch64
multiversion_edition: enterprise
compile_variant: enterprise-ubuntu2404-arm64
large_distro_name: ubuntu2404-arm64-m8g-2xlarge
tasks:
- name: compile_test_and_package_serial_TG
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: run_unit_tests_TG
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: test_packages
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: test_packages_release
distros:
- rhel94-arm64-m8g-4xlarge-packagetest
- name: .development_critical !.requires_large_host !.incompatible_oscrypto
- name: .development_critical .requires_large_host !.incompatible_oscrypto
distros:
- ubuntu2404-arm64-m8g-2xlarge
- name: .release_critical !.requires_large_host !.incompatible_oscrypto
- name: .release_critical .requires_large_host !.incompatible_oscrypto
distros:
- ubuntu2404-arm64-m8g-2xlarge

View File

@ -1,176 +0,0 @@
# Windows build variants for testing development environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/windows/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/windows/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &windows_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &windows_compile_variant_name windows-compile-required
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: windows-compile-required
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/windows/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/windows/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &windows_expansions
compile_variant: *windows_compile_variant_name
burn_in_tests_build_variant: enterprise-windows-all-feature-flags-required
exe: ".exe"
content_type: application/zip
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 5
large_distro_name: windows-2022-large
push_path: windows
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: windows
push_arch: x86_64-enterprise
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
external_auth_jobs_max: 1
buildvariants:
- name: &windows-compile-required windows-compile-required
display_name: "! Windows Server 2022 Enterprise Compile Essential"
tags: ["required", "bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- windows-2022-xxlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
expansions: &windows_compile_expansions
exe: ".exe"
ext: zip
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
//src/mongo/installer/msi:mongodb-win32-x86_64-windows
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
python: "/cygdrive/c/python/python313/python.exe"
compile_variant: *windows-compile-required
xlarge_distro_name: windows-2022-expandedports-xlarge
tasks:
- name: compile_test_serial_no_unittests_TG
distros:
- windows-2022-xxxlarge-compile
- name: run_bazel_compiledb
- name: run_unit_tests_no_sandbox_TG
distros:
- windows-2022-xxxlarge-compile
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch .requires_execution_on_windows_patch_build
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch .requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xxlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch .requires_execution_on_windows_patch_build
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch .requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xxlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_windows .requires_execution_on_windows_patch_build
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_windows .requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xxlarge
- name: windows-compile-suggested
display_name: "* Windows Server 2022 Enterprise Compile Non-essential"
tags: ["suggested", "bazel_check", "forbid_tasks_tagged_with_experimental"]
run_on:
- windows-2022-xxlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
expansions: *windows_compile_expansions
tasks:
- name: .development_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch !.requires_execution_on_windows_patch_build
- name: .development_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch !.requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xxlarge
- name: .release_critical .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch !.requires_execution_on_windows_patch_build
- name: .release_critical .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_windows !.stitch !.requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xxlarge
- name: .default .requires_compile_variant !.requires_large_host !.incompatible_development_variant !.incompatible_windows !.requires_execution_on_windows_patch_build
- name: .default .requires_compile_variant .requires_large_host !.incompatible_development_variant !.incompatible_windows !.requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xxlarge
# server_selection_json_test & server_discovery_and_monitoring_json_test depend on this
- name: compile_unittest_libaries_TG
- name: run_bazel_TG
- name: hydrate_all_headers_TG
distros:
- windows-2022-xxxlarge-compile
- <<: *windows_compile_variant_dependency
name: enterprise-windows-all-feature-flags-required
display_name: "! Enterprise Windows Server 2022 (all feature flags) essential tasks"
tags: ["required", "forbid_tasks_tagged_with_experimental"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- windows-2022-small
expansions: &windows_essential_expansions
<<: *windows_expansions
burn_in_tests_build_variant: enterprise-windows-all-feature-flags-required
exe: ".exe"
content_type: application/zip
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 5
large_distro_name: windows-2022-expandedports-xlarge
# To force disable feature flags even on the all feature flags variant, please use this file:
# buildscripts/resmokeconfig/fully_disabled_feature_flags.yml
test_flags: >-
--runAllFeatureFlagTests
--excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
external_auth_jobs_max: 1
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags .requires_execution_on_windows_patch_build
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags .requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags .requires_execution_on_windows_patch_build
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags .requires_execution_on_windows_patch_build
distros:
- windows-2022-expandedports-xlarge
# This Windows build variant exists to run all tasks that have been excluded from running on the required Windows build variant.
# See SERVER-79037 for how the essential set of tasks was computed.
- <<: *windows_compile_variant_dependency
name: enterprise-windows-all-feature-flags-non-essential
display_name: "* Enterprise Windows Server 2022 (all feature flags) non-essential tasks"
tags: ["suggested"]
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- windows-2022-small
expansions:
<<: *windows_essential_expansions
burn_in_tests_build_variant: enterprise-windows-all-feature-flags-non-essential
tasks:
- name: .development_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags
- name: .development_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags
distros:
- windows-2022-expandedports-xlarge
- name: .release_critical !.requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags
- name: .release_critical .requires_large_host !.requires_compile_variant !.incompatible_development_variant !.incompatible_windows !.incompatible_all_feature_flags
distros:
- windows-2022-expandedports-xlarge

View File

@ -1,58 +0,0 @@
# Windows build variants for testing development environments
#
# After the branching variants in this file
# should continue to run ONLY on a new LTS release (v7.0, v6.0 etc.) branch projects
# and should NOT run on a new rapid release (v7.1, v7.2 etc.) branch projects
buildvariants:
- name: enterprise-windows-inmem
display_name: Enterprise Windows Server 2022 (inMemory)
tags: []
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- windows-2022-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
//src/mongo/installer/msi:mongodb-win32-x86_64-windows
exe: ".exe"
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
python: "/cygdrive/c/python/python313/python.exe"
test_flags: >-
--storageEngine=inMemory
--excludeWithAnyTags=requires_persistence,requires_journaling,incompatible_with_windows_tls,requires_otel_build
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
large_distro_name: windows-2022-large
compile_variant: enterprise-windows-inmem
tasks:
- name: compile_test_serial_no_unittests_TG
distros:
- windows-2022-xxlarge
- name: .aggfuzzer .common !.requires_extra_system_deps !.feature_flag_guarded
- name: audit
- name: auth_audit
- name: causally_consistent_jscore_txns_passthrough
- name: .concurrency .common !.requires_extra_system_deps !.feature_flag_guarded
distros:
- windows-2022-large
- name: concurrency_replication_causal_consistency_gen
- name: initial_sync_fuzzer_gen
- name: .jscore .common !.requires_extra_system_deps !.decimal !.sharding !.requires_large_host
- name: .jscore .common !.requires_extra_system_deps !.decimal !.sharding .requires_large_host
distros:
- windows-2022-large
- name: .jstestfuzz .common !.requires_extra_system_deps !.feature_flag_guarded
- name: .read_write_concern .linearize !.requires_extra_system_deps !.durable_history
- name: replica_sets_auth_gen
- name: replica_sets_jscore_passthrough_gen
- name: replica_sets_multi_stmt_txn_jscore_passthrough_gen
- name: sasl
- name: .sharding .txns !.requires_extra_system_deps
- name: sharding_auth_audit_gen
- name: .ssl !.requires_extra_system_deps
- name: .resharding_fuzzer !.requires_extra_system_deps

View File

@ -1,129 +0,0 @@
# Windows build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/windows/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/windows/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &windows_compile_variant_dependency
depends_on:
- name: archive_dist_test
variant: &windows_compile_variant_name windows-compile-required
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
# - name: generate_buildid_to_debug_symbols_mapping
# variant: windows-compile-required
# THIS HAS COPIES IN:
# - etc/evergreen_yml_components/variants/windows/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/windows/test_dev.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &windows_expansions
compile_variant: *windows_compile_variant_name
burn_in_tests_build_variant: enterprise-windows-all-feature-flags-required
exe: ".exe"
content_type: application/zip
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 5
large_distro_name: windows-2022-large
push_path: windows
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: windows
push_arch: x86_64-enterprise
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
external_auth_jobs_max: 1
buildvariants:
### QO & QE Patch-Specific Build Variants ###
- name: &windows-compile-query-patch-only windows-compile-query-patch-only
display_name: "~ Windows Server 2022 Enterprise Compile Query Patch Only"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- windows-2022-small
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
//src/mongo/installer/msi:mongodb-win32-x86_64-windows
exe: ".exe"
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
skip_archive_dist_test_debug_activate: True
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
large_distro_name: windows-2022-large
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
external_auth_jobs_max: 1
compile_variant: *windows-compile-query-patch-only
tasks:
- name: archive_dist_test_TG
distros:
- windows-2022-xxlarge
- name: &enterprise-windows-benchmarks enterprise-windows-benchmarks
display_name: "~ Enterprise Windows Server 2022 (Benchmarks)"
tags: []
activate: false # Deactivated as part of SERVER-109807 due to lack of triaging.
run_on:
- windows-2022-xxlarge # To accommodate OOD issues noted in BF-31698
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
//src/mongo/installer/msi:mongodb-win32-x86_64-windows
exe: ".exe"
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
large_distro_name: windows-2022-large
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls,requires_otel_build
external_auth_jobs_max: 1
compile_variant: *enterprise-windows-benchmarks
tasks:
- name: compile_upload_benchmarks_TG
distros:
- windows-2022-xxlarge
- name: .benchmarks !benchmarks_orphaned_first_half !benchmarks_orphaned_second_half
### Security Patch-Specific Build Variants ###
- <<: *windows_compile_variant_dependency
name: windows-compile-security-patch-only
display_name: "~ Windows Server 2022 Security Patch Only"
tags: []
cron: "0 4 * * 0" # From the ${project_weekly_cron} parameter # This is a patch-only variant but we run on mainline to pick up task history.
run_on:
- windows-2022-small
expansions:
<<: *windows_expansions
exe: ".exe"
tasks:
- name: .encrypt .patch_build
- name: .sasl .patch_build
- name: external_auth_aws
- name: sasl_windows_cyrussasl

View File

@ -1,132 +0,0 @@
# Windows build variants for testing release environments
#
# After the branching variants in this file
# should continue to run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
buildvariants:
- name: windows
display_name: Windows Server 2022
tags: []
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- windows-2022-small
expansions:
additional_package_targets: //src/mongo/installer/msi:mongodb-win32-x86_64-windows
exe: ".exe"
push_path: windows
push_bucket: downloads.mongodb.org
push_bucket_new: cdn-origin-mongodb-server-community
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-community
push_name: windows
push_arch: x86_64
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
multiversion_platform: windows
multiversion_edition: base
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
--build_enterprise=False
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
large_distro_name: windows-2022-large
test_flags: >-
--excludeWithAnyTags=incompatible_with_windows_tls,requires_external_data_source,requires_otel_build
--modules=none
compile_variant: windows
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-2022-xxlarge
- name: run_unit_tests_no_sandbox_TG
distros:
- windows-2022-xxlarge
- name: .development_critical !.requires_large_host !.incompatible_community !.incompatible_windows
- name: .development_critical .requires_large_host !.incompatible_community !.incompatible_windows
distros:
- windows-2022-large
- name: .windows_release_critical
- name: push
depends_on:
- .windows_release_critical
- name: package
- name: jsCore
- name: run_dbtest
- name: replica_sets_jscore_passthrough_gen
- name: .release_critical !.requires_large_host !.incompatible_community !.incompatible_windows !push !publish_packages
- name: .release_critical .requires_large_host !.incompatible_community !.incompatible_windows !push !publish_packages
distros:
- windows-2022-large
- &enterprise-windows-template
name: &enterprise-windows enterprise-windows
display_name: "Enterprise Windows Server 2022"
tags: ["bazel_check"]
cron: "0 2 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- windows-2022-small
expansions:
exe: ".exe"
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
//src/mongo/installer/msi:mongodb-win32-x86_64-windows
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
target_resmoke_time: 20
max_sub_suites: 3
large_distro_name: windows-2022-large
push_path: windows
push_bucket: downloads.10gen.com
push_bucket_new: cdn-origin-mongodb-server-enterprise
push_role_arn: arn:aws:iam::119629040606:role/s3-access.cdn-origin-mongodb-server-enterprise
push_name: windows
push_arch: x86_64-enterprise
mciuploads_binary_permissions_push: public-read
mciuploads_binary_visibility_push: public
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls,requires_external_data_source,requires_otel_build
exec_timeout_secs: 14400 # 3 hour timeout
external_auth_jobs_max: 1
compile_variant: enterprise-windows
tasks:
- name: compile_test_and_package_serial_TG
distros:
- windows-2022-xxlarge
- name: run_unit_tests_no_sandbox_TG
distros:
- windows-2022-xxlarge
- name: .development_critical !.requires_large_host !.incompatible_windows
- name: .development_critical .requires_large_host !.incompatible_windows
distros:
- windows-2022-large
- name: .windows_release_critical
- name: push
depends_on:
- .windows_release_critical
- name: package
- name: jsCore
- name: run_dbtest
- name: replica_sets_jscore_passthrough_gen
- name: .release_critical !.requires_large_host !.incompatible_windows !push !publish_packages
- name: .release_critical .requires_large_host !.incompatible_windows !push !publish_packages
distros:
- windows-2022-large
# This variant is owned by the security team and is special
# because these tests require specific distro to run on
- <<: *enterprise-windows-template
name: enterprise-windows-security
display_name: Enterprise Windows Server 2022 Security
tags: []
depends_on:
- name: archive_dist_test
variant: *enterprise-windows
tasks:
- name: sasl_windows_cyrussasl

View File

@ -1,180 +0,0 @@
# WiredTiger build variants for testing development environments
#
# After the branching variants in this file
# should NOT run on a new rapid release (v7.1, v7.2 etc.)
# and LTS release (v7.0, v6.0 etc.) branch projects
variables:
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_params # Essential set of compile parameters used for Linux dev variants.
run_on:
- rhel8.8-xlarge
activate: true # These compile variants run on every commit to reduce latency of the auto-reverter.
tasks:
- name: compile_test_parallel_core_stream_TG
- name: run_unit_tests_TG
- name: compile_test_parallel_dbtest_stream_TG
- name: generate_buildid_to_debug_symbols_mapping
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/sanitizer/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/rhel/test_dev_master_branch_only.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &generic_linux_compile_expansions # The most commonly used compile expansions.
has_packages: false
# THIS HAS COPIES IN
# - etc/evergreen_yml_components/variants/sanitizer/test_dev.yml
# - etc/evergreen_yml_components/variants/wiredtiger/test_dev_master_branch_only.yml
# ANY MODIFICATIONS HERE SHOULD ALSO BE MADE IN THOSE FILES
- &linux_debug_community_compile_expansions
<<: *generic_linux_compile_expansions
bazel_compile_flags: >-
--dbg=True
--opt=on
--build_enterprise=False
--jobs=800
unittest_library_compile_flags: >-
--linkstatic=False
unittest_compile_flags: >-
--linkstatic=False
buildvariants:
- <<: *generic_linux_compile_params
name: &linux-x86-dynamic-debug-wtdevelop-compile linux-x86-dynamic-debug-wtdevelop-compile
display_name: "~ Linux WiredTiger develop DEBUG Compile"
tags: []
activate: false
modules:
- wtdevelop
expansions:
<<: *linux_debug_community_compile_expansions
use_wt_develop: true
compile_variant: *linux-x86-dynamic-debug-wtdevelop-compile
evergreen_remote_exec: on
- name: linux-64-debug-wtdevelop
display_name: "~ Linux DEBUG WiredTiger develop"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- rhel8.8-medium
modules:
- wtdevelop
depends_on:
- name: archive_dist_test
variant: &linux_x86_dynamic_debug_wtdevelop_compile_variant_name linux-x86-dynamic-debug-wtdevelop-compile
- name: version_gen
variant: generate-tasks-for-version
# This is added because of EVG-18211.
# Without this we are adding extra dependencies on evergreen and it is causing strain
omit_generated_tasks: true
expansions:
use_wt_develop: true
resmoke_jobs_factor: 0.5 # Avoid starting too many mongod's
large_distro_name: rhel8.8-medium
max_sub_suites: "5"
target_resmoke_time: "15"
bazel_compile_flags: >-
--dbg=True
--opt=on
--dtlto=False
--pgo_profile_use=False
--build_enterprise=False
test_flags: >-
--excludeWithAnyTags=requires_http_client
--modules=none
--mongodSetParameters="{internalQueryEnableAggressiveSpillsInGroup: true}"
compile_variant: *linux_x86_dynamic_debug_wtdevelop_compile_variant_name
tasks:
- name: .aggregation !.encrypt !.feature_flag_guarded
- name: .auth !.audit !.multiversion
- name: sharding_auth_gen
- name: .causally_consistent !.wo_snapshot
- name: .change_streams !.multiversion
- name: .clustered_collections !.requires_extra_system_deps
- name: .misc_js
- name: disk_wiredtiger
- name: .jscore .common !.feature_flag_guarded
- name: jsCore_txns_large_txns_format
- name: json_schema
- name: query_golden_classic
- name: query_golden_sharding
- name: libunwind_tests
- name: .multi_shard
- name: multi_stmt_txn_jscore_passthrough_with_migration_gen
- name: .ocsp
- name: .read_write_concern
- name: .replica_sets !.encrypt !.fcbis !.feature_flag_guarded
- name: replica_sets_reconfig_jscore_passthrough_gen
- name: replica_sets_reconfig_jscore_stepdown_passthrough_gen
- name: .retry
- name: .read_only
- name: session_jscore_passthrough
- name: sharded_multi_stmt_txn_jscore_passthrough_gen
- name: .sharding .jscore !.requires_extra_system_deps !.wo_snapshot !.feature_flag_guarded
- name: sharding_gen
- name: sharding_max_mirroring_opportunistic_secondary_targeting_gen
- name: &enterprise-windows-wtdevelop enterprise-windows-wtdevelop
display_name: "~ Enterprise Windows Server 2022 WiredTiger develop"
tags: []
cron: "0 1,5,9,13,17,21 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- windows-2022-small
modules:
- wtdevelop
expansions:
additional_package_targets: >-
archive-mongocryptd-stripped
archive-mongocryptd-debug
//src/mongo/installer/msi:mongodb-win32-x86_64-windows
exe: ".exe"
content_type: application/zip
bazel_compile_flags: >-
--define=MONGO_DISTMOD=windows
python: "/cygdrive/c/python/python313/python.exe"
ext: zip
multiversion_platform: windows
multiversion_edition: enterprise
jstestfuzz_num_generated_files: 35
large_distro_name: windows-2022-large
test_flags: --excludeWithAnyTags=incompatible_with_windows_tls
external_auth_jobs_max: 1
use_wt_develop: true
compile_variant: *enterprise-windows-wtdevelop
tasks:
- name: compile_test_serial_TG
distros:
- windows-2022-xxlarge
- name: run_unit_tests_no_sandbox_TG
distros:
- windows-2022-xxlarge
- name: burn_in_tests_gen
depends_on:
- name: version_burn_in_gen
variant: generate-tasks-for-version
omit_generated_tasks: true
- name: archive_dist_test
- name: .aggfuzzer .common !.feature_flag_guarded
- name: audit
- name: auth_audit
- name: buildscripts_test
- name: causally_consistent_jscore_txns_passthrough
- name: .encrypt !.aggregation !.gcm !.feature_flag_guarded
- name: external_auth
- name: external_auth_aws
- name: .jscore .common !.sharding !.requires_large_host
- name: .jscore .common !.sharding .requires_large_host
distros:
- windows-2022-large
- name: .jstestfuzz .common !.feature_flag_guarded
- name: replica_sets_auth_gen
- name: sasl
- name: sharding_auth_audit_gen

View File

@ -21,18 +21,18 @@ extensions:
mongot_extension:
base_url: https://mongot-extension.s3.amazonaws.com/release/
name: mongot-extension
version: 0.0.0
version: 1.0.2
variants:
amazon2-x86_64: 6abaef106a4cddb14023e74b6806f50962042e48e4540f96a1df37eaf62ca2a3
amazon2-aarch64: ee8a40f84b96d75af7304817ac221bf672d18ab427a5a9f9374da0556fc56b0a
amazon2023-x86_64: 0755418443d1a069ff328c63ca0fd22aee52ef3b7757ee2fa9a84f55ad98ab25
amazon2023-aarch64: 41364b9c87b087f55b9272bf124fe172fd51e1fa806c415d1162f350e0eb15a9
amazon2-x86_64: f3adacd3cb567341f9bf7d92377058e9ec4b828f7bb1460fa928f49a89b605d2
amazon2-aarch64: 75c1932ac0c9ac1804e4c4bf5941ba505f74bf7093881b095c6d50d9724bc86f
amazon2023-x86_64: b58754484e0550f92285e8d8672fe732327ea547b22b868658a90568330db0da
amazon2023-aarch64: 376926c56702f7bf8bd425f3afa3f1a71599def589243fade5e7e058bc2af0a0
rerank_extension:
base_url: https://mongot-extension.s3.amazonaws.com/release/
name: rerank-extension
version: 0.0.0
version: 1.0.2
variants:
amazon2-x86_64: 8103cede35bca027eb53059efae65f79e10fdf9a441658cb0866904efdcf594d
amazon2-aarch64: 54365e10e23995a864e12e35dbcebcd9e4cfbee285ad1ddc4f2caadaa353ceae
amazon2023-x86_64: f2b87efaab686ab19f631385e3044616f22cc90101be55ac0f03cb40d8a3f82b
amazon2023-aarch64: e7d923ca8b231ff03a45684a70eeeacda4a23fa2622c88e16a5a48f550daa53b
amazon2-x86_64: 8e24d2373c7712c16f6e3d06009fe7f0b0abbc4fd06214550c1895c57b2c2ef4
amazon2-aarch64: 8091747bae581f39e68a03674ab1faab08c3e671f2790b49d0a02d22efc9f23a
amazon2023-x86_64: de1cbb24ff45256aaca1366a7660653d1b478ff45937f2b973dac677ca0bc25a
amazon2023-aarch64: aa99aef8959d3b4f50c216b938cf21c7cffc778240fea9ade75e218e26b5caf6

View File

@ -24,9 +24,11 @@ leak:mongo::transport::AsioReactor::run()
leak:mongo::transport::AsioReactor::drain()
leak:UnitTest_SuiteNameTaskExecutorCursorFixtureTestNamePinnedExecutorDestroyedOnUnderlying
# Allocations from this function in libresolv are stored in thread-locals.
# Allocations from these functions in libresolv are stored in thread-locals.
# Threads that are not joined by the time the leak-detector runs (like those spawned by ASIO) may
# still have pointers to these allocated objects but LSAN isn't able to identify them and add them
# to do the root-set, resulting in false-positive leak reports.
# to do the root-set, resulting in false-positive leak reports. LSAN may report different functions
# leaking depending on the version of libresolv.
# TODO SERVER-65936: Re-evaluate if this is needed with a clean shutdown that joins all threads.
leak:__res_context_send
leak:__res_context_query

View File

@ -13,11 +13,9 @@ include:
#
- filename: evergreen/system_perf/master/base.yml
module: dsi
- filename: evergreen/system_perf/master/compiles.yml
- filename: evergreen/system_perf/8.3/compiles.yml
module: dsi
- filename: evergreen/system_perf/master/variants.yml
module: dsi
- filename: evergreen/system_perf/master/master_variants.yml
- filename: evergreen/system_perf/8.3/variants.yml
module: dsi
- filename: evergreen/system_perf/shared_tasks.yml
module: dsi

View File

@ -1,50 +0,0 @@
#!/bin/bash
# Install devcontainer CLI for testing
# This script sets up the devcontainer CLI tool used by VS Code
set -euo pipefail
echo "========================================"
echo "Installing Devcontainer CLI"
echo "========================================"
# Verify Node.js is available
if ! command -v node &>/dev/null; then
echo "ERROR: Node.js not found (should be pre-installed on distro)"
exit 1
fi
echo "Node.js version:"
node --version
# Verify npm is available
if ! command -v npm &>/dev/null; then
echo "ERROR: npm not found (should come with Node.js)"
exit 1
fi
echo "npm version:"
npm --version
# Install devcontainer CLI to temp directory
echo ""
echo "Installing @devcontainers/cli..."
# Use CLI_INSTALL_DIR set by caller
if [ -z "${CLI_INSTALL_DIR:-}" ]; then
echo "ERROR: CLI_INSTALL_DIR not set by caller"
exit 1
fi
INSTALL_DIR="$CLI_INSTALL_DIR"
npm install -g --prefix "$INSTALL_DIR" @devcontainers/cli
# Add to PATH for this script and subsequent commands
export PATH="$INSTALL_DIR/bin:$PATH"
# Verify installation
echo ""
echo "Verifying devcontainer CLI installation..."
devcontainer --version
echo "Installed to: $INSTALL_DIR"
echo ""
echo "✅ Devcontainer CLI installed successfully"

View File

@ -1,187 +0,0 @@
#!/bin/bash
# Test full devcontainer setup using devcontainer CLI
# This simulates the complete user experience
set -euo pipefail
echo "========================================"
echo "Devcontainer Fresh Setup Test"
echo "========================================"
# Get the absolute path to the repo root (src directory)
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$REPO_ROOT"
# Create temp directory for devcontainer CLI installation
CLI_INSTALL_DIR=$(mktemp -d)
export CLI_INSTALL_DIR
# Set up cleanup trap to remove temp directory on exit
cleanup() {
if [ -d "$CLI_INSTALL_DIR" ]; then
echo "Cleaning up devcontainer CLI installation..."
rm -rf "$CLI_INSTALL_DIR"
fi
}
trap cleanup EXIT
# Set a non-conflicting username for CI
# In CI, USER is often "ubuntu" which conflicts with system users
# Use a distinct name that won't conflict
if [ "${USER:-}" = "ubuntu" ] || [ "${USER:-}" = "root" ]; then
export USER="mongociuser"
echo "CI environment detected, using USER=$USER"
fi
# Configure engflow credentials if they were fetched by evergreen
echo ""
echo "=== Configuring engflow credentials ==="
if [ -f "${REPO_ROOT}/engflow.key" ] && [ -f "${REPO_ROOT}/engflow.cert" ]; then
echo "✓ Engflow credentials found, configuring for devcontainer"
echo "common --tls_client_certificate=./engflow.cert" >>.bazelrc.evergreen
echo "common --tls_client_key=./engflow.key" >>.bazelrc.evergreen
else
echo "Info: No engflow credentials found (local execution will be used)"
fi
# Ensure devcontainer CLI is available
if ! command -v devcontainer &>/dev/null; then
echo "Installing devcontainer CLI..."
bash "$SCRIPT_DIR/devcontainer_cli_setup.sh"
# Add CLI to PATH (installed by cli_setup.sh)
export PATH="${CLI_INSTALL_DIR}/bin:$PATH"
fi
echo "Using devcontainer CLI version:"
devcontainer --version
echo ""
echo "=== Building and starting devcontainer ==="
# Use a unique test ID to reliably find the container later
TEST_ID="mongo-devcontainer-test-$$"
# Set CI environment variable to enable strict error handling in the container
export CI=true
# Use devcontainer CLI to build and start (same as VS Code does)
# Use --id-label to tag the container so we can find it reliably
# Pass CI=true to enable strict error handling in the container
devcontainer up --workspace-folder . --id-label "test-id=${TEST_ID}" --update-remote-user-uid-default "off" --remote-env CI=true
echo ""
echo "=== Finding container ==="
# Find the container using our custom label
CONTAINER_ID=$(docker ps -a --filter "label=test-id=${TEST_ID}" --format "{{.ID}}" | head -1)
if [ -z "$CONTAINER_ID" ]; then
echo "ERROR: Failed to find devcontainer with label test-id=${TEST_ID}"
echo "Running containers:"
docker ps -a
exit 1
fi
echo "Container ID: $CONTAINER_ID"
echo ""
echo "=== Testing inside devcontainer ==="
# Helper function to run commands inside the container
# Pass CI=true to all exec commands so engflow_auth wrapper skips credential helper setup
# Pass the same --id-label so it can find the container we created
devcontainer_run() {
devcontainer exec --workspace-folder . --id-label "test-id=${TEST_ID}" --remote-env CI=true "$@"
}
echo "Checking core dump pattern configuration..."
CORE_PATTERN=$(devcontainer_run cat /proc/sys/kernel/core_pattern)
if [[ "$CORE_PATTERN" == "dump_%e.%p.core" ]]; then
echo "✓ Core dump pattern correctly set to: $CORE_PATTERN"
else
echo "✗ Core dump pattern is: $CORE_PATTERN (expected: dump_%e.%p.core)"
echo " The initializeCommand may have failed to set the kernel parameter"
exit 1
fi
echo ""
echo "Checking GCC version..."
devcontainer_run gcc --version
echo ""
echo "Checking Python version..."
devcontainer_run python3 --version
echo ""
echo "Checking Python venv..."
devcontainer_run bash -c "source python3-venv/bin/activate && python --version"
echo ""
echo "Checking Bazel..."
devcontainer_run bazel --version
echo ""
echo "Checking Git..."
devcontainer_run git --version
echo ""
echo "Checking Evergreen CLI..."
devcontainer_run evergreen --version
echo ""
echo "Checking clangd configuration..."
if ! devcontainer_run test -f compile_commands.json; then
echo "ERROR: compile_commands.json not found - clangd setup failed"
exit 1
fi
echo "✓ compile_commands.json exists"
echo ""
echo "Checking .clang-tidy configuration..."
if ! devcontainer_run test -f .clang-tidy; then
echo "ERROR: .clang-tidy not found - clang-tidy setup failed"
exit 1
fi
echo "✓ .clang-tidy exists"
echo ""
echo "=== Running representative user operations ==="
echo ""
echo "Running C++ unit test..."
devcontainer_run bazel test //src/mongo/bson:bson_test --config=local --test_output=errors
echo ""
echo "Building IDL target (tests code generation)..."
devcontainer_run bazel build //src/mongo/bson:bson_validate --config=local
echo ""
echo "Building install-dist-test target (necessary for resmoke below)..."
devcontainer_run bazel build install-dist-test
echo ""
echo "Running Python test via resmoke..."
devcontainer_run python3 buildscripts/resmoke.py run --suite=core --sanityCheck
echo ""
echo "Checking code formatting..."
devcontainer_run bazel run format
echo ""
echo "Running linter..."
devcontainer_run bazel run lint
echo ""
echo "✅ All representative operations passed"
echo ""
echo "=== Stopping devcontainer ==="
# Stop and remove the container
docker stop "$CONTAINER_ID"
docker rm "$CONTAINER_ID"
echo ""
echo "✅ Fresh setup test PASSED"

View File

@ -2,4 +2,4 @@ set -o errexit
cd src
# Move binaries to CWD as Jepsen expects that.
mv dist-test/bin/* .
mv dist-test/bin/mongo{,d,s,bridge} .

View File

@ -23,6 +23,11 @@ function is_failure() {
jq --exit-status '.testResult | select(.status != "PASSED")' <<<$1 >/dev/null
}
# Checks if a test result record indicates that the test timed out.
function is_timeout() {
jq --exit-status '.testResult | select(.status == "TIMEOUT")' <<<$1 >/dev/null
}
# Returns a file-path safe prefix for an individual test execution.
function target_prefix() {
jq --raw-output '.id.testResult as $id | .testResult | "\(($id.label | ltrimstr("//") | gsub(":";"\/")))/shard_\($id.shard)"' <<<$1
@ -34,14 +39,17 @@ function download_outputs() {
local is_failure=$2
jq --raw-output '.id.testResult as $id | .testResult.testActionOutput[] | "\t\($id.shard)\t\(.name)\t\(.uri)"' <<<"$test_result" | while IFS=$'\t' read -r shard name uri; do
# Always download test.outputs (zip file)
# If test failed, also download test.log and manifest
# Always download test.outputs (zip file) and test.log
# If test failed, also download manifest
should_download=false
if [[ "$name" == *'test.outputs'* && "$name" != *'manifest'* ]]; then
should_download=true
fi
if [[ "$name" == *'test.log'* ]]; then
should_download=true
fi
if [[ "$is_failure" == "1" ]]; then
if [[ "$name" == *'test.log'* || "$name" == *'manifest__MANIFEST'* ]]; then
if [[ "$name" == *'manifest__MANIFEST'* ]]; then
should_download=true
fi
fi
@ -74,12 +82,10 @@ function unzip_outputs() {
if [[ -n "$zip_file" ]]; then
local output_dir='test.outputs'
mkdir -p "$output_dir"
echo " Unzipping: $zip_file -> $output_dir/"
unzip -o -q "$zip_file" -d "$output_dir"
# If test passed, remove the zip file. If it failed, the whole thing is going to be attached to the task in Evergreen.
if [[ "$is_failure" != '1' ]]; then
echo " Removing: $zip_file"
rm "$zip_file"
fi
fi
@ -93,7 +99,6 @@ function symlink_test_logs() {
return
fi
echo " Creating symlinks in ${workdir}/build/..."
find "$build_dir" -type f | while read -r file; do
# Get the relative path from the build directory
rel_path="${file#$build_dir/}"
@ -107,6 +112,59 @@ function symlink_test_logs() {
done
}
# Displays a formatted summary of test results.
function display_test_summary() {
echo "================================================================================"
echo "Test Results Summary"
echo "================================================================================"
echo "Target: ${test_label}"
echo "Total Shards: ${#shard_names[@]}"
echo "--------------------------------------------------------------------------------"
# Create a sorted list of indices based on shard names
local sorted_indices=()
for i in "${!shard_names[@]}"; do
sorted_indices+=("$i")
done
# Sort indices by extracting and comparing shard numbers
IFS=$'\n' sorted_indices=($(
for i in "${sorted_indices[@]}"; do
local shard_num=$(echo "${shard_names[$i]}" | grep -oP 'shard_\K\d+$')
echo "$shard_num $i"
done | sort -n | cut -d' ' -f2
))
for i in "${sorted_indices[@]}"; do
local shard="${shard_names[$i]}"
local status="${shard_statuses[$i]}"
local test_counts="${shard_test_counts[$i]}"
# Format status with color indicators
case "$status" in
"PASSED")
echo "$shard: PASSED ($test_counts tests passed)"
;;
"FAILED")
if [[ "$test_counts" == "0/0" ]]; then
echo "$shard: FAILED (no report generated)"
else
echo "$shard: FAILED ($test_counts tests passed)"
fi
;;
"TIMEOUT")
echo "$shard: TIMEOUT"
;;
"NO_REPORT")
echo "$shard: NO REPORT (no tests may have been run)"
;;
esac
done
echo "================================================================================"
echo ""
}
# Combine all resmoke telemetry and place it where Evergreen expects it: ${workdir}/build/OTelTraces.
# Metrics are batched into line-separated JSON files no greater than 4MB each. Evergreen processes
# fewer files faster, but hits message size limitations if they are too large.
@ -142,8 +200,6 @@ function combine_metrics() {
# Update current size
current_size=$((current_size + file_size + newline_size))
done
echo 'Combined OTel metrics json'
}
# Combines all Resmoke test report JSONs into a single JSON.
@ -164,11 +220,13 @@ function combine_reports() {
local combined_report_file="${workdir}/report.json"
echo "$combined_report" >"$combined_report_file"
echo "Combined report written to: $combined_report_file"
local total_tests=$(echo "$combined_report" | jq '.results | length')
local failures=$(echo "$combined_report" | jq '.failures')
echo "Summary: $total_tests tests, $failures failures"
echo ""
echo "Combined Report: ${total_tests} tests, ${failures} failures"
echo "Report written to: $combined_report_file"
}
# Writes a user-friendly bazel invocation for re-running this test target.
@ -186,10 +244,33 @@ function write_test_failures_expansion() {
echo "test_failures_exist: true" >"$output_file"
}
# Print the contents of all *test.log files.
# Print the contents of all *test.log files with headers per shard.
function print_executor_logs() {
echo "Executor logs for all failed shards:"
find "${workdir}/results" -name '*test.log' -type f -exec cat {} +
local log_files=$(find "${workdir}/results" -name '*test.log' -type f 2>/dev/null)
if [[ -z "$log_files" ]]; then
return
fi
# Sort log files by shard number
local sorted_log_files=$(echo "$log_files" | while IFS= read -r log_file; do
# Extract shard number from path (e.g., /workdir/results/foo/bar/shard_1/test.log -> 1)
local shard_num=$(echo "$log_file" | grep -oP 'shard_\K\d+(?=/)')
echo "$shard_num $log_file"
done | sort -n | cut -d' ' -f2-)
while IFS= read -r log_file; do
# Extract shard name from path (e.g., /workdir/results/foo/bar/shard_1/test.log -> foo/bar/shard_1)
local shard_path=$(echo "$log_file" | sed "s|${workdir}/results/||" | sed 's|/[^/]*$||')
echo "================================================================================"
echo "Shard $shard_path log:"
echo "================================================================================"
cat "$log_file"
echo ""
echo "================================================================================"
echo ""
done <<<"$sorted_log_files"
}
# Resolves a file path from a list of candidate locations. Returns the first existing file path found.
@ -238,15 +319,29 @@ if [ ! -f "$ENGFLOW_KEY" ]; then
fi
fail_task=0
result_count=0
missing_report=0
shard_names=()
shard_statuses=()
shard_test_counts=()
echo "Fetching test results for ${test_label}..."
while IFS= read -r test_result; do
((result_count++))
target_prefix=$(target_prefix "$test_result")
target_dir="${workdir}/results/$target_prefix"
echo "Fetching results for $target_prefix"
mkdir -p "$target_dir"
pushd "$target_dir" >/dev/null
is_failure_flag=0
if is_failure "$test_result"; then
is_timeout_flag=0
if is_timeout "$test_result"; then
is_timeout_flag=1
is_failure_flag=1
fail_task=1
write_test_failures_expansion
elif is_failure "$test_result"; then
is_failure_flag=1
fail_task=1
write_test_failures_expansion
@ -256,26 +351,78 @@ while IFS= read -r test_result; do
unzip_outputs "$is_failure_flag"
symlink_test_logs
# Record shard information
shard_names+=("$target_prefix")
# Check if any report*.json files exist
if compgen -G "test.outputs/report*.json" >/dev/null; then
# Extract test counts from the report
report_file=$(compgen -G "test.outputs/report*.json" | head -n 1)
total_tests=$(jq '.results | length' "$report_file" 2>/dev/null || echo "0")
failed_tests=$(jq '.results | map(select(.status == "fail" or .status == "timeout")) | length' "$report_file" 2>/dev/null || echo "0")
passed_tests=$(jq '.results | map(select(.status == "pass")) | length' "$report_file" 2>/dev/null || echo "0")
shard_test_counts+=("$passed_tests/$total_tests")
if [[ "$is_timeout_flag" -eq 1 ]]; then
shard_statuses+=("TIMEOUT")
elif [[ "$is_failure_flag" -eq 1 ]]; then
shard_statuses+=("FAILED")
else
shard_statuses+=("PASSED")
fi
else
# No report file found - check if we have bazel-level status information
if [[ "$is_timeout_flag" -eq 1 ]]; then
shard_statuses+=("TIMEOUT")
shard_test_counts+=("0/0")
else
shard_statuses+=("NO_REPORT")
shard_test_counts+=("0/0")
missing_report=1
fi
fi
popd >/dev/null
done < <(enumerate_test_results)
# Check if any results were found
if [[ "$result_count" -eq 0 ]]; then
echo "Error: No test results found for target '${test_label}' in '$BEP_FILE'." >&2
echo "The test may have failed to build. Check the logs from the resmoke_tests task." >&2
exit 1
fi
print_executor_logs
display_test_summary
combine_metrics
failures=$(combine_reports)
write_bazel_invocation
# If there are failures, let Evergreen mark the test as failed by the test results by exiting 0 here.
# If there are no failures in the combined report, but the bazel test failed, report
# it as a system failure by returning $fail_task.
if [[ "$failures" == 'No report.json files found' ]]; then
if [[ "$fail_task" -eq 1 ]]; then
echo 'No report/test logs were found, but the bazel test failed. Check the test executor logs below.'
# Check for system-level failures (TIMEOUT or NO_REPORT)
for status in "${shard_statuses[@]}"; do
if [[ "$status" == "TIMEOUT" || "$status" == "NO_REPORT" ]]; then
echo "Error: One or more shards had TIMEOUT or NO_REPORT status. Not all tests ran or were reported." >&2
write_test_failures_expansion
exit 1
fi
done
# Check for test failures
# If there are test failures, write the expansion and exit 0 to let Evergreen mark as failed via test results
has_test_failures=0
for status in "${shard_statuses[@]}"; do
if [[ "$status" == "FAILED" ]]; then
has_test_failures=1
break
fi
done
if [[ "$has_test_failures" -eq 1 ]]; then
write_test_failures_expansion
print_executor_logs
exit $fail_task
else
print_executor_logs
exit 0
fi
exit 0

View File

@ -3,6 +3,11 @@
set -eu
if [ ! -f "src/cedar_report.json" ]; then
echo "src/cedar_report.json not found, skipping perf data submission."
exit 0
fi
if [ "${requester}" == "commit" ]; then
is_mainline=true
else

View File

@ -112,7 +112,10 @@ if [[ "$RET" != "0" ]]; then
eval ${BAZEL_BINARY} run ${CONFIG_FLAGS} //buildscripts:gather_failed_tests || true
fi
eval ${BAZEL_BINARY} run ${CONFIG_FLAGS} //buildscripts:append_result_tasks -- --outfile=generated_tasks.json
if [ "${generate_burn_in_targets}" != "true" ]; then
echo "Activating result task group..."
python buildscripts/evergreen_activate_result_tasks.py --expansion-file ../expansions.yml --build-events-file build_events.json
fi
eval ${BAZEL_BINARY} shutdown # Explicitly shutdown the bazel server in case the Evergreen agent is tracking it for completion of this process.

View File

@ -0,0 +1,173 @@
/**
* @tags: [
* requires_scripting,
* requires_fcv_83,
* ]
*/
import {after, before, describe, it} from "jstests/libs/mochalite.js";
const coll = db[jsTestName()];
before(() => {
coll.drop();
assert.commandWorked(
coll.insertMany([
{_id: 1, x: 1, text: "hello"},
{_id: 2, x: 2, text: "world"},
{_id: 3, x: 3, text: "mongo"},
]),
);
});
after(() => {
coll.drop();
});
describe("globalThis persists across MosJS commands within a query", () => {
const mapFn = function () {
if (!globalThis._savedEmit) {
globalThis._savedEmit = emit;
}
emit(this.x, 1);
};
const reduceFn = function () {
// Although this is a very contrived example, it simulates the case where a user stores
// the emit function from one document's processing and accidentally calls it during the
// processing of a later document, after the original emitState has been destroyed.
if (globalThis._savedEmit) {
globalThis._savedEmit(this.x, 999);
}
return 1;
};
it("stale emit call from $function throws an error", () => {
const err = assert.throws(() => {
coll.aggregate([
{$sort: {_id: 1}},
{$limit: 2},
{
$project: {
emits: {
$_internalJsEmit: {
this: "$$ROOT",
eval: mapFn,
},
},
x: 1,
},
},
{
$addFields: {
_: {
$function: {
body: reduceFn,
args: [],
lang: "js",
},
},
},
},
]).toArray();
});
assert.eq(err.code, 9712400, err);
});
it("cached emit called within $_internalJsEmit acts like a direct emit call", () => {
// When _savedEmit is invoked from inside a $_internalJsEmit eval, emitData is still
// live, so it routes to the current EmitState and produces a real KVP — identical to
// calling emit() directly.
const results = coll
.aggregate([
{$sort: {_id: 1}},
{$limit: 2},
{
$project: {
emits: {
$_internalJsEmit: {
this: "$$ROOT",
eval: mapFn,
},
},
x: 1,
},
},
{
$project: {
emits: {
$_internalJsEmit: {
this: "$$ROOT",
eval: function () {
if (!globalThis._cachedEmit) {
globalThis._cachedEmit = emit;
}
emit(this.x, 1);
globalThis._cachedEmit(this.x, 999);
},
},
},
x: 1,
},
},
])
.toArray();
for (let i = 0; i < results.length; i++) {
const rEmits = results[i].emits;
assert.eq(rEmits.length, 2, `Expected 2 emits: ${tojson(rEmits)}`);
assert.eq(rEmits[0], {k: i + 1, v: 1}, results[0]);
assert.eq(rEmits[1], {k: i + 1, v: 999}, results[0]);
}
});
it("stale emit in mapreduce throws an error", () => {
assert.commandFailedWithCode(
db.runCommand({
mapReduce: coll.getName(),
map: mapFn,
reduce: reduceFn,
out: {inline: 1},
}),
9712400,
);
});
it("A stored emit reference should not be available in subsequent queries", () => {
coll.aggregate([
{$sort: {_id: 1}},
{$limit: 2},
{
$project: {
emits: {
$_internalJsEmit: {
this: "$$ROOT",
eval: mapFn,
},
},
x: 1,
},
},
]).toArray();
const results = coll
.aggregate([
{$limit: 1},
{
$addFields: {
found: {
$function: {
body: function () {
return typeof globalThis._savedEmit;
},
args: [],
lang: "js",
},
},
},
},
])
.toArray();
assert.eq(results[0].found, "undefined", results);
});
});

View File

@ -27,24 +27,16 @@ admin.logout();
function assertStats() {
// Need to be authenticated to run serverStatus.
assert(admin.auth("admin", "pwd"));
++expected["SCRAM-SHA-256"].ingress.authenticate.successful;
++expected["SCRAM-SHA-256"].ingress.authenticate.total;
++expected["SCRAM-SHA-256"].authenticate.successful;
++expected["SCRAM-SHA-256"].authenticate.received;
const mechStats = assert.commandWorked(admin.runCommand({serverStatus: 1})).security.authentication.mechanisms;
Object.keys(expected).forEach(function (mech) {
try {
assert.eq(mechStats[mech].ingress.authenticate.total, expected[mech].ingress.authenticate.total);
assert.eq(mechStats[mech].ingress.authenticate.successful, expected[mech].ingress.authenticate.successful);
assert.eq(
mechStats[mech].ingress.clusterAuthenticate.total,
expected[mech].ingress.clusterAuthenticate.total,
);
assert.eq(
mechStats[mech].ingress.clusterAuthenticate.successful,
expected[mech].ingress.clusterAuthenticate.successful,
);
assert.eq(mechStats[mech].egress.authenticate.total, expected[mech].egress.authenticate.total);
assert.eq(mechStats[mech].egress.authenticate.successful, expected[mech].egress.authenticate.successful);
assert.eq(mechStats[mech].authenticate.received, expected[mech].authenticate.received);
assert.eq(mechStats[mech].authenticate.successful, expected[mech].authenticate.successful);
assert.eq(mechStats[mech].clusterAuthenticate.received, expected[mech].clusterAuthenticate.received);
assert.eq(mechStats[mech].clusterAuthenticate.successful, expected[mech].clusterAuthenticate.successful);
} catch (e) {
print("Mechanism: " + mech);
print("mechStats: " + tojson(mechStats));
@ -59,14 +51,14 @@ function assertStats() {
function assertSuccess(creds, mech, db = test) {
assert.eq(db.auth(creds), true);
db.logout();
++expected[mech].ingress.authenticate.total;
++expected[mech].ingress.authenticate.successful;
++expected[mech].authenticate.received;
++expected[mech].authenticate.successful;
assertStats();
}
function assertFailure(creds, mech, db = test) {
assert.eq(db.auth(creds), false);
++expected[mech].ingress.authenticate.total;
++expected[mech].authenticate.received;
assertStats();
}
@ -77,10 +69,10 @@ function assertSuccessInternal() {
authutil.asCluster(replTest.nodes, keyfile, () => true),
true,
);
++expected[mech].ingress.authenticate.total;
++expected[mech].ingress.authenticate.successful;
++expected[mech].ingress.clusterAuthenticate.total;
++expected[mech].ingress.clusterAuthenticate.successful;
++expected[mech].authenticate.received;
++expected[mech].authenticate.successful;
++expected[mech].clusterAuthenticate.received;
++expected[mech].clusterAuthenticate.successful;
// we have to re-auth as admin to get stats, which are validated at the end of assertSuccess
assertSuccess({user: "admin", pwd: "pwd"}, "SCRAM-SHA-256", admin);
}
@ -92,8 +84,8 @@ function assertFailureInternal() {
const mech = "SCRAM-SHA-256";
// If asCluster fails, it explodes.
assert.throws(authutil.asCluster, [replTest.nodes, badKeyfile, () => true]);
++expected[mech].ingress.authenticate.total;
++expected[mech].ingress.clusterAuthenticate.total;
++expected[mech].authenticate.received;
++expected[mech].clusterAuthenticate.received;
// we have to re-auth as admin to get stats, which are validated at the end of assertSuccess
assertSuccess({user: "admin", pwd: "pwd"}, "SCRAM-SHA-256", admin);
assertStats();

Some files were not shown because too many files have changed in this diff Show More