Implement Serialize and Deserialize for types in the deconvolution mo… #88
This file contains 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: Rust CI | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTFLAGS: -D warnings | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [ stable, beta, nightly ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install HDF5 | |
run: sudo apt-get update && sudo apt-get install -y libhdf5-dev | |
- name: Set up Rust | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- name: Run tests | |
run: cargo test --verbose | |
benchmark: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [ stable, beta, nightly ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install HDF5 | |
run: sudo apt-get update && sudo apt-get install -y libhdf5-dev | |
- name: Set up Rust | |
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- name: Run benchmarks | |
run: cargo bench --profile release --verbose | |
- name: Upload benchmark reports | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: criterion-report-${{ matrix.toolchain }} | |
path: target/criterion/ | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install HDF5 | |
run: sudo apt-get update && sudo apt-get install -y libhdf5-dev | |
- name: Set up Rust | |
run: rustup update stable && rustup default stable | |
- name: Run clippy | |
run: cargo clippy --all-targets --all-features -- -D warnings | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Rust | |
run: rustup update nightly && rustup default nightly | |
- name: Install Rustfmt | |
run: rustup component add rustfmt --toolchain nightly | |
- name: Run fmt | |
run: cargo fmt --all -- --check | |
doc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install HDF5 | |
run: sudo apt-get update && sudo apt-get install -y libhdf5-dev | |
- name: Set up Rust | |
run: rustup update stable && rustup default stable | |
- name: Run doc | |
run: cargo doc --document-private-items --no-deps | |
- name: Upload doc | |
uses: actions/upload-artifact@v4 | |
with: | |
name: doc | |
path: target/doc/ |