on: [push, pull_request] name: CI jobs: cargo-deny: name: cargo-deny runs-on: ubuntu-latest strategy: matrix: checks: - advisories - bans licenses sources # Prevent sudden announcement of a new advisory from failing ci: continue-on-error: ${{ matrix.checks == 'advisories' }} steps: - uses: actions/checkout@v2 - uses: EmbarkStudios/cargo-deny-action@v1 with: command: check ${{ matrix.checks }} check: needs: [cargo-deny] name: Check runs-on: ubuntu-latest strategy: matrix: rust: - 1.54.0 - stable - beta steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} override: true - name: Run cargo check uses: actions-rs/cargo@v1 with: command: check test: needs: [check] name: Test Suite runs-on: ubuntu-latest strategy: matrix: rust: - 1.54.0 - stable - beta steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install toolchain uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} override: true - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test args: --all --all-features lint: needs: [check] name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: 1.54.0 override: true - run: rustup component add clippy - name: cargo clippy run: cargo clippy --all --all-targets --all-features -- -D warnings