on: push: branches: - develop pull_request: name: Check Rust code jobs: check: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Install Rust nightly with rustfmt and clippy uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly components: rustfmt, clippy - name: Cache cargo registry and build outputs uses: actions/cache@v2 with: path: | ~/.cargo/registry target key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} - name: Check formatting uses: actions-rs/cargo@v1 with: command: fmt args: -- --check - name: Annotate commit with clippy warnings uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features - name: Run cargo check uses: actions-rs/cargo@v1 with: command: check - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test - name: Run cargo doc uses: actions-rs/cargo@v1 with: command: doc args: --no-deps