on: push: branches: - master - staging - trying pull_request: name: Continuous integration jobs: tests: name: Rust project runs-on: ubuntu-latest strategy: matrix: rust: - "1.70" # minimum stable rust version - stable - beta - nightly steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@v1 with: toolchain: ${{ matrix.rust }} components: rustfmt, clippy - run: cargo build --all-features --all-targets - run: cargo test --all-features - run: cargo fmt --all -- --check - run: cargo clippy --all-features --all-targets -- -D warnings docs: name: Documentation build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@v1 with: toolchain: nightly - name: Build documentation env: # Build the docs like docs.rs builds it RUSTDOCFLAGS: --cfg docsrs run: cargo doc --all-features