data-pile 0.6.1

A simple and fast append-only data store
Documentation
name: Tests

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  test:
    name: Test
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    env:
      CARGO_INCREMENTAL: 0

    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Run tests
        uses: actions-rs/cargo@v1
        env:
            RUST_BACKTRACE: 1
        with:
          command: test
      
      - name: Compile benchmarks
        uses: actions-rs/cargo@v1
        with:
          command: bench
          args: --bench put_get --features with-bench --no-run

  lint:
    name: Run lints
    runs-on: ubuntu-latest

    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install Rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          components: rustfmt, clippy
          override: true

      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        continue-on-error: false
        with:
          command: fmt
          args: --all -- --check

      - name: Run cargo clippy
        uses: actions-rs/cargo@v1
        continue-on-error: false
        with:
          command: clippy

  coverage:
    name: Check test coverage
    runs-on: ubuntu-latest
    container:
      image: xd009642/tarpaulin:latest
      options: --security-opt seccomp=unconfined

    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Check test coverage
        run: cargo tarpaulin --out Xml --ignore-tests

      - name: Upload coverage results
        uses: codecov/codecov-action@v1