name: Build
on:
- push
- pull_request
jobs:
build:
strategy:
matrix:
os: ['ubuntu-latest', 'ubuntu-22.04']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@master
with:
submodules: recursive
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
components: clippy, rustfmt
- name: Cache rust
uses: Swatinem/rust-cache@v2
- name: Setup system dependencies
run: |-
sudo apt update &&\
sudo apt install --no-install-recommends -y libelf-dev clang llvm libpcap-dev gcc-multilib
- name: Test
run: cargo test
- name: Build
run: cargo build --release
- name: Packaging test
run: cargo package
- name: Test docs.rs build
run: |-
cargo clean
DOCS_RS=1 cargo rustc -- --cfg docsrs