name: Pull Request
on: [pull_request]
jobs:
test:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Run Tests
run: make test
format:
name: Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt
- name: Check Formatting
run: make check-fmt
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Check Linting
run: make lint
coverage:
name: Coverage
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- uses: taiki-e/install-action@v2
with:
tool: cargo-tarpaulin
- name: Generate coverage
run: cargo tarpaulin --out Lcov --engine llvm
- name: Upload to Codecov
uses: codecov/codecov-action@v4.0.1
with:
file: ./lcov.info
token: ${{ secrets.CODECOV_TOKEN }}