name: Rust on: push: branches: [ master ] pull_request: branches: [ master ] env: CARGO_TERM_COLOR: always jobs: test: name: cargo test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: dtolnay/rust-toolchain@stable - run: cargo test --all msrv: name: "Check MSRV: 1.82.0" runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: toolchain: 1.82.0 # MSRV - uses: Swatinem/rust-cache@v2 - name: Default features run: cargo test --all rustfmt: name: rustfmt runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-toolchain@nightly with: toolchain: nightly components: rustfmt - uses: Swatinem/rust-cache@v2 - name: Check formatting run: cargo fmt --all -- --check clippy: name: cargo clippy (forbidden methods) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: dtolnay/rust-toolchain@stable # We just use clippy to spot forbidden methods. # We disable the default lint set which has much questionable output. - run: cargo clippy --all -- -A clippy::all -D clippy::disallowed_methods