Implement library-style particle filter framework with standalone resampling functions #337
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test, Lint, and Build Rust Project | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt install -y pkg-config \ | |
| libhdf5-dev \ | |
| libhdf5-openmpi-dev \ | |
| libnetcdf-dev \ | |
| zlib1g-dev \ | |
| libfreetype6-dev \ | |
| libfontconfig1-dev | |
| # Verify installations (Optional debugging) | |
| pkg-config --modversion hdf5 | |
| pkg-config --modversion fontconfig | |
| - uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: ${{ runner.os }}-cargo- | |
| - name: Format Check | |
| # Fails if code is not formatted | |
| run: cargo fmt --all -- --check | |
| - name: Lint Check | |
| # Fails on any warning | |
| run: cargo clippy --workspace --all-features | |
| - name: Test | |
| run: cargo test --workspace --release --all-features --locked --verbose |