name: Test & Coverage
on: [pull_request, push]
jobs:
  test_and_coverage:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Libraries
        run: |
          sudo apt-get update -y && sudo apt-get install -y liblapacke-dev libopenblas-dev python3-matplotlib
      - name: Install Rust
        run: |
          rustup toolchain install nightly --component llvm-tools-preview
      - name: Run tests
        run: |
          cargo test -- --nocapture
      - name: Install cargo-llvm-cov
        run: |
          curl -LsSf https://github.com/taiki-e/cargo-llvm-cov/releases/latest/download/cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz | tar xzf - -C ~/.cargo/bin
      - name: Generate code coverage
        run: |
          cargo llvm-cov --all-features --workspace --ignore-filename-regex build.rs --lcov --output-path lcov.info
      - name: Upload to codecov.io
        uses: codecov/codecov-action@v1
        with:
          token: ${{secrets.CODECOV_TOKEN}}
          files: lcov.info
          fail_ci_if_error: true

Add test and cov action
Add test and cov action
