Skip to content

update dependencies #21

update dependencies

update dependencies #21

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
jobs:
rustfmt:
name: Job rustfmt
runs-on: ubuntu-latest
steps:
- name: Install toolchain with rustfmt
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
- uses: actions/checkout@v2
- name: Run rustfmt
run: cargo fmt --all -- --check
audit:
name: Job audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run audit
uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
clippy:
name: Job clippy
needs: rustfmt
runs-on: ubuntu-latest
steps:
- name: Install toolchain with clippy
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
- uses: actions/checkout@v2
- name: Run clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features ---all-targets -- --deny warnings -A clippy::unknown-clippy-lints
tests:
name: Job tests
needs: clippy
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
rust_channel: [stable, nightly]
runs-on: ${{ matrix.os }}
steps:
- name: Install toolchain ${{ matrix.rust_channel }} on ${{ matrix.os }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust_channel }}
- uses: actions/checkout@v2
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features
code-coverage:
name: Job code coverage
needs: tests
runs-on: ubuntu-latest
steps:
- name: Intall toolchain nightly on ubuntu-latest
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- uses: actions/checkout@v2
- name: Download and unpack grcov
run: curl -L "$URL" | tar jxf -
env:
URL: 'https://github.com/mozilla/grcov/releases/latest/download/grcov-linux-x86_64.tar.bz2'
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features
env:
CARGO_INCREMENTAL: '0'
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
- name: Convert gcno and gcda files into lcov
run: ./grcov --llvm target/debug -s . -t lcov -o lcov.info --ignore-not-existing --ignore "tests/*" --ignore "examples/*" --ignore "/*" --excl-line "(^ *#\[|#\[from\])"
- name: Upload coverage
uses: codecov/codecov-action@v1
with:
file: lcov.info