# .github/workflows/ci.yml — slice-1 CI (spec §6.2). # Gates: fmt --check, clippy -D warnings, test --all, cargo deny check. name: CI on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt - run: cargo fmt --check clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Install libopus (media crate FFI dep) run: sudo apt-get update && sudo apt-get install -y libopus-dev - uses: Swatinem/rust-cache@v2 - run: cargo clippy --all -- -D warnings test: runs-on: ubuntu-latest strategy: matrix: toolchain: [stable, "1.85"] steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.toolchain }} - name: Install libopus (media crate FFI dep) run: sudo apt-get update && sudo apt-get install -y libopus-dev - uses: Swatinem/rust-cache@v2 - run: cargo test --all deny: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - uses: EmbarkStudios/cargo-deny-action@v1 with: command: check