active-rpc 1.1.8

Active RPC — capability-based, promise-pipelined, multi-lane RPC for Active Infinity payloads and multi-agent systems
Documentation
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  gates:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy
      - name: Format
        run: cargo fmt --all -- --check
      - name: Clippy (all targets)
        run: cargo clippy --locked --all-targets --all-features -- -D warnings
      - name: Clippy (no default features)
        run: cargo clippy --locked --all-targets --no-default-features -- -D warnings
      - name: Tests
        run: cargo test --locked --all-features
      - name: Tests (no default features)
        run: cargo test --locked --no-default-features
      - name: Documentation
        env:
          # A broken intra-doc link is a documentation defect, not a warning.
          RUSTDOCFLAGS: -D warnings
        run: cargo doc --locked --no-deps --all-features

  msrv:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@1.88.0
      # 1.88 is the floor because the patched `time` (RUSTSEC-2026-0009) and
      # `proptest` 1.12 both require it; see docs/adr/0007-msrv.md.
      - name: MSRV check (every feature, every target)
        run: cargo check --locked --all-targets --all-features
      - name: MSRV check (no default features)
        run: cargo check --locked --all-targets --no-default-features

  package:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - name: Package (the tarball must build on its own)
        run: cargo package --locked

  fuzz:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # A rolling nightly is deliberate: libFuzzer fixes and sanitizer support
      # land there first. The crate graph is pinned by the committed
      # fuzz/Cargo.lock, which cargo-fuzz uses as-is.
      - uses: dtolnay/rust-toolchain@nightly
      - name: Install clang (libFuzzer runtime)
        run: sudo apt-get update && sudo apt-get install -y clang
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz --locked
      - name: Seed the corpus with a well-formed envelope
        run: |

          mkdir -p fuzz/corpus/framing
          printf '415250310101000001000000000000000400000070696e67000000000000000000000000' | xxd -r -p > fuzz/corpus/framing/ping.arp1
      - name: Bounded fuzz campaign
        run: cargo fuzz run framing -- -runs=20000