v3.1.0: zstd go brrrr + direct mode #6
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: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang llvm libelf-dev | |
| - name: Cache dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Check formatting | |
| run: cargo fmt --check | |
| - name: Clippy (core packages) | |
| run: | | |
| cargo clippy -p sush_core -p sush_daemon -p sush_bench -p sush_stream \ | |
| --all-targets -- -D warnings \ | |
| -A clippy::unwrap_used -A clippy::expect_used | |
| - name: Run tests | |
| run: cargo test -p sush_core -p sush_daemon -p sush_bench -p sush_stream | |
| - name: Build release (core) | |
| run: cargo build --release -p sush_core -p sush_daemon -p sush_bench -p sush_stream | |
| build-xdp: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install XDP build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang llvm libelf-dev | |
| - name: Cache dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-xdp-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build sush_xdp (userspace loader) | |
| run: | | |
| # BPF target not available in stable - build.rs creates stub | |
| # This builds the userspace XDP loader which loads precompiled BPF | |
| cargo build -p sush_xdp --release | |
| continue-on-error: true | |
| - name: Clippy sush_xdp | |
| run: | | |
| cargo clippy -p sush_xdp -- -D warnings \ | |
| -A clippy::unwrap_used -A clippy::expect_used | |
| continue-on-error: true |