name: CI on: push: branches: - main pull_request: types: [opened, repoened, synchronize] jobs: test: name: Test Rust ${{matrix.toolchain}} on ${{matrix.os}} runs-on: ${{matrix.os}}-latest strategy: fail-fast: false matrix: toolchain: [stable, nightly] os: [ubuntu] steps: - uses: actions/checkout@main - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: ${{matrix.toolchain}} override: true - name: Test uses: actions-rs/cargo@v1 with: command: test clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@main - name: Install minimal stable with clippy uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: clippy override: true - name: Clippy uses: actions-rs/cargo@v1 with: command: clippy args: --all -- -D clippy::all -D warnings rustfmt: name: rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@main - name: Install minimal stable with rustfmt uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: rustfmt override: true - name: rustfmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check