name: Rust on: # Trigger the workflow on push or pull request, # but only for the master branch push: branches: - master pull_request: branches: - master release: types: - created jobs: build: runs-on: ubuntu-latest strategy: matrix: version: - 1.54.0 - stable - beta - nightly steps: - uses: actions/checkout@v1 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.version }} profile: minimal - name: Build run: cargo build --verbose - name: Run tests run: cargo test --verbose - name: Build --all-features run: cargo build --verbose --all-features - name: Run tests --all-features run: cargo test --verbose --all-features fmt: name: cargo fmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: dtolnay/rust-toolchain@master with: components: rustfmt toolchain: stable profile: minimal override: true - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: cargo clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: dtolnay/rust-toolchain@master with: components: clippy toolchain: stable profile: minimal override: true - uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings