name: CI on: [push, pull_request] jobs: ci: name: ${{ matrix.rust }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] rust: [stable, nightly] steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup Rust toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true components: rustfmt, clippy - name: cargo build uses: actions-rs/cargo@v1 with: command: build - name: cargo test uses: actions-rs/cargo@v1 with: command: test - name: cargo fmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check - name: cargo clippy uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings