Skip to content

docs(changelog): record dependency update merges (#136–#139) #438

docs(changelog): record dependency update merges (#136–#139)

docs(changelog): record dependency update merges (#136–#139) #438

Workflow file for this run

name: Rust CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
test:
name: Test Suite
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
rust: [stable, beta]
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
with:
toolchain: ${{ matrix.rust }}
- name: Cache cargo registry
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Run tests (all features)
run: cargo test --verbose --all-features
- name: Run tests (default features)
run: cargo test --verbose
- name: Run doc tests
run: cargo test --doc --verbose
feature-tests:
name: Feature Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- name: Test hilbert feature
run: cargo test --verbose --features hilbert
- name: Test container_v2 feature
run: cargo test --verbose --features container_v2
- name: Test gis_geojson feature
run: cargo test --verbose --features gis_geojson
- name: Test pathfinding feature
run: cargo test --verbose --features pathfinding
- name: Test combined features
run: cargo test --verbose --features "hilbert,container_v2,gis_geojson,pathfinding"
gpu-feature-tests:
name: GPU Feature Tests
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
feature: gpu-metal
- os: ubuntu-latest
feature: gpu-vulkan
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- name: Run GPU backend tests
env:
GPU_FEATURE: ${{ matrix.feature }}
run: |
cargo test --verbose --features "$GPU_FEATURE" performance::gpu:: -- --nocapture
- name: Build ${{ matrix.feature }} feature
run: cargo build --verbose --features ${{ matrix.feature }}
examples:
name: Example Compilation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- name: Build occupancy_fusion example
run: cargo build --example occupancy_fusion --verbose
- name: Build advanced_occupancy example
run: cargo build --example advanced_occupancy --verbose --all-features
- name: Build esdf_path_planning example
run: cargo build --example esdf_path_planning --verbose
- name: Build exploration_primitives example
run: cargo build --example exploration_primitives --verbose
- name: Build tsdf_reconstruction example
run: cargo build --example tsdf_reconstruction --verbose
- name: Build mesh_reconstruction example
run: cargo build --example mesh_reconstruction --verbose
- name: Build all examples
run: cargo build --examples --verbose
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
with:
components: clippy
- name: Run clippy
run: cargo clippy --all-features --lib --bins -- -D warnings -A unused_imports -A dead_code
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --all -- --check
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- name: Build documentation
run: cargo doc --no-deps --all-features
env:
RUSTDOCFLAGS: -D warnings
audit:
name: Rust Security Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- name: Install cargo-audit
run: cargo install cargo-audit
- name: Run security audit
run: cargo audit
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- name: Build (debug)
run: cargo build --verbose
- name: Build (release)
run: cargo build --release --verbose
- name: Build with all features
run: cargo build --release --verbose --all-features
msrv:
name: Minimum Supported Rust Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Install Rust 1.77
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
with:
toolchain: 1.77.0
- name: Check with MSRV
run: cargo check --all-features