leanbridgetree 0.5.0

Space-efficient Merkle tree designed for linear appends with witnessing of marked leaves.
Documentation
name: Rust

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

env:
  CARGO_TERM_COLOR: always

jobs:
  fmt-check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Check code formatting
      run: cargo fmt --check

  clippy-no-std:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Clippy (no_std)
      run: cargo clippy --verbose
    - name: Clippy (no_std + serde)
      run: cargo clippy --verbose --no-default-features --features serde

  clippy-with-tests-and-benches:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Clippy (with tests)
      run: cargo clippy --verbose --tests
    - name: Clippy (with tests + borsh + serde)
      run: cargo clippy --verbose --tests --benches --features borsh,serde

  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Run tests
      run: cargo test --verbose --features borsh,serde

  test-no-std:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Run tests
      run: cargo test --verbose --no-default-features --features serde

  docs:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Generate docs
      run: cargo doc --verbose --features borsh,serde