name: Test on: push: pull_request: env: CARGO_TERM_COLOR: always RUST_BACKTRACE: 1 RUSTFLAGS: '-D warnings' jobs: build: name: Build & test runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable - name: Build & test run: | cargo build --lib cargo test clippy: name: Lint with clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable - run: cargo clippy --no-deps --all-targets -- -A unknown_lints -D clippy::todo rustfmt: name: Check code formatting runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@nightly with: components: rustfmt - run: cargo +nightly fmt --all -- --check cargo-doc: name: Generate documentation runs-on: ubuntu-latest env: RUSTDOCFLAGS: '-D warnings' steps: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable - run: cargo doc --no-deps test-libbpf-rs: # check that libbpf-rs, one of the main consumers of the library, works with # this version name: Test libbpf-rs integration runs-on: ubuntu-latest # This test is just informative; certain failures *may* be expected. continue-on-error: true steps: - name: Checkout repository uses: actions/checkout@v7 - name: Checkout libbpf-rs uses: actions/checkout@v7 with: repository: libbpf/libbpf-rs path: libbpf-rs - name: Install development dependencies run: sudo apt-get update -y && sudo apt-get install -y gcc-multilib libelf-dev zlib1g-dev - name: Build libbpf-rs run: | dir=$(pwd) cd libbpf-rs # Patch the vmlinux.h version in use. cat >> Cargo.toml <