structured 0.5.1

Data structures to handle large, structured data.
Documentation
name: CI

on: [push, pull_request]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
    - name: Install Rust
      uses: hecrj/setup-rust-action@v1
      with:
        rust-version: stable
    - uses: actions/checkout@master
    - name: Check formatting
      run: cargo fmt -- --check
    - name: Clippy
      run: cargo clippy -- -D warnings -W clippy::pedantic

  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macOS-latest]
        rust: [stable, 1.52]
    steps:
    - name: Install Rust
      uses: hecrj/setup-rust-action@v1
      with:
        rust-version: ${{ matrix.rust }}
    - uses: actions/checkout@master
    - name: Install Tarpaulin
      if: matrix.os == 'ubuntu-latest' && matrix.rust == 'stable'
      run: cargo install cargo-tarpaulin
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose
    - name: Generate coverage report
      if: matrix.os == 'ubuntu-latest' && matrix.rust == 'stable'
      run: cargo tarpaulin --out Xml
    - name: Upload coverage to Codecov
      if: matrix.os == 'ubuntu-latest' && matrix.rust == 'stable'
      uses: codecov/codecov-action@master
      with:
        token: ${{secrets.CODECOV_TOKEN}}