You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All Evergreen CI testing documentation for the Rust extension has been
consolidated into the main README.md in the Rust Extension section.
- Removed .evergreen/RUST_TESTING.md
- Added comprehensive Evergreen CI testing section to README.md
- Includes test configuration, environment variables, execution flow
- Includes troubleshooting guide and instructions for adding new tests
Copy file name to clipboardExpand all lines: README.md
+86Lines changed: 86 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -627,4 +627,90 @@ For implementation details, see the source code at `bson/_rbson/src/lib.rs`. Key
627
627
628
628
**Investigation Complete:** The Rust extension successfully demonstrates that Rust is a viable alternative to C for Python extensions, with the trade-off being development complexity vs. performance. The investigation has identified the exact architectural differences that cause the performance gap and the effort required to close it.
629
629
630
+
### Evergreen CI Testing
631
+
632
+
The Rust BSON extension is automatically tested in Evergreen CI to ensure 100% compatibility with the C extension across all supported platforms and Python versions.
633
+
634
+
#### Test Configuration
635
+
636
+
**Automated Tests run on:**
637
+
638
+
1.**Linux (RHEL 8)** - Primary platform, runs on every PR
639
+
- Python 3.10 on standalone (noauth-nossl) - **PR task**
640
+
- Python 3.12 on replica_set (noauth-ssl)
641
+
- Python 3.14 on sharded_cluster (auth-ssl)
642
+
643
+
2.**macOS ARM64** - Weekly batch
644
+
- Same Python versions and topologies as Linux
645
+
- Important for M1/M2 Mac compatibility
646
+
647
+
3.**Windows** - Weekly batch
648
+
- Same Python versions and topologies as Linux
649
+
- Important for cross-platform compatibility
650
+
651
+
#### Environment Variables
652
+
653
+
The following environment variables control Rust extension building and testing:
654
+
655
+
-`PYMONGO_BUILD_RUST=1` - Build the Rust extension during installation
656
+
-`PYMONGO_USE_RUST=1` - Use the Rust extension for BSON operations
657
+
658
+
These are automatically set by the Evergreen configuration for Rust test tasks.
0 commit comments