endpoint-libs 2.1.3

Launch MCP services fast: describe endpoints once in RON, and endpoint-gen generates the Rust models, docs and MCP tool schemas that this crate serves over WebSocket RPC, with roles and typed errors built in.
Documentation
name: Rust

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build-test-all-features:
    runs-on: ubicloud-standard-8
    permissions:
      contents: write
      pull-requests: write
      actions: read
      checks: write
      repository-projects: write

    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - uses: Swatinem/rust-cache@v2
      with:
        cache-on-failure: "true"

    - name: Install Rust
      uses: actions-rs/toolchain@v1
      with:
          toolchain: stable
          profile: minimal
          override: true

    - name: Install cargo-all-features
      run: cargo install cargo-all-features

    - name: Run tests for all feature combinations
      # This command builds/tests all combinations sequentially
      run: cargo all-features test -- --verbose


  clippy_check:

    runs-on: ubicloud-standard-8
    permissions:
      contents: write
      pull-requests: write
      actions: read
      checks: write
      repository-projects: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: "true"

      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
            toolchain: stable
            profile: minimal
            components: clippy
            override: true
      - name: Install cargo-all-features
        run: cargo install cargo-all-features

      - name: Clippy check all feature combinations
        run: cargo all-features clippy --all-targets -- -D warnings

  format_check:

    runs-on: ubicloud-standard-8
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: "true"

      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
            toolchain: stable
            profile: minimal
            components: rustfmt
            override: true
            
      - name: Check formatting
        run: cargo fmt --all -- --check

  security_audit:
    runs-on: ubicloud-standard-2
    permissions:
      contents: read
      # audit-check reports its findings as a check run; without this the
      # report API call fails with "Resource not accessible by integration"
      # and the job errors even when no vulnerabilities are found.
      checks: write
    steps:
      - uses: actions/checkout@v4
      - uses: rustsec/audit-check@v2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          # quick-xml DoS advisories: the fix requires quick-xml >=0.41, but the
          # dev-dependency-only chain cert-provider -> rust-s3/aws-creds pins
          # ^0.38. Re-evaluate when upstream releases with a newer quick-xml.
          ignore: RUSTSEC-2026-0194,RUSTSEC-2026-0195