Contributing
Setup
git clone https://github.com/ewels/FastQC-Rust.git
cd FastQC-Rust
cargo build --release
cargo test Equivalence tests
Compares Rust output against stored Java FastQC reference data. Requires uv.
cargo build --release
uv run tests/equivalence/compare.py --binary ./target/release/fastqc
Writes an HTML report to tests/equivalence/reports/equivalence_report.html.
Code quality
cargo clippy --all-targets -- -D warnings # Lint
cargo fmt --check # Format check
cargo test # Unit + integration tests Updating reference data
When the tracked upstream version changes:
- Update version in
UPSTREAM.toml,Cargo.toml,src/lib.rs - Run Java FastQC via Docker to generate new reference output
- Regenerate SVG patch files
- Run equivalence tests to verify
Issues
Bugs and feature requests: GitHub Issues.