name: Pull Requests
on:
pull_request:
types: [opened, edited, reopened, synchronize]
branches:
- master
jobs:
unit-test:
name: Unit Test with Code Coverage Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Set up the Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
override: true
profile: minimal
- name: Install cargo-make
uses: davidB/rust-cargo-make@v1
with:
version: "latest"
- name: Check for formatting issues
run: cargo make format-check
- name: Check for linting issues
run: cargo make lint
- name: Unit test with code coverage analysis
run: cargo make test-coverage-ci
- name: Upload test coverage report to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
files: lcov.info