name: Rust
on:
pull_request:
push:
branches:
- master
jobs:
clippy:
name: Lint with Clippy
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Dwarnings
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
with:
components: clippy
- name: Header
run: rustc -Vv
- name: clippy
run: cargo clippy --verbose --all-targets
test-versions:
name: Test Rust ${{ matrix.rust }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
rust: [stable, beta, nightly]
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
- name: Header
run: rustc -Vv
- name: test
run: cargo test --verbose
code-coverage:
name: Generate code coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hecrj/setup-rust-action@v1
- uses: actions-rs/tarpaulin@v0.1
- name: Upload to codecov.io
uses: codecov/codecov-action@v1