lsm 0.4.1

An implementation of log-structured merge trees in pure Rust
Documentation
name: CI

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Install rustc and clippy nightly
      uses: dtolnay/rust-toolchain@stable
      with:
         toolchain: nightly
         components: cargo, rustc, clippy, rustfmt
    - name: Install Just
      uses: taiki-e/install-action@v2
      with:
        tool: just
    - name: "Test: Async"
      run: just async-tests
      timeout-minutes: 10
    - name: "Test: Async I/O"
      run: just async-io-tests
    - name: "Tests: Sync"
      run: just sync-tests
      timeout-minutes: 10
    - name: "Tests: No compression"
      run: just no-compression-tests
      timeout-minutes: 10
    - name: "Tests: Wisckey"
      run: just wisckey-tests
    - name: "Tests: Wisckey with no compression"
      run: just wisckey-no-compression-tests
      timeout-minutes: 10
    - name: "Tests: Sync Wisckey"
      run: just wisckey-sync-tests
      timeout-minutes: 10
    - name: "Lint Checks: Async"
      run: just async-lint
    - name: "Lint Checks: Async I/O"
      run: just async-io-lint
    - name: "Lint Checks: Sync"
      run: just sync-lint
    - name: "Lint Checks: Wisckey"
      run: just wisckey-lint
    - name: "Lint Checks: Wisckey with no comrpession"
      run: just wisckey-lint
    - name: "Lint Checks: Wisckey and Async I/O"
      run: just async-io-wisckey-lint
    - name: "Formatting Checks"
      run: just check-formatting
    # Does not work well as some dependencies only used by certain features
    #- name: Check for unused dependencies
    #  run: |
    #     cargo install cargo-udeps
    #     just udeps