on: push: branches: - master - staging - trying pull_request: name: Continuous integration jobs: tests: name: Rust project runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - nightly steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true components: rustfmt, clippy - uses: actions-rs/cargo@v1 with: command: build # --all-targets ensures that we also build the benchmarks and tests already. args: --all-features --all-targets - uses: actions-rs/cargo@v1 with: command: test args: --all-features - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check - uses: actions-rs/cargo@v1 with: command: clippy args: --all-features --all-targets -- -D warnings docs: name: Documentation build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - name: Build documentation env: # Build the docs like docs.rs builds it RUSTDOCFLAGS: --cfg docsrs run: cargo doc --all-features