name: ci
on:
push:
pull_request:
schedule: [cron: "40 1 * * *"]
jobs:
test-release-build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
include:
- toolchain: "nightly"
steps:
- name: Setup | Checkout
uses: actions/checkout@v2
- name: Setup | Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: "${{ matrix.toolchain }}"
override: true
- name: Build | Release Mode
uses: actions-rs/cargo@v1
with:
command: build
args: --release
ut-with-default-features:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- toolchain: "nightly"
features: ""
- toolchain: "nightly"
features: "crc64fast-nvme"
steps:
- name: Setup | Checkout
uses: actions/checkout@v2
- name: Setup | Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: "${{ matrix.toolchain }}"
override: true
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --features "${{ matrix.features }}"
env:
RUST_LOG: debug
RUST_BACKTRACE: full
ut-without-default-features:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- toolchain: "nightly"
features: "crc32fast"
- toolchain: "nightly"
features: "crc64fast-nvme"
steps:
- name: Setup | Checkout
uses: actions/checkout@v2
- name: Setup | Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: "${{ matrix.toolchain }}"
override: true
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features "${{ matrix.features }}"
env:
RUST_LOG: debug
RUST_BACKTRACE: full
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1.0.6
with:
components: rustfmt, clippy
- name: Format
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: clippy
shell: bash
run: |
cargo clippy --no-deps --workspace --all-targets -- -D warnings
- name: Build-doc
uses: actions-rs/cargo@v1
with:
command: doc
args: --all --no-deps
env:
RUSTDOCFLAGS: "-D warnings"
- shell: bash
run: cargo install cargo-audit
- name: Audit dependencies
shell: bash
run: cargo audit --db ./target/advisory-db