Skip to content

Commit 5362c7a

Browse files
Add mumdia_rs Rust build and tests to CI pipeline
- Install Rust toolchain (dtolnay/rust-toolchain@stable) in CI - Build mumdia_rs with maturin develop --release before running tests - Run cargo test for Rust unit tests (14 tests) - Python test_rust_equivalence.py tests now run with mumdia_rs available Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 0c21e00 commit 5362c7a

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,22 @@ jobs:
4141
# Install the package in development mode
4242
pip install -e .
4343
44+
- name: Install Rust toolchain
45+
uses: dtolnay/rust-toolchain@stable
46+
47+
- name: Build and install mumdia_rs (Rust-accelerated functions)
48+
run: |
49+
pip install maturin
50+
cd rust/mumdia_rs && maturin develop --release
51+
4452
- name: Install RustyMS (optional dependency)
4553
run: |
4654
pip install rustyms || echo "RustyMS installation failed, tests will skip RustyMS-dependent functionality"
4755
56+
- name: Run Rust unit tests
57+
run: |
58+
cd rust/mumdia_rs && cargo test
59+
4860
- name: Lint with flake8
4961
run: |
5062
pip install flake8
@@ -96,13 +108,18 @@ jobs:
96108
with:
97109
python-version: '3.11'
98110

111+
- name: Install Rust toolchain
112+
uses: dtolnay/rust-toolchain@stable
113+
99114
- name: Install dependencies
100115
run: |
101116
python -m pip install --upgrade pip
102117
pip install -r test_requirements.txt
103118
pip install -e .
119+
pip install maturin
120+
cd rust/mumdia_rs && maturin develop --release
104121
pip install rustyms || echo "RustyMS optional"
105-
122+
106123
- name: Run performance tests
107124
run: |
108125
python -m pytest tests/ -v -m "performance" --tb=short || echo "Performance tests completed"

0 commit comments

Comments
 (0)