raindb 1.0.0

A persistent key-value store based on an LSM tree implemented in Rust
Documentation
# Copyright (c) 2021 Google LLC
#
# Use of this source code is governed by an MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT.

name: ci

on:
  push:
    branches: [main]
  pull_request:

jobs:
  tests:
    name: Run tests
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Rust toolchain with rustfmt and clippy
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
      - uses: Swatinem/rust-cache@v1
      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test

  fmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - run: rustup component add rustfmt
      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  clippy:
    name: clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
      - run: rustup component add clippy
      - uses: Swatinem/rust-cache@v1
      - uses: actions-rs/cargo@v1
        with:
          command: clippy

  build-release:
    name: Build release profile
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
      - uses: Swatinem/rust-cache@v1
      - run: cargo build --release