con-art-rust 0.2.0

A Rust implementation of ART-OLC concurrent adaptive radix tree.
Documentation
name: con-art-rust 

on:
  push:
    branches:
      - main 
  pull_request:
    branches: [ main ]
  schedule:
    - cron:  '0 10 * * 3'

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      name: Setup toolchain
      with:
          toolchain: nightly 
          override: true
          components: rustfmt, clippy
    - uses: actions-rs/cargo@v1
      name: Check 
      with:
          command: clippy 
          args: -- -D warnings
  
  fmt:
    needs: check 
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      name: Setup toolchain
      with:
          toolchain: nightly 
          override: true
          components: rustfmt, clippy
    - uses: actions-rs/cargo@v1
      with:
          command: fmt
          args: --all -- --check
      name: Format check

  test:
    needs: fmt
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      name: Setup toolchain
      with:
          toolchain: nightly
          override: true
    - name: Run cargo-tarpaulin
      uses: actions-rs/tarpaulin@v0.1
      with:
        version: '0.15.0'
        args: '-- --test-threads 1'
    - name: Upload to codecov.io
      uses: codecov/codecov-action@v1
      with:
        files: ./target/tarpaulin/cobertura.xml,./cobertura.xml

    
  sans:
    needs: fmt 
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      name: Setup toolchain
      with:
          toolchain: nightly
          override: true
          components: rust-src
    - run: sudo ln -s /usr/bin/llvm-symbolizer-6.0 /usr/bin/llvm-symbolizer
    - run: >
        env ASAN_OPTIONS="detect_odr_violation=0" RUSTFLAGS="-Z sanitizer=address" 
        cargo test -Zbuild-std --target x86_64-unknown-linux-gnu --lib
    - run: >
        env ASAN_OPTIONS="detect_odr_violation=0" RUSTFLAGS="-Z sanitizer=memory" 
        cargo test -Zbuild-std --target x86_64-unknown-linux-gnu --lib