anchor-chain 0.4.2

A statically typed async framework for building LLM-based applications.
Documentation
name: Rust Build
on: [push, pull_request]
env:
  CARGO_TERM_COLOR: always
permissions:
  contents: write
jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - name: Run tests
        run: cargo test --verbose
  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - uses: Swatinem/rust-cache@v2
      - name: Check formatting
        run: cargo fmt -- --check
  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2
      - name: Lint with Clippy
        run: cargo clippy --all-targets --all-features -- -D warnings
  cargo-audit:
    name: Cargo Audit
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - name: Install cargo-audit
        run: cargo install cargo-audit
      - name: Run cargo audit
        run: cargo audit
  generate-and-deploy-docs:
    name: Generate and Deploy Docs
    runs-on: ubuntu-latest
    needs: [test, fmt, clippy, cargo-audit]
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rust-docs
      - uses: Swatinem/rust-cache@v2
      - name: Generate Documentation
        run: cargo doc --no-deps
      - name: Deploy to GitHub Pages
        uses: JamesIves/github-pages-deploy-action@v4.5.0
        with:
          branch: gh-pages
          folder: target/doc