name: Rust on: push: branches: [ master ] pull_request: branches: [ master ] env: CARGO_TERM_COLOR: always jobs: ci: runs-on: ${{ matrix.os }} strategy: matrix: rust: - stable - beta - nightly os: - ubuntu-latest - windows-latest - macos-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true components: rustfmt, clippy - uses: actions-rs/cargo@v1 with: command: build args: --features all --verbose - uses: actions-rs/cargo@v1 with: command: test args: --features all --verbose - uses: actions-rs/cargo@v1 if: ${{ matrix.rust == 'nightly' && matrix.os == 'ubuntu-latest' }} with: command: fmt args: --verbose --all -- --check - uses: actions-rs/cargo@v1 with: command: clippy args: --features all -- -D warnings