name: Test
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install Linters
run: rustup component add rustfmt clippy
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
- name: Install cbindgen
run: cargo build --features cbindgen
- run: cargo test
- run: cargo fmt --all -- --check
- run: cargo clippy -- -D warnings
- name: Test C++ example
run: |
cd examples
cmake -B build
cmake --build build
./build/main