name: Main
on: [push, pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-all-features
- run: cargo check-all-features
- run: cargo check-all-features --release
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-all-features
- run: cargo build-all-features
- run: cargo build-all-features --release
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-all-features
- run: cargo test-all-features
- run: cargo test-all-features --release
check_readme:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-readme
- run: cargo readme > README.test.md
- run: diff README.md README.test.md
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: rustup component add clippy
- run: cargo clippy -- -D warnings
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: rustup component add rustfmt
- run: cargo fmt --check
deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-deny
- run: cargo deny check
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-audit
- run: cargo audit
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: cargo install cargo-tarpaulin
- run: cargo tarpaulin --coveralls "$COVERALLS_API_KEY"
env:
COVERALLS_API_KEY: ${{ secrets.COVERALLS_API_KEY }}