Documentation
name: Verift

on:
  pull_request:

env:
  CARGO_TERM_COLOR: always

jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
    - name: Run check
      run: cargo check --all-targets
    - name: Build
      run: cargo build
    - name: Run tests
      run: cargo test
    - name: Run Format
      run: cargo fmt --all --check
    - name: Run Clippy
      run: cargo clippy --all-targets --all-features -- -D warnings

  coverage:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true
    - name: Install Tarpaulin
      run: cargo install cargo-tarpaulin
    - name: Create Report
      run: cargo tarpaulin --out Html --fail-under 50
    - uses: actions/upload-artifact@v4
      with:
        name: coverage-report
        path: ./tarpaulin-report.html
        retention-days: 1