Skip to content

ci: add Mbongo CI workflow (fmt, clippy, test, replay, devnet harness) #16

ci: add Mbongo CI workflow (fmt, clippy, test, replay, devnet harness)

ci: add Mbongo CI workflow (fmt, clippy, test, replay, devnet harness) #16

Workflow file for this run

name: Mbongo CI
on:
pull_request:
branches: [dev]
push:
branches: [dev]
env:
CARGO_TERM_COLOR: always
jobs:
# ---------------------------------------------------------
# Fast Checks (run on PR + push)
# ---------------------------------------------------------
checks:
name: Rust Checks (fmt, clippy, test, replay)
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo registry + build
uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt --all -- --check
- name: Clippy (deny warnings)
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Run unit tests
run: cargo test --workspace --all-features --locked
- name: Run replay harness
run: cargo run -p mbongo-node --bin replay_harness
# ---------------------------------------------------------
# Devnet Convergence (run only on push to dev)
# ---------------------------------------------------------
devnet:
name: Devnet Convergence Harness
runs-on: ubuntu-latest
timeout-minutes: 25
needs: checks
if: github.event_name == 'push'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo registry + build
uses: Swatinem/rust-cache@v2
- name: Build workspace
run: cargo build --workspace --locked
- name: Run devnet harness
run: cargo run -p mbongo-node --bin devnet_harness