profiling 0.1.0

This crate provides a very thin abstraction over other profiler crates.
Documentation
name: CI

on: [push, pull_request]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    strategy:
      matrix:
        toolchain: [stable, beta]
        os: [windows-2019, ubuntu-20.04, macos-10.15]
        exclude:
          - os: macos-10.15
            toolchain: beta
          - os: windows-2019
            toolchain: beta
    runs-on: ${{ matrix.os }}
    needs: clean
    steps:
      - uses: actions/checkout@v2
      - uses: seanmiddleditch/gha-setup-ninja@master
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.toolchain }}
          override: true

      - uses: actions/cache@v2
        with:
          path: |
            target
          key: ${{ runner.os }}-cargo-check-test-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.lock') }}

      - name: Build
        run: cargo check
        env:
          CARGO_INCREMENTAL: 0
          RUSTFLAGS: "-C debuginfo=0 -D warnings"

      - name: Run tests
        run: cargo test --workspace
        if: ${{ runner.os == 'Linux' && matrix.toolchain == 'stable' }}
        env:
          CARGO_INCREMENTAL: 0
          RUSTFLAGS: "-C debuginfo=0 -D warnings"

  deny-check:
    name: cargo-deny
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: EmbarkStudios/cargo-deny-action@v1
        with:
          command: check ${{ matrix.checks }}

  clean:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: rustfmt, clippy
          override: true

      - name: Check the format
        run: cargo fmt --all -- --check

      - name: Run clippy
        run: >
          cargo clippy
          --all-targets
          --all-features
          --
          -D warnings