Skip to content

docs: comprehensive README and documentation overhaul for onboarding and clarity (#170) #306

docs: comprehensive README and documentation overhaul for onboarding and clarity (#170)

docs: comprehensive README and documentation overhaul for onboarding and clarity (#170) #306

Workflow file for this run

---
name: CI
on:
push:
branches: [main]
paths-ignore:
- 'crates/yip-bench/RESULTS.md'
- 'crates/yip-bench/wan/results/**'
- 'assets/**'
- '**.md'
- 'docs/**'
pull_request:
paths-ignore:
- 'crates/yip-bench/RESULTS.md'
- 'crates/yip-bench/wan/results/**'
- 'assets/**'
- '**.md'
- 'docs/**'
workflow_dispatch:
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-D warnings"
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- name: Install build prerequisites (BoringSSL needs cmake + libclang)
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends cmake clang libclang-dev pkg-config
- name: Format check
run: cargo fmt --all -- --check
- name: Verify benchmark graphs and wire-format diagram are up-to-date
run: |
python3 crates/yip-bench/generate-graphs.py --check
python3 crates/yip-bench/generate-wire-format.py --check
- name: Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Build
run: cargo build --workspace
- name: Test
# This job runs as root in a container without netns/`ip` tooling, so the
# root-gated netns/netem integration tests must skip here (they have
# dedicated privileged jobs in integration.yml). YIP_SKIP_PRIVILEGED_TESTS
# forces them to skip; it is unset in the privileged jobs and locally.
env:
YIP_SKIP_PRIVILEGED_TESTS: "1"
run: cargo test --workspace
shear:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
# taiki-e/install-action is not mirrored on this Forgejo instance; install
# the tool directly instead of via the composite action.
- name: Install cargo-shear
run: cargo install cargo-shear --locked
- name: Unused dependencies
run: cargo shear
deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
# EmbarkStudios/cargo-deny-action is not mirrored on this Forgejo instance;
# install and run cargo-deny directly (same default `cargo deny check`).
- name: Install cargo-deny
run: cargo install cargo-deny --locked
- name: License + advisory check
run: cargo deny check