name: Documentation on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: build-api-docs: name: Build API Documentation runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - name: Build API documentation run: cargo doc --workspace --no-deps --all-features env: RUSTDOCFLAGS: --cfg docsrs - name: Run doc tests run: cargo test --doc --workspace continue-on-error: true - name: Upload API docs artifact uses: actions/upload-artifact@v4 with: name: rustdoc path: target/doc retention-days: 7 build-user-guide: name: Build User Guide runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup mdBook uses: peaceiris/actions-mdbook@v2 with: mdbook-version: 'latest' - name: Build mdBook run: mdbook build docs/book continue-on-error: true - name: Upload User Guide uses: actions/upload-artifact@v4 with: name: user-guide path: docs/book/book retention-days: 7 if: success()