name: CI
on:
push: { branches: ['master', 'try**'] }
pull_request: { branches: ['**'] }
jobs:
ci:
runs-on: ubuntu-latest
env: { CARGO_TERM_COLOR: always }
continue-on-error: ${{ matrix.rust == 'nightly' }}
strategy:
fail-fast: false
matrix:
rust: [stable, nightly]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install ${{ matrix.rust }}
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
components: rustfmt, clippy
- name: Check
id: check
run: cargo check
- name: Clippy
if: always() && steps.check.outcome == 'success'
run: cargo clippy -- -D warnings
- name: Rustfmt
if: always() && steps.check.outcome == 'success'
run: cargo fmt -- --check
- name: Test
if: always() && steps.check.outcome == 'success'
run: cargo test